ZixiPay Merchant API Version 2

Merchant integration and payment acceptance

ZixiPay Merchant API alllows accepting crypto payments with an automated payment notification callback function. Merchant API could be integrated and utilized in all kind of use cases such as invoice payments, wallet services, e-commerce, exchange services, etc.

Merchant Settings

How to set up and activate the ZixiPay Merchant API:

API Endpoints

Merchant API Endpoints

getpaymentwallet

POST /apiv2/getpaymentwallet

Get payment wallet address. This endpoint returns a new wallet address everytime it is called.

Parameters:

Name Type Mandatory Description
currency string YES Any of the supported currencies (USDZ, EURZ, LTC, BTC, ETH or USDT)
ref string YES A reference tag to this payment wallet (depeneding on the usage this could be an invoice number, account number, userid, username, email address or any other kind of unique reference in your platform)
uid string YES ZixiPay User ID
ts number YES Unix time
sig string YES HMAC-SHA256 signature

Response:

{
  "result":"ok",
  "payload":[
    {
      "name":"Tether TRC20",   // wallet name
      "code":"USDT",          // currency symbol
      "address":"TH53ejapLDKDFxxqP2RREfxCNtW26gFKeb", // wallet address
      "qr-code":"https://qrg.zixipay.com/api/qr.php?data=TH53ejapLDKDFxxqP2RREfxCNtW26gFKeb", // QR-Code of the address
      "confirm":20             // number of confirmations required
    },
    {
      "name":"Tether ERC20",
      "code":"USDT",
      "address":"0x0ed8991afc868c45ffbcd4afdf7ebc273cf38ed2",
      "qr-code":"https://qrg.zixipay.com/api/qr.php?data=0x0ed8991afc868c45ffbcd4afdf7ebc273cf38ed2",
      "confirm":3
    },
    {
      "name":"Tether OMNI",
      "code":"USDT",
      "address":"1PkYiGCF3zVif5vm1ogXYuvtGaK3p7qLgK",
      "qr-code":"https://qrg.zixipay.com/api/qr.php?data=1PkYiGCF3zVif5vm1ogXYuvtGaK3p7qLgK",
      "confirm":1
    }
  ]
}

IMPORTANT: Calls to this endpoint with the same ref tag would return the same wallet address. This is useful when you need to have persistant wallet address for each client/account in your platform.

QR-Code: Calls to this endpoint returns a URL for the qr-code of the wallet address which could be easily used in the <img> HTML tag as its src.


IPN Callback Parameters

If the IPN Callback URL is set in the Merchant settings, upon receiving funds in any of the wallet addresses generated by the getpaymentwallet endpoint, an HTTPS POST will be made to the Callback URL with the following parameters:

Parameters:

Name Type Description
ref string Reference tag to this payment wallet
wallet string Receiving wallet address that has been generated using getpaymentwallet API endpoint.
amount number amount of the incoming payment
fee number the processing fee that has been charged for auto-exhange, callback, both or will be zero if no fees has been charged
currency string Any of the supported currencies (USDZ, EURZ, LTC, BTC, ETH or USDT)
exchange* boolean 0: if auto-echange to USDZ has NOT been done.
1: if auto-exchange to USDZ has been done.
xamount* number actual incoming payment amount if auto-exchange to USDZ has been done, null otherwise.
xcurrency* string actual incoming currency if auto-exchange to USDZ has been done, null otherwise.
xrate* number applied exchange rate if auto-exchange to USDZ has been done, null otherwise.
txid string blockchain transaction id
zxid string ZixiPay transaction id
time number Transaction time (Unix time)
sig string HMAC-SHA256 signature (will be null if IPN callback hash key has not been set in the Merchant Settings)

* exchange, xamount, xcurrency and xrate are used when Automatic exchange to USDZ is activated in the Merchant Settings.

IMPORTANT: If the receiving end is behind a firewall, ZixiPay’s IP address (185.17.146.83) and TCP port 443 needs to be permitted to pass through.

IMPORTANT: Callback is HTTPS only, so SSL needs to be enabled and valid on the receiving end.