[go: up one dir, main page]

0% found this document useful (0 votes)
51 views38 pages

Merchant Endpoints - Payout API Reference - Zota

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views38 pages

Merchant Endpoints - Payout API Reference - Zota

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.

1/#merchant-endpoints

MG Payout Api v1.1

• Introduction
• Zota MG Payout API enables Zota merchants to:
• Payout Flow
• Authentication
• Merchant Endpoints
• Payout Request
◦ Context
◦ Issue a Payout Request
◦ Payout Form Integration
◦ Signature
• Order Status Request
◦ Context
◦ Issue an Order Status Request
◦ Signature
• Order Completion
◦ Context
◦ Callback Notification
◦ Signature
• Orders Report
◦ Context
◦ Issue an Orders Report Request
◦ Signature
• Exchange Rates
◦ Context
◦ Issue an Exchange Rates Request
◦ Signature
• Error Codes
◦ Context
◦ Response Codes
• Signature Helper
• Common Resources
◦ Order Statuses
◦ Currency Codes
◦ Country Codes
◦ Callback IPs

Introduction

1 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Zota MG Payout API enables Zota merchants to:

• Accept payout / withdrawal requests from their customers.


• Query for a transaction status on-demand.
• Get real-time updates for any event related to a payout process.

API Changelog
v1.1

Parameter Changes

customerCountryCode Added as mandatory parameter.

customerEmail Parameter became mandatory.

customerEmail Added validation.

customerBankRoutingNumber Increased max length constraint.

Before You Begin


In order to use this API, a merchant must first receive from Zota the following:

Name Description

MerchantID A merchant unique identifier, used for identification.

MerchantSecretKey A secret key to keep privately and securely, used for authentication.

EndpointID One or more unique endpoint identifiers to use in API requests.

API URL

URL Description

https://api.zotapay-sandbox.com Sandbox environment, used for integration and testing purposes.

https://api.zotapay.com or https://mg-api.zotapay.com Live environment.

2 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

 Zota will provide a separate set of credentials, endpoints, and other resources for each of the environments.

Payout Flow

Payout Integration
The merchant must initiate the transaction by sending an HTTP POST Payout Request to the specified endpoint URL.

If the request format is correct, Zota's response to this request will contain the parameter orderID , which represents the order
number assigned by Zota system to that specific payout order.

For more information on the request and response formats for payouts, please refer to the sections below.

Merchant may issue Order Status Requests to retrieve the transaction status.

After the transaction has been successfully processed, Zota server will initiate a final HTTP POST request to the callbackUrl
specified by the merchant in the Payout Request .

This request will include the transaction final status, along with detailed information about the order.

Payout Form Integration


The merchant must initiate the transaction by sending an HTTP POST Payout Request to the specified endpoint URL.

If the request format is correct, Zota's response to this request will contain the parameter orderID , which represents the order
number assigned by Zota system to that specific payout order alongside the parameter payoutURL , which contains the url of the
payout form to be filled out by the end-user.

The merchant server must redirect the waiting end-user to the payoutUrl via HTTP 302 redirection.

The end-user fills out the payout form and submits it.

For more information on the request and response formats for payouts, please refer to the sections below.

Merchant may issue Order Status Requests to retrieve the transaction status.

After the transaction has been successfully processed, Zota server will initiate a final HTTP POST request to the callbackUrl
specified by the merchant in the Payout Request .

This request will include the transaction final status, along with detailed information about the order.

 Providing a callbackUrl is optional, but we highly recommend implementing both callback handler and Order Status
Request polling mechanism to ensure the best experience for the end-user, and to guarantee system consistency.

Please refer to the sections below for detailed information regarding of the steps above.

3 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Authentication

In order for Zota server to trust a merchant server, every request should be authenticated.

The authentication process is done using a SHA-256 checksum on critical request parameters, aka signature.

Under each of the sections below you'll find the appropriate Signature section that explains how to generate (or verify) a signature
for a specific case.

Example of a SHA-256 signature: b549bdaa4b7ae8d779bdd796190e93f487b2690e7609c5869c4793900cf24a3c

 In some cases (e.g Payout Request ) merchant server has the responsibility of signing a request, while in other cases (e.g
callback ) Zota server is the one to sign the request, which in such case merchant server should verify the signature by re-
creating it from the same values, and by matching the result with the received signature.

 Remember

Always use lower-case strings for signature values,

Good: 75da827e20d1687...
Bad: 75DA827E20D1687...

Merchants may find this tool very helpful for signature testing and debugging, with a dedicated section for each of the signing use-
cases.

Merchant Endpoints

The EndpointID represents the API destination that each payout request must be submitted to. By design, each endpoint supports
only one specific currency.

Once your merchant application is approved by Zota, you will be provided with a full list of endpoints for your account, specific to
the solution(s) requested.

 Submitting a request to an incorrect or invalid endpoint, or submitting an incorrect orderCurrency parameter for a given
endpoint will result in an error in the request.

Payout Request

Context
The payout flow begins when a request to disburse funds is either initiated directly by the merchant server or triggered by the end-

4 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

user through the merchant's website.

The merchant server should then send a signed Payout Request to the Zota server and either expect a response via Callback or
poll for status using Order Status Requests .

 If the request is a `Payout Form Request`, the merchant server should hold the user in a 'loading' screen until a
`payoutUrl` is obtained from the Zota server response for redirection.

Issue a Payout Request


Initiates the payout process.

HTTP REQUEST

POST /api/v1/payout/request/EndpointID/

Content-Type: application/json

Merchant -> Zota

REQUEST PARAMETERS

Payout Request example

curl -X POST \
"https://api.zotapay.com/api/v1/payout/request/1050/" \
-H "Content-Type: application/json" \
-d '{
"merchantOrderID": "TbbQzewLWwDW6goc",
"merchantOrderDesc": "Test order",
"orderAmount": "500.00",
"orderCurrency": "THB",
"customerEmail": "customer@email-address.com",
"customerFirstName": "John",
"customerLastName": "Doe",
"customerCountryCode": "TH",
"customerPhone": "+66-77999110",
"customerIP": "103.106.8.104",
"callbackUrl": "https://www.example-merchant.com/payout-callback/",
"customerBankCode": "BBL",
"customerBankAccountNumber": "100200",
"customerBankAccountName": "John Doe",
"customerBankBranch": "Bank Branch",
"customerBankAddress": "Thong Nai Pan Noi Beach, Baan Tai, Koh Phangan",
"customerBankZipCode": "84280",
"customerBankProvince": "Bank Province",
"customerBankArea": "Bank Area / City",
"customerBankRoutingNumber": "000",
"customParam": "{\"UserId\": \"e139b447\"}",
"checkoutUrl": "https://www.example-merchant.com/account/withdrawal/?uid=e139b447",
"signature": "d04ccb6a14d2c9e6f566766b8158bc4dd5ab6c3bb964a446da92aa61b882d88b"
}'

Max.
Name Description Required
Length

merchantOrderID 128 Merchant-defined unique order identifier Yes

5 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Max.
Name Description Required
Length

merchantOrderDesc 128 Brief order description Yes

Amount to be charged, must be specified with delimiter, e.g.


orderAmount 24 Yes
1.50 for USD is 1 dollar and 50 cents

Currency to be charged in, three-letter ISO 4217 currency


orderCurrency 3 Yes
code. See Currency Codes for a full list of currency codes.

customerEmail 50 End user email address Yes

customerFirstName 128 End user first name Conditional

customerLastName 128 End user last name Conditional

End user country, two-letter ISO 3166-1 Alpha-2 country code.


customerCountryCode 2 Yes
see Country Codes for a full list of country codes.

End user full international telephone number, including country


customerPhone 15 Conditional
code

customerIP 64 End user IPv4/IPv6 address Conditional

customerPersonalID 20 End user personal ID number Conditional

customerBankCode 16 End user bank code Yes

customerBankAccountNumber 64 End user bank account number Yes

customerBankAccountNumberDigit 2 End user bank account number control digit Conditional

customerBankAccountType 12 End user bank account type, either checking or savings Conditional

customerBankSwiftCode 35 End user bank swift code Conditional

customerBankAccountName 128 End user bank account name Yes

customerBankBranch 128 End user bank branch name Conditional

customerBankBranchDigit 2 End user bank branch control digit Conditional

customerBankAddress 128 End user bank address Conditional

customerBankZipCode 15 End user bank postal code Conditional

Routing number used to identify specific bank branches in


customerBankRoutingNumber 64 Conditional
China

customerBankProvince 64 End user bank province No

customerBankArea 64 End user bank area / city No

URL the order status will be sent to, see Callback section
callbackUrl 255 No
below for more details

6 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Max.
Name Description Required
Length

customParam 128 Merchant-defined optional custom parameter No

Request checksum encrypted with SHA-256 , see Signature


signature 64 Yes
section below for more details

A successful response from Zota server to the example request above:

{
"code": "200",
"data": {
"merchantOrderID": "TbbQzewLWwDW6goc",
"orderID": "beb3e2e1cf59b0d275984ceaf58cd7f7b4b5b09a"
}
}

A non-successful response from Zota server to the example request above:

{
"code": "401",
"message": "unauthorized"
}

Or alternatively

{
"code": "400",
"message": "endpoint currency mismatch"
}

See Error Codes for a full list of codes.

HTTP RESPONSE

Content-Type: application/json

Zota -> Merchant

Name Description

code A status code representing the acceptance of the request by Zota server.

message When code is other than 200 , this parameter may hold information about the reason / error.

When code is 200 , this parameter will include the following fields: merchantOrderID and orderID . Please see the
data
table below for detailed information regarding these fields.

THE DATA RESPONSE PARAMETER

Field Description

merchantOrderID Merchants' order unique identifier, provided in the original Payout Request or Payout Form Request .

orderID Order unique identifier generated by Zota, should be then used for Order Status Requests .

7 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Payout Form Integration


In case the merchant does not have or wishes to collect payout recipient information directly from the end-user, the request
parameters should be sent as follows:

Max.
Name Description Required
Length

merchantOrderID 128 Merchant-defined unique order identifier Yes

merchantOrderDesc 128 Brief order description Yes

Amount to be charged, must be specified with delimiter, e.g. 1.50 for


orderAmount 24 Yes
USD is 1 dollar and 50 cents

Currency to be charged in, three-letter ISO 4217 currency code. See


orderCurrency 3 Yes
Currency Codes for a full list of currency codes.

customerEmail 50 End user email address Yes

customerFirstName 128 End user first name Conditional

customerLastName 128 End user last name Conditional

End user country, two-letter ISO 3166-1 Alpha-2 country code. see
customerCountryCode 2 Yes
Country Codes for a full list of country codes.

customerPhone 15 End user full international telephone number, including country code Conditional

customerIP 64 End user IPv4/IPv6 address Conditional

End user bank code


customerBankCode 16 Parameter may not be empty; send "none" to display field in payout Conditional
form

End user bank account number


customerBankAccountNumber 64 Parameter may not be empty; send "none" to display field in payout Yes
form

End user bank account name


customerBankAccountName 128 Parameter may not be empty; send "none" to display field in payout Yes
form

customerBankBranch 128 End user bank branch name Conditional

customerBankAddress 128 End user bank address Conditional

customerBankZipCode 15 End user bank postal code Conditional

customerBankRoutingNumber 64 Routing number used to identify specific bank branches in China Conditional

customerBankProvince 64 End user bank province Conditional

customerBankArea 64 End user bank area / city Conditional

8 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Max.
Name Description Required
Length

URL the order status will be sent to, see Callback section below for
callbackUrl 255 Conditional
more details

URL for end user redirection upon transaction completion, regardless


redirectUrl 255 Yes
of order status, see Final Redirection section below for more details

customParam 128 Merchant-defined optional custom parameter Conditional

Request checksum encrypted with SHA-256 , see Signature section


signature 64 Yes
below for more details

 Merchant must contact Zota in order to enable `Payout Form` functionality; input fields on the payout form may be
customized upon request.

HTTP RESPONSE (PAYOUT FORM INTEGRATION)

Content-Type: application/json

Zota -> Merchant

Name Description

code A status code representing the acceptance of the request by Zota server.

message When code is other than 200 , this parameter may hold information about the reason / error.

When code is 200 , this parameter will include the following fields: merchantOrderID , orderID and payoutUrl .
data
Please see the table below for detailed information regarding these fields.

THE DATA RESPONSE PARAMETER

Fields Description

merchantOrderID Merchants' order unique identifier, provided in the original Payout Request or Payout Form Request .

orderID Order unique identifier generated by Zota, should be then used for Order Status Requests .

payoutUrl The URL of the payout form, merchant should redirect the (waiting) end-user to this URL ( HTTP 302 ).

Signature
Every request must be signed by the merchant in order to be successfully authenticated by Zota servers.

The signature parameter of a Payout Request or Payout Form Request must be generated by hashing a string of concatenated
parameters using SHA-256 in the exact following order:

EndpointID + merchantOrderID + orderAmount + customerEmail + customerBankAccountNumber + MerchantSecretKey

Signing a Payout Request

9 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

# prepare vars
endpointID=1050
merchantOrderID=QvE8dZshpKhaOmHY
orderAmount=500.00
customerEmail=customer@email-address.com
bankAccNum=100200
secretKey=EXAMPLE-SECRET-KEY

# concatenate values into a single string


str="${endpointID}${merchantOrderID}${orderAmount}${customerEmail}${bankAccNum}${secretKey}"
echo $str
# 1050QvE8dZshpKhaOmHY500.00customer@email-address.com100200EXAMPLE-SECRET-KEY

# create a sha256 hash of the string


sig=$(echo -n "${str}" | openssl dgst -sha256)
echo $sig
# 55814f758c27cf3171c332e0b879dec36bed946f4e93a0eeb381842e84423629

Order Status Request

Context
Merchant should issue an Order Status Request to get the most up-to-date status of customer’s order transaction.

After a Payout Request is sent to Zota server and orderID is returned, merchant server should start polling (10-15 seconds
interval).

This polling interval should continue until one of the following occurs:

1. Zota server responds to an Order Status Request with a final status (e.g. APPROVED , DECLINED )

2. Merchant server receives a callback notification from Zota with a final status (e.g. APPROVED , DECLINED )

 Important Note
Zota doesn't technically require merchants to issue Order Status Requests , as well as not requiring them to provide a
callbackUrl in payout requests. Once a payout is requested and authenticated, it will be processed normally regardless of the
merchant providing a callbackUrl or issuing Order Status Requests . Both of these tools are provided to Zota merchants in
order to guarantee full consistency and system robustness by handling all edge-cases that may occur within payment
processing.

Issue an Order Status Request


HTTP REQUEST

GET /api/v1/query/order-status/

Merchant -> Zota

QUERY PARAMETERS

10 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Order Status Request example

# prepare vars
mid=EXAMPLE-MERCHANT-ID
moid=TbbQzewLWwDW6goc
oid=beb3e2e1cf59b0d275984ceaf58cd7f7b4b5b09a
ts=1564617600
sig=653105b9423fa0e18857e031e7ee87c3885f2b319a5fe1e191ac6005cdcb4835

# prepare query string


qs="merchantID=${mid}&merchantOrderID=${moid}&orderID=${oid}&timestamp=${ts}&signature=${sig}"

# send request
curl -X GET "https://api.zotapay.com/api/v1/query/order-status/?${qs}"

Max.
Name Description Required
Length

merchantID 32 Unique merchant identifier provided by Zota (see Before You Begin section) Yes

orderID 128 Order unique identifier generated by Zota Yes

merchantOrderID 128 Merchant-defined unique order identifier Yes

timestamp 15 Unix timestamp of the request time Yes

Request checksum encrypted with SHA-256 , see Signature section below for
signature 64 Yes
more details

HTTP RESPONSE

Content-Type: application/json

Zota -> Merchant

Name Description

code A status code representing the acceptance of the request by Zota server.

message When code is other than 200 , this parameter may hold information about the reason / error.

When code is 200 , this parameter will include the following fields: merchantOrderID , orderID and payoutUrl .
data
Please see the table below for detailed information regarding these fields.

THE DATA RESPONSE PARAMETER

A successful response from Zota server to the example request above:

{
"code": "200",
"data": {
"type": "PAYOUT",
"status": "PROCESSING",
"errorMessage": "",
"endpointID": "1050",
"processorTransactionID": "",
"orderID": "beb3e2e1cf59b0d275984ceaf58cd7f7b4b5b09a",
"merchantOrderID": "TbbQzewLWwDW6goc",
"amount": "500.00",
"currency": "THB",
"customerEmail": "customer@email-address.com",

11 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

"customParam": "{\"UserId\": \"e139b447\"}",


"extraData": "",
"request": {
"merchantID": "EXAMPLE-MERCHANT-ID",
"orderID": "beb3e2e1cf59b0d275984ceaf58cd7f7b4b5b09a",
"merchantOrderID": "TbbQzewLWwDW6goc",
"timestamp": "1564617600"
}
}
}

A non-successful response from Zota server to the example request above:

{
"code": "401",
"message": "unauthorized"
}

Or alternatively

{
"code": "400",
"message": "timestamp too old"
}

See Error Codes for a full list of codes.

Name Description

type Transaction type: PAYOUT .

status Transaction status, see Order Statuses for a full list of statuses.

errorMessage Contains the error description if the transaction is declined or yields an error.

processorTransactionID The transaction identifier that was generated by the payment processor.

orderID Order unique identifier generated by Zota.

merchantOrderID Merchant-defined unique order identifier.

amount The amount of the transaction.

currency The currency of the transaction.

customerEmail End-user email address.

customParam Merchant-defined optional custom parameter.

request A Json object with a copy of the original Order Status Request sent by merchant server to Zota.

Signature
Every request must be signed by the merchant in order to be successfully authenticated by Zota servers. The signature parameter
of an Order Status Request must be generated by hashing a string of concatenated parameters using SHA-256 in the exact

12 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

following order:

MerchantID + merchantOrderID + orderID + timestamp + MerchantSecretKey

Signing an Order Status Request

# prepare vars
merchantID=EXAMPLE-MERCHANT-ID
merchantOrderID=TbbQzewLWwDW6goc
orderID=beb3e2e1cf59b0d275984ceaf58cd7f7b4b5b09a
timestamp=1564617600
secretKey=EXAMPLE-SECRET-KEY

# concatenate values into a single string


str="${merchantID}${merchantOrderID}${orderID}${timestamp}${secretKey}"
echo $str
# EXAMPLE-MERCHANT-IDTbbQzewLWwDW6gocbeb3e2e1cf59b0d275984ceaf58cd7f7b4b5b09a1564617600EXAMPLE-SECRET-KEY

# create a sha256 hash of the string


sig=$(echo -n "${str}" | openssl dgst -sha256)
echo $sig
# 653105b9423fa0e18857e031e7ee87c3885f2b319a5fe1e191ac6005cdcb4835

Order Completion

Context
After the transaction has been successfully processed, Zota server will initiate a final HTTP POST request to the callbackUrl
specified by the merchant in the Payout Request .

This request will include the transaction final status, along with detailed information about the order.

Callback Notification
Callbacks are the most accurate way to record the final status for any given order.

Once a transaction is processed and its status is final (see Order Statuses), Zota server will initiate an HTTP POST request to
merchant callbackUrl provided in the original Payout Request .

The callback notification request will contain all the relevant parameters identifying a specific order, along with the status
parameter representing the final status of the transaction.

This request also includes more useful information about the order and can be seen as kind of a detailed order summary.

 It is rare but possible for the status or other details of a Payout Request to change post-processing. For example, a
payout that was originally approved can later be declined in case funds were bounced back to the account. The Zota system is
thus able to issue multiple subsequent callbacks for any order. Ensuring that the client system can accept and register these
callbacks accordingly will guarantee consistency.

13 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

 Certain details of a transaction may change after processing. For example, the value for parameters such as orderAmount
might change from the value submitted in the original Payout Request , in which case additional information will be found
nested inside the extraData object in a callback notification, under parameters like amountRounded along with originalAmount .
In order to guarantee full consistency, the client system must read all parameters contained in a callback notification and
reconcile each of their values to those of the original request.

When no valid callbackUrl is provided with the Payout Request , no callbacks will be dispatched.

 When a callback request is acknowledged by merchant server, it should return HTTP 200 OK . If the callback request
received a response code other than 200, Zota will retry the request with a 10-minute delay between each attempt, and will
give up after 18 retries (3 hours).

HTTP REQUEST

HTTP POST

Content-Type: application/json

Zota -> PayoutRequest.callbackUrl

REQUEST PARAMETERS

Example Callback Notification

{
"type": "PAYOUT",
"amount": "500.00",
"status": "APPROVED",
"orderID": "beb3e2e1cf59b0d275984ceaf58cd7f7b4b5b09a",
"currency": "THB",
"extraData": {
"ID": "000139825",
"Note": "Test order",
"Amount": "500.00",
"Status": "000",
"Currency": "THB",
"Customer": "customer@email-address.com",
"Datetime": "2019-08-01 09:00:00PM",
"StatementDate": "2019-08-01 10:10:00PM",
"selectedBankCode": "BBL",
"selectedBankName": "Bangkok Bank"
},
"signature": "6a27d8baea0e676820ceddb994259619134ece0d2ecaf8c033452d48f947ffa5",
"endpointID": "1050",
"customParam": "{\"UserId\": \"e139b447\"}",
"errorMessage": "",
"customerEmail": "customer@email-address.com",
"merchantOrderID": "TbbQzewLWwDW6goc",
"originalRequest": {
"merchantOrderID": "TbbQzewLWwDW6goc",
"merchantOrderDesc": "Test order",
"orderAmount": "500.00",
"orderCurrency": "THB",
"customerEmail": "customer@email-address.com",
"customerFirstName": "John",
"customerLastName": "Doe",
"customerCountryCode": "TH",
"customerPhone": "+66-77999110",
"customerIP": "103.106.8.104",
"callbackUrl": "https://www.example-merchant.com/payout-callback/",
"customerBankCode": "BBL",

14 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

"customerBankAccountNumber": "100200",
"customerBankAccountName": "John Doe",
"customerBankBranch": "Bank Branch",
"customerBankAddress": "Thong Nai Pan Noi Beach, Baan Tai, Koh Phangan",
"customerBankZipCode": "84280",
"customerBankProvince": "Bank Province",
"customerBankArea": "Bank Area / City",
"customerBankRoutingNumber": "000",
"customParam": "{\"UserId\": \"e139b447\"}",
"checkoutUrl": "https://www.example-merchant.com/account/withdrawal/?uid=e139b447",
"signature": "d04ccb6a14d2c9e6f566766b8158bc4dd5ab6c3bb964a446da92aa61b882d88b",
"customerState": "",
"midDescriptor": "",
"paymentMethod": ""
},
"processorTransactionID": "000139825"
}

Name Description

type Transaction type, either SALE or PAYOUT .

status Transaction status, see Order Statuses for a full list of statuses.

errorMessage Contains the error description if the transaction is declined or yields an error.

endpointID The merchant EndpointID that the order was sent through.

processorTransactionID The transaction identifier that was generated by the payment processor.

orderID Order unique identifier generated by Zota.

merchantOrderID Merchant-defined unique order identifier.

amount The amount of the transaction.

currency The currency of the transaction.

customerEmail End-user email address.

customParam Merchant-defined optional custom parameter.

A Json object with additional information that was collected during the payment process on Zota's
extraData
environment, such as paymentMethod (string), selectedBankCode (string), etc.

originalRequest A Json object with a copy of the original Deposit Request sent by merchant server to Zota.

signature Request checksum encrypted with SHA-256 , see Request Signature section below for more details

Signature
When Zota sends an http callback notification to merchant's callbackUrl , this request request includes a signature parameter.
The signature parameter must be verified by the merchant. A verification is done by hashing a string of concatenated parameters
using SHA-256 in the exact following order:

EndpointID + orderID + merchantOrderID + status + amount + customerEmail + MerchantSecretKey

15 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

And then by ensuring that the result is equal to the signature parameter of the request.
If both signatures are equal, you should consider the request as authentic.

Verifying Callback Signature

# prepare vars
endpointID=1050
orderID=beb3e2e1cf59b0d275984ceaf58cd7f7b4b5b09a
merchantOrderID=TbbQzewLWwDW6goc
status=APPROVED
amount=500.00
email=customer@email-address.com
secretKey=EXAMPLE-SECRET-KEY

# concatenate values into a single string


str="${endpointID}${orderID}${merchantOrderID}${status}${amount}${email}${secretKey}"
echo $str
# 1050beb3e2e1cf59b0d275984ceaf58cd7f7b4b5b09aTbbQzewLWwDW6gocAPPROVED500.00customer@email-address.comEXAMPLE-SECRET-KEY

# create a sha256 hash of the string


sig=$(echo -n "${str}" | openssl dgst -sha256)
echo $sig
# 6a27d8baea0e676820ceddb994259619134ece0d2ecaf8c033452d48f947ffa5

# if provided 'signature' equals to 'sig', consider the request as authentic.

Orders Report

Context
At any single point in time merchants are able to issue an Orders Report Request in order to receive a detailed transaction log of
their account by a given date range.

Issue an Orders Report Request


HTTP REQUEST

GET /api/v1/query/orders-report/csv/

Merchant -> Zota

QUERY PARAMETERS

Orders Report Request example

# prepare vars
mid='EXAMPLE-MERCHANT-ID'
date_type='created'
endpoint_ids='1001,1002'
from_date='2019-11-01'
request_id='d6da50a9-aca4-4d6f-a022-f487a127b54d'
statuses='APPROVED,DECLINED'
ts='1573533000'

16 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

to_date='2019-11-01'
types='SALE,PAYOUT'
sig='677ff8f149c7cbe54937312ac5d6f5fc838417ba9a4a04779be2c75edde1d714'

# prepare query string


qs="merchantID=${mid}&dateType=${date_type}&endpointIds=${endpoint_ids}&fromDate=${from_date}&requestID=${request_id}&statuses=${statuses}&timestamp=

# send request
curl -X GET "https://api.zotapay.com/api/v1/query/orders-report/csv/?${qs}"

Max.
Name Description Required
Length

merchantID 32 Unique merchant identifier provided by Zota (see Before You Begin section) Yes

dateType 8 Set date filter type either as created or ended , related to fromDate and toDate Yes

endpointIds 128 Commas separated list of Endpoint Ids to filter from, e.g 1001,1002,1004 No

fromDate 12 Report starting date, format YYYY-MM-DD , e.g 2019-11-01 Yes

requestID 36 A unique identifier for the request, must be of type uuid4 Yes

Commas separated list of Order Statuses to filter by, e.g APPROVED,DECLINED . see
statuses 128 No
Order Statuses for a full list of statuses.

timestamp 15 Unix timestamp of the request time Yes

toDate 12 Report ending date, format YYYY-MM-DD , e.g 2019-11-01 Yes

Commas separated list of Order Types to filter by, supported types are SALE and
types 128 No
PAYOUT

Request checksum encrypted with SHA-256 , see Signature section below for more
signature 64 Yes
details.

HTTP RESPONSE

Content-Type: text/csv

Zota -> Merchant

Response payload will be returned as a CSV stream of the results.

Signature
Every request must be signed by the merchant in order to be successfully authenticated by Zota servers. The signature parameter
of an Orders Report Request must be generated by hashing a string of concatenated parameters using SHA-256 in the exact
following order:

MerchantID + dateType + endpointIds + fromDate + requestID + statuses + timestamp + toDate + types +


MerchantSecretKey

Signing an Orders Report Request

17 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

# prepare vars
mid='EXAMPLE-MERCHANT-ID'
date_type='created'
endpoint_ids='1001,1002'
from_date='2019-11-01'
request_id='d6da50a9-aca4-4d6f-a022-f487a127b54d'
statuses='APPROVED,DECLINED'
ts='1573533000'
to_date='2019-11-01'
types='SALE,PAYOUT'
secret='EXAMPLE-SECRET-KEY'

# concatenate values into a single string


str="${mid}${date_type}${endpoint_ids}${from_date}${request_id}${statuses}${ts}${to_date}${types}${secret}"
echo $str
# EXAMPLE-MERCHANT-IDcreated1001,10022019-11-01d6da50a9-aca4-4d6f-a022-f487a127b54dAPPROVED,DECLINED15735330002019-11-01SALE,PAYOUTEXAMPLE-SECRET-KEY

# create a sha256 hash of the string


sig=$(echo -n "${str}" | openssl dgst -sha256)
echo $sig
# 677ff8f149c7cbe54937312ac5d6f5fc838417ba9a4a04779be2c75edde1d714

Exchange Rates

Context
This API endpoint provides merchants with access to the effective rates for currency conversions on a specific date and for a
particular order. It is essential for merchants who want to calculate the cost of their transactions accurately.

Issue an Exchange Rates Request


HTTP REQUEST

GET /api/v1/query/exchange-rates/

QUERY PARAMETERS

Exchange Rates Request example

# prepare vars
mid='EXAMPLE-MERCHANT-ID'
request_id='d6da50a9-aca4-4d6f-a022-f487a127b54d'
ts='1695200538'
order_type='SALE'
order_id='32452684'
date=''
sig='63adcf671d9f23ab5184a05234d1ddb8a6be0b1f2570be739bb96ccedcf725e7'

# prepare query string


qs="merchantID=${mid}&requestID=${request_id}&date=${date}&timestamp=${ts}&orderType=${order_type}&orderID=${order_id}&signature=${sig}"

# send request
curl -X GET "https://api.zotapay.com/api/v1/query/exchange-rates/?${qs}"

18 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Max.
Name Description Required
Length

merchantID 32 Unique merchant identifier provided by Zota (see Before You Begin section) Yes

orderID 128 Order unique identifier generated by Zota No

Get rates for specific date, format YYYY-MM-DD , e.g 2019-11-01 . If orderID is not
date 10 No
defined, then date is required.

requestID 36 A unique identifier for the request, must be of type uuid4 Yes

timestamp 15 Unix timestamp of the request time Yes

orderType 128 Order Type, either SALE , PAYOUT or REVERSAL . Yes

Request checksum encrypted with SHA-256 , see Signature section below for more
signature 64 Yes
details.

HTTP RESPONSE

Content-Type: application/json

Response payload will be returned as a JSON object.

- ORDERID IS SPECIFIED

If an orderID is specified, the API will return the effective exchange rate used for the given order and other relevant accounting
parameters.

A successful response with orderID specified in the request.

{
"code": "200",
"data": {
"exchangeRates": {
"balanceCurrency": "USD",
"balanceAccount": "EXAMPLE-MERCHANT-USD",
"isConverted": true,
"conversionRate": "0.01300121",
"effectiveAmount": "0.1300121",
"toMerchantBalance": "-0.22323821",
"totalFees": "0.3532503",
"rollingReserve": "0"
}
}
}

- ORDERID IS NOT SPECIFIED

The API will return the effective rate for all currency pairs, from "any supported currency" to the "merchant base currency".

A successful response with orderID NOT specified in the request.

{
"code": "200",
"data": {
"exchangeRates": {
"AED": {
"CNY": "1.8645665591266114"
},
"AFN": {

19 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

"CNY": "0.0799337999497419"
},
"AMD": {
"CNY": "0.0175356317659951"
}
}
}
}

Signature
Every request must be signed by the merchant in order to be successfully authenticated by Zota servers. The signature parameter
of an Exchange Rates Request must be generated by hashing a string of concatenated parameters using SHA-256 in the exact
following order:

MerchantID + MerchantSecretKey + requestID + date + timestamp + OrderID

Signing an Orders Report Request

# prepare vars
mid='EXAMPLE-MERCHANT-ID'
secret='EXAMPLE-SECRET-KEY'
request_id='d6da50a9-aca4-4d6f-a022-f487a127b54d'
date=''
ts='1695200538'
order_type='SALE'
order_id='32452684'
# concatenate values into a single string
str="${mid}${secret}${request_id}${date}${ts}${order_id}"
echo $str
# EXAMPLE-MERCHANT-IDEXAMPLE-SECRET-KEYd6da50a9-aca4-4d6f-a022-f487a127b54d169520053832452684

# create a sha256 hash of the string


sig=$(echo -n "${str}" | openssl dgst -sha256)
echo $sig
# de2c787eb8ed6ba83812c0bf5ec9aa3c24ca20b3a4e906c85e1b036eaf558686

Error Codes

Context
Every request to Zota's API is answered with a response. Every response from Zota will be structured as following:

HTTP RESPONSE

Content-Type: application/json

Zota -> Merchant

Name Description

20 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Name Description

code A status code representing the acceptance of the request by Zota server.

message When code is other than 200 , this parameter may hold information about the reason / error.

When code is 200 , this parameter will hold a JSON object with different fields, depending on the requested resource
data
and context.

 Remember,
When code is 200 , what you look for is probably inside data .
When code is other than 200 , no data is returned, check for a message instead.

Response Codes

Code Meaning Common message values

200 OK -

400 Invalid or malformed request bad request , endpoint currency mismatch , missing arguments , expired ...

401 Invalid signature unauthorized

404 Not found not found

409 Conflict order already created , already requested ...

410 , 500 Error unresolved , internal error

Signature Helper

Merchants may find this tool very helpful for signature testing and debugging, with a dedicated section for each of the signing use-
cases.

Common Resources

Order Statuses

Status Description

21 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Status Description

CREATED Order was created.

AUTHORIZED Order is accepted and will begin processing shortly.

PROCESSING Order is being processed, continue polling until final status.

APPROVED Order is approved, final status.

DECLINED Order is declined, final status.

FILTERED Order is declined by fraud-prevention system.

PENDING Order is still in processing state, awaiting next step.

UNKNOWN Order status is unknown, please inform our support team. not a final status.

ERROR Order is declined due to a technical error, please inform our support team. final status.

Currency Codes

Code Name

EUR Euro €

USD US Dollar $

BTC Bitcoin ₿

CNY Yuan Renminbi ¥

AFN Afghani ؋

DZD Algerian Dinar ‫ﺩﺝ‬

ARS Argentine Peso $

AMD Armenian Dram ֏

AWG Aruban Florin ƒ

AUD Australian Dollar $

AZN Azerbaijanian Manat ₼

BSD Bahamian Dollar $

BHD Bahraini Dinar BD

THB Baht ฿

22 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Code Name

PAB Panamanian Balboa B/

BBD Barbados Dollar Bds$

BYR Belarussian Ruble Br

BZD Belize Dollar $

BMD Bermudian Dollar $

VEF Venezuelan Bolivar Bs

BOB Bolivian Boliviano Bs

BRL Brazilian Real R$

BND Brunei Dollar $

BGN Bulgarian Lev Лв

BIF Burundi Franc FBu

CVE Cabo Verde Escudo Esc

CAD Canadian Dollar $

KYD Cayman Islands Dollar $

XOF CFA Franc BCEAO CFA

XAF CFA Franc BEAC FCFA

XPF CFP Franc ₣

CLP Chilean Peso $

COP Colombian Peso $

KMF Comoro Franc CF

CDF Congolese Franc FC

BAM Convertible Mark KM

NIO Cordoba Oro C$

CRC Costa Rican Colon ₡

CUP Cuban Peso ₱

CZK Czech Koruna Kč

GMD Gambian Dalasi D

23 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Code Name

DKK Danish Krone Kr

MKD Macedonian Denar Ден

DJF Djibouti Franc Fdj

DOP Dominican Peso RD$

VND Vietnamese Dong ₫

XCD East Caribbean Dollar $

EGP Egyptian Pound ‫ﻡ‬.‫ﺝ‬

SVC El Salvador Colon $

ETB Ethiopian Birr ብር

FKP Falkland Islands Pound £

FJD Fiji Dollar $

HUF Hungaria Forint Ft

GHS Ghana Cedi GH₵

GIP Gibraltar Pound £

HTG Haitian Gourde G

PYG ParaguayanGuarani ₲

GNF Guinea Franc FG

GYD Guyana Dollar G$

HKD Hong Kong Dollar HK$

UAH Ukranian Hryvnia ₴

ISK Iceland Krona Íkr

INR Indian Rupee ₹

IRR Iranian Rial ‫﷼‬

IQD Iraqi Dinar ‫ﺩ‬.‫ﻉ‬

JMD Jamaican Dollar $

JOD Jordanian Dinar ‫ﺍ‬.‫ﺩ‬

KES Kenyan Shilling Ksh

24 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Code Name

PGK Papua New Ginea Kina K

LAK Lao Kip ₭

HRK Croatian Kuna kn

KWD Kuwaiti Dinar ‫ﻙ‬.‫ﺩ‬

MWK MalawaianKwacha MK

AOA Angolan Kwanza Kz

MMK Burmese Kyat K

GEL Georgian Lari ლ

LBP Lebanese Pound ‫ﻝ‬.‫ﻝ‬

ALL Albanian Lek L

HNL Honduran Lempira L

SLL Sierra Leonean Leone Le

LRD Liberian Dollar L$

LYD Libyan Dinar ‫ﺩ‬.‫ﻝ‬

SZL Swazi Lilangeni L

LSL Loti L

MGA Malagasy Ariary Ar

MYR Malaysian Ringgit RM

MUR Mauritius Rupee ₨

MXN Mexican Peso $

MDL Moldovan Leu L

MAD Moroccan Dirham MAD

MZN Mozambique Metical MT

NGN Nigerian Naira ₦

ERN Eritrean Nakfa ‫ﻧﺎﻓﻜﺎ‬

NAD Namibia Dollar N$

NPR Nepalese Rupee �

25 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Code Name

ANG Netherlands Antillean Guilder ƒ

ILS New Israeli Sheqel ₪

TWD New Taiwan Dollar NT$

NZD New Zealand Dollar $

BTN Ngultrum Nu.

KPW North Korean Won ₩

NOK Norwegian Krone kr

PEN Nuevo Sol S/

TOP Tongan Pa’anga T$

PKR Pakistan Rupee ₨

MOP Pataca MOP$

CUC Peso Convertible CUC$

UYU Peso Uruguayo $U

PHP Philippine Peso ₱

GBP Pound Sterling £

BWP Botswanan Pula P

QAR Qatari Rial ‫ﻕ‬.‫ﺭ‬

GTQ Guatemalan Quetzal Q

ZAR South African Rand R

OMR Rial Omani ‫ﻉ‬.‫ﺭ‬.

KHR Cambodian Riel ៛

RON Romanian Leu lei

MVR Maldivian Rufiyaa Rf

IDR Indonesian Rupiah Rp

RUB Russian Ruble ₽

RWF Rwanda Franc R₣

SHP Saint Helena Pound £

26 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Code Name

SAR Saudi Riyal ‫﷼‬

RSD Serbian Dinar din

SCR Seychelles Rupee SRe

SGD Singapore Dollar $

SBD Solomon Islands Dollar Si$

KGS Som Лв

SOS Somali Shilling Sh

TJS Tajikistani Somoni ЅM

LKR Sri Lanka Rupee �

SDG Sudanese Pound ‫ﺱ‬.‫ﺝ‬.

SRD Surinam Dollar $

SEK Swedish Krona kr

CHF Swiss Franc SFr

SYP Syrian Pound £S

BDT Bangeladash Taka ৳

WST Tala WS$

TZS Tanzanian Shilling TSh

KZT Kazahstani Tenge ₸

TTD Trinidad and Tobago Dollar TT$

MNT Tugrik ₮

TND Tunisian Dinar ‫ﺕ‬.‫ﺩ‬

TRY Turkish Lira ₺

TMT Turkmenistan New Manat T

AED UAE Dirham ‫ﺇ‬.‫ﺩ‬

UGX Uganda Shilling USh

UZS Uzbekistan Sum so'm

VUV Vanuatu Vatu VT

27 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Code Name

KRW Won ₩

YER Yemeni Rial ‫﷼‬

JPY Yen ¥

ZMW Zambian Kwacha ZK

ZWL Zimbabwe Dollar Z$

PLN Polish Zloty zł

Country Codes

Country Code Country Name

AF Afghanistan

AL Albania

DZ Algeria

AS American Samoa

AD Andorra

AO Angola

AI Anguilla

AQ Antarctica

AG Antigua and Barbuda

AR Argentina

AM Armenia

AW Aruba

AU Australia

AT Austria

AZ Azerbaijan

BS Bahamas

BH Bahrain

28 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Country Code Country Name

BD Bangladesh

BB Barbados

BY Belarus

BE Belgium

BZ Belize

BJ Benin

BM Bermuda

BT Bhutan

BO Bolivia

BQ Bonaire, Sint Eustatius and Saba

BA Bosnia and Herzegovina

BW Botswana

BV Bouvet Island

BR Brazil

IO British Indian Ocean Territory

BN Brunei Darussalam

BG Bulgaria

BF Burkina Faso

BI Burundi

CV Cabo Verde

KH Cambodia

CM Cameroon

CA Canada

KY Cayman Islands

CF Central African Republic

TD Chad

CL Chile

29 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Country Code Country Name

CN China

CX Christmas Island

CC Cocos (Keeling) Islands

CO Colombia

KM Comoros

CD Congo Democratic Republic

CG Congo

CK Cook Islands

CR Costa Rica

HR Croatia

CU Cuba

CW Curaçao

CY Cyprus

CZ Czechia

CI Cote d Ivoire

DK Denmark

DJ Djibouti

DM Dominica

DO Dominican Republic

EC Ecuador

EG Egypt

SV El Salvador

GQ Equatorial Guinea

ER Eritrea

EE Estonia

SZ Swaziland

ET Ethiopia

30 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Country Code Country Name

FK Falkland Islands (Malvinas)

FO Faroe Islands

FJ Fiji

FI Finland

FR France

GF French Guiana

PF French Polynesia

TF French Southern Territories

GA Gabon

GM Gambia

GE Georgia

DE Germany

GH Ghana

GI Gibraltar

GR Greece

GL Greenland

GD Grenada

GP Guadeloupe

GU Guam

GT Guatemala

GG Guernsey

GN Guinea

GW Guinea-Bissau

GY Guyana

HT Haiti

HM Heard & McDonald Islands

VA Holy See

31 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Country Code Country Name

HN Honduras

HK Hong Kong

HU Hungary

IS Iceland

IN India

ID Indonesia

IR Iran

IQ Iraq

IE Ireland

IM Isle of Man

IL Israel

IT Italy

JM Jamaica

JP Japan

JE Jersey

JO Jordan

KZ Kazakhstan

KE Kenya

KI Kiribati

KP Korea (Democratic Republic)

KR Korea (Republic)

KW Kuwait

KG Kyrgyzstan

LA Lao Democratic Republic

LV Latvia

LB Lebanon

LS Lesotho

32 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Country Code Country Name

LR Liberia

LY Libya

LI Liechtenstein

LT Lithuania

LU Luxembourg

MO Macao

MK Macedonia

MG Madagascar

MW Malawi

MY Malaysia

MV Maldives

ML Mali

MT Malta

MH Marshall Islands

MQ Martinique

MR Mauritania

MU Mauritius

YT Mayotte

MX Mexico

FM Micronesia

MD Moldova

MC Monaco

MN Mongolia

ME Montenegro

MS Montserrat

MA Morocco

MZ Mozambique

33 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Country Code Country Name

MM Myanmar

NA Namibia

NR Nauru

NP Nepal

NL Netherlands

NC New Caledonia

NZ New Zealand

NI Nicaragua

NE Niger

NG Nigeria

NU Niue

NF Norfolk Island

MP Northern Mariana Islands

NO Norway

OM Oman

PK Pakistan

PW Palau

PS Palestine, State of

PA Panama

PG Papua New Guinea

PY Paraguay

PE Peru

PH Philippines

PN Pitcairn

PL Poland

PT Portugal

PR Puerto Rico

34 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Country Code Country Name

QA Qatar

RO Romania

RU Russian Federation

RW Rwanda

RE Réunion

BL Saint Barthélemy

SH Saint Helena

KN Saint Kitts and Nevis

LC Saint Lucia

MF Saint Martin (French part)

PM Saint Pierre and Miquelon

VC Saint Vincent and the Grenadines

WS Samoa

SM San Marino

ST Sao Tome and Principe

SA Saudi Arabia

SN Senegal

RS Serbia

SC Seychelles

SL Sierra Leone

SG Singapore

SX Sint Maarten (Dutch part)

SK Slovakia

SI Slovenia

SB Solomon Islands

SO Somalia

ZA South Africa

35 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Country Code Country Name

GS South Georgia

SS South Sudan

ES Spain

LK Sri Lanka

SD Sudan

SR Suriname

SJ Svalbard and Jan Mayen

SE Sweden

CH Switzerland

SY Syrian Arab Republic

TW Taiwan

TJ Tajikistan

TZ Tanzania, United Republic of

TH Thailand

TL Timor-Leste

TG Togo

TK Tokelau

TO Tonga

TT Trinidad and Tobago

TN Tunisia

TR Turkey

TM Turkmenistan

TC Turks and Caicos Islands

TV Tuvalu

UG Uganda

UA Ukraine

AE United Arab Emirates

36 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

Country Code Country Name

GB United Kingdom

US United States of America

UY Uruguay

UZ Uzbekistan

VU Vanuatu

VE Venezuela

VN Vietnam

VG Virgin Islands (British)

VI Virgin Islands (U.S.)

WF Wallis and Futuna

EH Western Sahara

YE Yemen

ZM Zambia

ZW Zimbabwe

AX Aland Islands

QZ Kosovo

AN Netherlands Antilles

UM United States Minor Outlying Islands

Callback IPs
To ensure seamless integration and secure communication between Metagate and your systems, it's crucial to recognize and
allowlist the specific IP addresses we use for sending callbacks. This section provides an overview of our production and sandbox
environment's IP addresses. Configuring your systems to accept callbacks from these addresses is essential for receiving
transaction updates.

PRODUCTION SERVER IPS:

18.158.191.139 , 18.198.240.187 , 3.122.154.23 , 13.36.22.5 , 15.236.215.248 , 35.180.81.96

SANDBOX SERVER IPS:

18.198.219.119 , 3.124.25.16 , 3.125.82.248

37 z 38 24.09.2024, 21:16
Merchant Endpoints – Payout API Reference | Zota https://doc.zota.com/payout/1.1/#merchant-endpoints

38 z 38 24.09.2024, 21:16

You might also like