API
Wasabigate payment gateway integration API documentation
Terms and Definitions
System — Wasabigate payment gateway.
Merchant — Wasabigate client who works with the System.
API — application program interface for interacting with the system, located at https://api.api-wasabigate.com
Back Office — merchant's back office in the system, located at https://merchant.api-wasabigate.com
Card — a bank card of Visa, MasterCard or MIR systems.
Acquirer — a settlement bank.
Issuer — a bank that issued a card.
Cardholder — an owner of a card issued by a bank.
Widget — payment form, provided by the system to enter card data by a holder and perform a further authorization.
3-D Secure — protocol to verify a holder by the issuer.
Transaction types
The system involves three types of operations: payment, refund, and payout. In the first case, money is transferred from holder's account to the merchant, in the second - vice versa. A merchant performs a refund if a buyer wants to return goods, and it is always associated with a payment transaction, which amount returns to a holder. It is possible to refund a whole payment amount or it's part only. Money usually comes back to a holder’s card the same day, but sometimes (it depends on an issuer) it can take up to 3 days. Payout operation is used to transfer the funds from the merchant account to the Cardholder's account. The payout is possible only when the initial payment with a Card was done using the System.
Payment Methods
Via payment form — widget. Add a script that opens a secure payment form (iframe) to enter card data.
Via API by a card’s cryptogram. Add a checkout to your web site which collects card data from any web site’s form, encrypts and creates a cryptogram for a secured transmission through an interserver interaction.
Via redirect. User gets redirect to a payment page hosted on our servers.
3-D Secure
3-D Secure is a common name of Verified By Visa and MasterCard Secure Code programs from Visa and MasterCard's respectively. In general, such program shall authenticate a cardholder (that is to protect against an unauthorized card usage) by an issuer before a payment. Actually, it looks as follows: a cardholder specifies card data. Then the issuer’s web site opens, where a cardholder has to enter a password or a secret code (usually, the code is sent in a SMS message). If the code is correct, a payment will be successful. Otherwise, it will be rejected.
During the payment process, 3-D Secure appears not on all cards, but only on those, Issuers supporting this technology. Certainly, payments without 3-D Secure are a less secure option.
Payment via Redirect
In Payment Redirect method the user gets redirected to the payment page, hosted by the System. After the user has entered his/her bank card data, the user then gets redirected back to the merchant site.
The Payment Redirect link is located in the Back Office and can be used in the following way:
Parameter
Type
Usage
Description
amount
Number
Required
Payment amount
description
String
Required
Description of a payment purpose in text format
currency
String
Required
Payment currency
invoiceId
String
Optional
Order or Invoice number
accountId
String
Required
Payer's identifier. If specified, the payment token will be returned in the Notification which can be used for payouts
successUrl
String
Required
URL the user gets redirected, after the successful charge transaction.
failureUrl
String
Required
URL the user gets redirected, after the charge transaction has failed.
pendingUrl
String
Required
URL the user gets redirected when the charge transaction status cannot be immediately returned. The merchant should expect to receive the end status of the transaction in Notification.
cancelUrl
String
Required
URL the user gets redirected, after the payment was cancelled by the user.
locale
String
Optional
Payment form language. The default language is English when the parameter is not specified.
Payment Widget
Payment widget is a pop-up form to enter card data and payer’s email address. The widget automatically defines a payment system type: Visa, MasterCard, Maestro or MIR, and an emitting bank of a card and corresponding logos. The form is optimized for use in any browsers and mobile devices. There is an iframe opens within a widget which guarantees a security of card data sending and does not require a certification for merchant's usage.
Widget Installation
To install a widget, you need to add a script on a web site to the head section:
Define a function for charge method calling for payment form to display
Call the function when some event is emitted, for example click on the «Pay» button:
Or use a link to call the payment method:
Parameters
Parameter
Type
Usage
Description
publicId
String
Required
A merchant identifier, located in Back Office
description
String
Required
Description of a payment purpose in text format
amount
Numeric
Required
Payment amount
currency
String
Required
Payment currency
invoiceId
String
Optional
Order or Invoice number
accountId
String
Required
Payer's identifier. If specified, the payment token will be returned which can be used for payouts
locale
String
Optional
Payment widget's language. The default language is English when the parameter is not specified.
You can define the form behaviour for successful or unsuccessful payment using the following parameters:
Parameter
Type
Usage
Description
onSuccess
Function
Optional
Function will be called after successful payment completion
onFail
Function
Optional
Function will be called after unsuccessful payment completion
Locale
You can specify you language locale when the payment widget is created. The following locales are supported right now:
Locale
Language
en_US
English language. Used by default.
ru_RU
Russian
API
API is an application program interface to interact with Merchant's system.
Interface works on api.api-wasabigate.com and provides functionality for making a payment, refunding, and payouts.
Parameters are sent by POST method in a request body in JSON format. Use application/json Content-Type for data transfer.
The system returns a response in JSON format which includes at least two parameters: success and message:
Requests Authentication
For authentication HTTP Basic Auth is used which is sending a login and a password in a header of HTTP request. Public ID serves as a login and API Secret serves as a password. Both of these values you can get in the back office.
If a request does not contain a header with authentication data, or incorrect data is sent, the system returns 401 HTTP status - Unauthorized.
Duplicate Requests Protection
invoiceId parameter is used to identify the uniqueness of the request sent from the Merchant to the System. That means you can send several requests to the system with the same invoiceId identifier, and only one request will be processed. The following requests with the same invoiceId will be Declined. Thus the protection against network errors is implemented which can lead to creation of duplicate records and actions. The time interval when the System considers the received invoiceId is duplicate can be configured individually per Merchant.
Test
POST https://api.api-wasabigate.com/test
The method to test the interaction with the API.
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Payment
POST https://api.api-wasabigate.com/payments/charge/card
The method to request a payment with Card data supplied. This method is used when the Card data is collected on the merchant's side.
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
publicId*
string
Merchant identifier. Located in the Back Office.
amount*
string
Payment amount
currency*
number
Payment currency
name*
string
Cardholder's name
description*
string
Description of a payment in text format
card*
string
Card data of a payment. See the example below for the card data object structure.
invoiceId
object
Order or invoice number
accountId*
string
Payer's e-mail address
successRedirectUrl
string
URL the user gets redirected to after the successful charge transaction. This parameter is used only when the integration supports "Redirect 3-DS" schema.
failureRedirectUrl
string
URL the user gets redirected after the charge transaction has failed. This parameter is used only when the integration supports "Redirect 3-DS" schema.
pendingRedirectUrl
string
URL the user gets redirected to when the end status of the transaction cannot be retrieved yet. This parameter is used only when the integration supports "Redirect 3-DS" schema.
ip*
string
Payer's IP address
Payment request example
Response: transaction success
Response: transaction failure
Response: 3-D Secure authentication redirect is required (Redirect 3-DS)
Payment response depends on the processing card. If the card participates in 3-D Secure, in Redirect 3-DS schema the response will contain a link, the user should be redirected to, to complete the 3-D Secure authentication.
After completing the 3-D Secure verification, depending on the verification results, the user gets redirected either to successRedirectUrl or failureRedirectUrl or pendingRedirectUrl parameter value, supplied in the Payment request.
Response: 3-D Secure authentication handling by merchant is required (Advanced 3-DS)
In the Advanced 3-DS schema, to complete 3-D Secure authentication, merchant needs to forward a payer to the address specified in the acsUrl parameter of the server's response with following parameters:
MD — transactionId parameter from server response
PaReq — same parameter from server response
TermUrl — the address on your site for returning the payer once authentication successful
Form example
To complete the payment, use post3ds method.
Please contact your Account Manager to clarify if Advanced 3-DS schema is available for your integration.
Post 3-D Secure
POST https://api.api-wasabigate.com/payments/post3ds
The method to validate payment's 3-D Secure authentication
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
transactionId*
integer
MD parameter value
paRes*
string
Received PaRes value
The server will return either information about successful transaction or declined in response to correctly created request.
Refund
POST https://api.api-wasabigate.com/payments/refund
The method to return the funds of a successfully completed charge operation
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
transactionId*
integer
Transaction ID of successfully completed charge transaction
amount
number
Refund amount. If the amount is not provided, the transaction is refunded in full of the initial charge amount. The transaction can be refunded partially as well.
Request example
Payout via token
POST https://api.api-wasabigate.com/payments/payout
The method to payout the funds to a Card by provided token
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
token*
string
Token of the card. The token is received in response message after the successful Payment API method call.
amount*
number
Payout amount
accountId*
string
Payer's e-mail address.
currency*
string
Payout currency
invoiceId
string
Order or invoice number
Request example
Payout to card
POST https://api.api-wasabigate.com/payments/payout/card
Payout method when the funds are transferred to the provided credit card
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
pan*
string
Card number
name*
string
Cardholder name
amount*
number
Payout amount
currency*
string
Payout currency
invoiceId
string
Order or invoice number
data
object
Payout recipient additional data
Request example
Status
POST https://api.api-wasabigate.com/payments/status
Returns the current status of the requested transaction.
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
transactionId*
string
Transaction ID to check the status of
Request example
Checkout
POST https://api.api-wasabigate.com/checkout/link
Allows merchants to dynamically generate a checkout link for processing card payments. Merchants can customize the appearance of the payment form by passing various styling parameters.
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
amount
number
The payment amount.
currency
string
The currency of the payment (e.g., USD, EUR).
description
string
A description of the transaction.
invoiceId
string
Unique identifier for the invoice.
accountId
string
The merchant's account identifier (e.g., email).
successUrl
string
The URL to redirect the customer upon successful payment.
failureUrl
string
The URL to redirect the customer upon failed payment.
pendingUrl
string
The URL to redirect the customer when payment is pending.
cancelUrl
string
The URL to redirect the customer when payment is canceled.
locale
string
The locale setting (e.g., en_US, fr_FR).
ip
string
The IP address of the customer.
data
object
Optional user information
page
object
Optional customization for Payment Form
Object 'data' (Optional user information)
personId
string
The unique identifier of the person.
firstName
string
The customer's first name.
lastName
string
The customer's last name.
countryCode
string
The country code of the customer.
state
string
The state of the customer.
city
string
The city of the customer.
address
string
The address of the customer.
postcode
string
The postal code of the customer.
phone
string
The phone number of the customer.
Object 'page' (Optional customization for Payment Form)
logo
string
The logo identifier for the merchant.
leftContainerBackgroundColor
string
Background color for the left section (e.g., #172650).
merchantTitle
string
The title of the merchant displayed on the payment page.
priceHeadingColor
string
Color of the price heading.
backLinkColor
string
Color of the back link.
backLinkHoverColor
string
Hover color of the back link.
bodyFont
string
The font used for the body text.
payButtonColor
string
Background color of the pay button.
payButtonTextColor
string
Text color of the pay button.
payButtonWithPrice
boolean
Whether the price is displayed on the pay button.
rightContainerBackgroundColor
string
Background color for the right section.
rightContainerHeadingColor
string
Heading color for the right section.
formLabelColor
string
Color of form labels.
formErrorColor
string
Color of form error messages.
formControlBorderColor
string
Border color of input fields.
formControlBorderRadius
string
Border radius for input fields.
footerColor
string
Color of the footer text.
footerIcons
array
List of icons displayed in the footer (e.g., secure-connection, verified-by-visa).
footerText
string
The text displayed in the footer.
fields
array
List of additional fields to display (email, phone, shipping_address, billing_address).
Checkout request example:
List
POST https://api.api-wasabigate.com/payments/list
Returns the lists of all transactions for a day.
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
date*
string
Date when transactions were created in 'YYYY-MM-DD' format.
timezone
string
Transactions date timezone. See Timezones dictionary for available timezones. If timezone is not specified, the transactions are returned based on UTC.
Request example
List Paged
POST https://api.api-wasabigate.com/payments/list/paging
Returns the lists of all transactions for a specific time interval. The method supports paging options to retrieve large result sets in portions. The interval looks up transactions based on the creation date.
Headers
Authorization*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
dateFrom*
string
Result set time interval from.
dateTo*
string
Result set time interval to
startingAfter
number
Forward pagination parameter. Accepts value lastId from the response
endingBefore
number
Reverse pagination parameter. Accepts value firstId from the response
timezone
string
Transactions date timezone. See Timezones dictionary for available timezones. If timezone is not specified, the transactions are returned based on UTC.
Paging usage
The result set returned for each page is limited to 1000 records. The field hasMore indicates if overall result set based on the request criteria contains more records not yet returned by the response.
Use lastId field value from the response as startingAfter request parameter in order to get the next page (result set) of data. This method is called Forward Pagination.
Use firstId field value from the response as endingBefore request parameter in order to get the previous page (result set) of data. This method is called Reverse Pagination.
When the overall result set has no more records based on the request criteria, the field hasMore will return false.
Request example
Link
POST https://api.api-wasabigate.com/payments/link
The method is used to generate a payment link, where the user can be redirected to proceed with the payment. When the payment is requested, a payment link is generated and returned in the "link" field of the response.
Headers
Authorizaton*
string
HTTP Basic authentication
Content-Type*
string
application/json
Request Body
amount*
number
Payment amount
currency*
string
Payment currency
description*
string
Payment description in text format
invoiceId
string
Order or invoice number
accountId*
string
Payer's e-mail address
successUrl*
string
The URL address the user gets redirected after successful payment operation
failureUrl*
string
The URL address the user gets redirected after the payment transaction has failed
pendingUrl*
string
The URL address the user gets redirected when the payment processing is pending
cancelUrl*
string
The URL address the user gets redirected when the payment has been cancelled by the user
locale
string
Payment form language. English language is used by default when no locale specified
ip*
string
IP address of the payer.
data
object
Additional data required for the payment processing. See request example for available fields in the data object.
personId
string
The field depends on the specific method. This can be a payer wallet or bank number.
Request example
Balance
GET https://api.api-wasabigate.com/payments/balance
Returns the list of available accounts and balance. The balance is calculated taking into account the amount of successful payments, payouts, holds and fees.
Headers
Authorizaton*
string
HTTP Basic authentication
Content-Type*
string
application/json
Response example
Response parameters description
currency*
string
Balance currency
total
number
Total funds amount on the balance
pending
number
Funds that are reserved for ongoing transactions
hold
number
Funds on hold
fee
number
Acquiring and other fees
pendingFee
number
Funds that are reserved for ongoing fees
available
number
Funds available for operations
Alternative Payments Methods
Alternative Payments Methods (APM) include non-card transactions. Good examples of Alternative Payments Methods are banklinks, kiosks, e-wallets, etc. See the list of available APMs below.
Unified Payments Interface (UPI)
2000
Link / APM Payout
India
Jammu and Kashmir Bank Limited
2087
Link / APM Payout
India
Ujjivan Small Finance Bank
2092
Link / APM Payout
India
Asia Commercial Bank (QR service)
7061
Link / APM Payout
Vietnam
Vietcombank (QR service)
7063
Link / APM Payout
Vietnam
Momo QR Payment (QR service)
7065
Link / APM Payout
Vietnam
Zalo QR Payment (QR service)
7066
Link / APM Payout
Vietnam
Zalo H5 Payment (H5 service)
7067
Link / APM Payout
Vietnam
Vietnam Prosperity Joint-Stock Commercial Bank (QR Service)
7068
Link / APM Payout
Vietnam
Military Commercial Bank (QR Service)
7069
Link / APM Payout
Vietnam
Techcombank (QR Service)
7070
Link / APM Payout
Vietnam
Vietnam International Bank
7095
Link / APM Payout
Vietnam
Vietnam Prosperity Joint-Stock Commercial Bank
7098
Link / APM Payout
Vietnam
Saigo Hanoi Commercial Joint Stock Bank
22000
Link / APM Payout
Vietnam
Military Commercial Joint Stock Bank
22001
Link / APM Payout
Vietnam
Nam A Commercial Joint Stock Bank
22006
Link / APM Payout
Vietnam
Ho Chi Minh City Development Joint Stock Commercia
22008
Link / APM Payout
Vietnam
Vietname Asia Commercial Bank
22009
Link / APM Payout
Vietnam
Sai Gon Joint Stock Commercial Bank
22010
Link / APM Payout
Vietnam
Vietnam Maritime Commercial Joint Stock Bank
22016
APM Payout
Vietnam
CIMB Thai Bank Public Company Limited
7017
Link / APM Payout
Thailand
Government Savings Bank
7018
Link / APM Payout
Thailand
United Overseas Bank (Thai) PCL.
7019
Link / APM Payout
Thailand
Government Housing Bank
7020
Link / APM Payout
Thailand
Hong Kong Shanghai Bank
7021
Link / APM Payout
Thailand
Standard Chartered Bank (Thai) PCL.
7022
Link / APM Payout
Thailand
Land and Houses Bank Public Company Limited
7023
Link / APM Payout
Thailand
Kiatnakin Bank
8013
Link / APM Payout
Thailand
Bank Of Ayudhya
31002
Link / APM Payout
Thailand
Bank Central Asia
7024
Link / APM Payout
Indonesia
Bank Negara Indonesia
7025
Link / APM Payout
Indonesia
Bank Mandiri
7026
Link / APM Payout
Indonesia
Bank Rakyat Indonesia
7027
Link / APM Payout
Indonesia
Bank Artha Graha (Support VA Wallet Only)
7028
Link / APM Payout
Indonesia
Bank Bukopin (Support VA Wallet Only)
7029
Link / APM Payout
Indonesia
Bank Commonwealth (Support VA Wallet Only)
7030
Link / APM Payout
Indonesia
Bank Danamon (Support VA Wallet Only)
7031
Link / APM Payout
Indonesia
Bank Mega (Support VA Wallet Only)
7032
Link / APM Payout
Indonesia
Bank Maspion (Support VA Wallet Only)
7033
Link / APM Payout
Indonesia
Bank Mestika (Support VA Wallet Only)
7034
Link / APM Payout
Indonesia
Bank Panin (Support VA Wallet Only)
7035
Link / APM Payout
Indonesia
Bank Sumut (Support VA Wallet Only)
7036
Link / APM Payout
Indonesia
Bank Sinar Mas (Support VA Wallet Only)
7037
Link / APM Payout
Indonesia
Bank Btpn (Support VA Wallet Only)
7038
Link / APM Payout
Indonesia
CIMB Niaga (Support VA Wallet Only)
7039
Link / APM Payout
Indonesia
HSBC Indonesia (Support VA Wallet Only)
7040
Link / APM Payout
Indonesia
Maybank /bii (Support VA Wallet Only)
7041
Link / APM Payout
Indonesia
OCBC Indonesia (Support VA Wallet Only)
7042
Link / APM Payout
Indonesia
Bank Permata (Support VA Wallet Only)
7043
Link / APM Payout
Indonesia
UOB Indonesia (Support VA Wallet Only)
7044
Link / APM Payout
Indonesia
Bank Negara Indonesia (VA)
7074
Link / APM Payout
Indonesia
Bank Mandiri (VA)
7075
Link / APM Payout
Indonesia
Bank Rakyat Indonesia (VA)
7076
Link / APM Payout
Indonesia
Maybank Indonesia (VA)
7077
Link / APM Payout
Indonesia
Bank Sahabat Sampoerna (VA)
7078
Link / APM Payout
Indonesia
Bank Sinarmas (VA)
7079
Link / APM Payout
Indonesia
CIMB Niaga (VA)
7080
Link / APM Payout
Indonesia
Bank Permata (VA)
7081
Link / APM Payout
Indonesia
USDT Crypto ERC20
7082
Link / APM Payout
Indonesia
USDT Crypto BEP20
7083
Link / APM Payout
Indonesia
Bank Tabungan Negara Bank
7099
Link / APM Payout
Indonesia
Quick Response Indonesia Standard
8015
Link / APM Payout
Indonesia
Bank BJB
21000
Link / APM Payout
Indonesia
Bank DKI
21001
Link / APM Payout
Indonesia
Bank BPD DIY
21002
Link / APM Payout
Indonesia
Bank Jateng
21003
Link / APM Payout
Indonesia
Bank Jatim
21004
Link / APM Payout
Indonesia
Bank Nagar
21005
Link / APM Payout
Indonesia
Bank Riau Kepri
21006
Link / APM Payout
Indonesia
Bank Sumselbabel
21007
Link / APM Payout
Indonesia
Bank Kalbar
21008
Link / APM Payout
Indonesia
Bank Kaltimtara
21009
Link / APM Payout
Indonesia
Bank Kalteng
21010
Link / APM Payout
Indonesia
Bank Sulselbar
21011
Link / APM Payout
Indonesia
Bank BPD Bali
21012
Link / APM Payout
Indonesia
Bank Maluku Malut
21013
Link / APM Payout
Indonesia
Bank Papua
21014
Link / APM Payout
Indonesia
Bank Banten
21015
Link / APM Payout
Indonesia
Bank BNP
21016
Link / APM Payout
Indonesia
Bank Muamalat
21017
Link / APM Payout
Indonesia
Bank Shinhan
21018
Link / APM Payout
Indonesia
Bank QNB Indonesia
21019
Link / APM Payout
Indonesia
Bank BTN
21020
Link / APM Payout
Indonesia
Bank Woori Saudara
21021
Link / APM Payout
Indonesia
Bank Jasa Jakarta
21022
Link / APM Payout
Indonesia
Bank KEB Hana Indonesia
21023
Link / APM Payout
Indonesia
Bank MNC
21024
Link / APM Payout
Indonesia
Bank SBI Indonesia
21025
Link / APM Payout
Indonesia
Bank Digital BCA (Blu) / Bank Royal
21026
Link / APM Payout
Indonesia
Bank National Nobu
21027
Link / APM Payout
Indonesia
Bank Ina Perdana
21028
Link / APM Payout
Indonesia
Prima Master Bank
21029
Link / APM Payout
Indonesia
Bank Sahabat Sampoerna
21030
Link / APM Payout
Indonesia
Bank Multiarta Sentosa
21031
Link / APM Payout
Indonesia
Bank Index Selindo
21032
Link / APM Payout
Indonesia
Bank Victoria
21033
Link / APM Payout
Indonesia
Bank Harda Internasional
21034
Link / APM Payout
Indonesia
IBK Bank Indonesia
21035
Link / APM Payout
Indonesia
Bank CTBC Indonesia
21036
Link / APM Payout
Indonesia
Citibank Indonesia
21037
Link / APM Payout
Indonesia
Bank CCB Indonesia
21038
Link / APM Payout
Indonesia
MUFG Bank
21039
Link / APM Payout
Indonesia
Bank DBS Indonesia
21040
Link / APM Payout
Indonesia
Standard Chartered Bank
21041
Link / APM Payout
Indonesia
Bank Capital Indonesia
21042
Link / APM Payout
Indonesia
Bank of China Jakarta Branch
21043
Link / APM Payout
Indonesia
Bank Bumi Arta
21044
Link / APM Payout
Indonesia
Bank Rabobank
21045
Link / APM Payout
Indonesia
Bank Jtrust Indonesia
21046
Link / APM Payout
Indonesia
Bank Mayapada
21047
Link / APM Payout
Indonesia
Bank IDRK
21048
Link / APM Payout
Indonesia
Bank Central Asian (Virtual Account)
21049
Link / APM Payout
Indonesia
Panin Bank
21050
Link / APM Payout
Indonesia
Bank Danamon
21051
Link / APM Payout
Indonesia
Bank Bukopin
21052
Link / APM Payout
Indonesia
Bank Mega
21053
Link / APM Payout
Indonesia
Bank Sinarmas
21054
Link / APM Payout
Indonesia
Bank BTN (Virtual Account)
21055
Link / APM Payout
Indonesia
Bank Maybank Indonesia
21056
Link / APM Payout
Indonesia
Bank Permata
21057
Link / APM Payout
Indonesia
Affin Bank Berhad / Affin Islamic Bank
7045
Link / APM Payout
Malaysia
Bank Rakyat Malaysia Berhad
7049
Link / APM Payout
Malaysia
Bank Simpanan Nasional Berhad
7050
Link / APM Payout
Malaysia
HSBC Bank Malaysia Berhad
7054
Link / APM Payout
Malaysia
OCBC Bank (Malaysia) BHD
7056
Link / APM Payout
Malaysia
United Overseas Bank Berhad
7060
Link / APM Payout
Malaysia
BANK ISLAM MALAYSIA (FPX)
8016
Link / APM Payout
Malaysia
STANDARD CHARTERED BANK (FPX)
8022
Link / APM Payout
Malaysia
HSBC Bank Malaysia (FPX)
23003
Link / APM Payout
Malaysia
OCBC Bank (Malaysia) (FPX)
23005
Link / APM Payout
Malaysia
Bank Simpanan Nasional (FPX)
23008
Link / APM Payout
Malaysia
Affin Bank Berhad (FPX)
23009
Link / APM Payout
Malaysia
Industrial and Commercial Bank of China
9000
Link / APM Payout
China
Agricultural Bank of China
9001
Link / APM Payout
China
Postal Savings Bank of China
9010
Link / APM Payout
China
Shanghai Pudong Development Bank
9012
Link / APM Payout
China
Agricultural Development Bank of China
9015
Link / APM Payout
China
Supported Banks (Access, FirstBank, GT Bank, Zenith, Sterling, Providus & Unity Bank)
16000
Link
Nigeria
Payout Supported Banks (Access, FirstBank, GT Bank, Zenith, Sterling, Providus & Unity Bank)
16001
APM Payout
Nigeria
Supported Banks (ABSA, FNB, Standard, Nedbank, Capitec & Investec)
17000
Link
South Africa
Payout Supported Banks (ABSA, FNB, Standard, Nedbank, Capitec & Investec)
17001
APM Payout
South Africa
Bank of America Corporation
24009
Link / APM Payout
Japan
Aichi Doctors Credit Cooperative
24015
Link / APM Payout
Japan
The Hongkong and Shanghai Banking Corporation Limit
24038
Link / APM Payout
Japan
Sumitomo Mitsui Banking Corporation
24044
Link / APM Payout
Japan
The Hiroshima Shinkin Bank
24075
Link / APM Payout
Japan
The Oita Mirai Shinkin Bank
24082
Link / APM Payout
Japan
PayPay Bank (The Japan Net Bank)
24094
Link / APM Payout
Japan
Mitsubishi UFJ Trust and Banking Corporation
24106
Link / APM Payout
Japan
G-XChange Inc. (GCash)
40000
Link / APM Payout
Philippines
PayMaya Philippines
40001
Link / APM Payout
Philippines
INDUSTRIAL BANK OF KOREA
50008
Link / APM Payout
South Korea
STANDARD CHARTERED FIRST BANK KOREA
50009
Link / APM Payout
South Korea
NATIONAL AGRICULTURAL COOPERATIVE FEDERATION
50010
Link / APM Payout
South Korea
Industrial Bank of Korea Payout
50014
APM Payout
South Korea
Standard Chartered Bank Korea Payout
50020
APM Payout
South Korea
Korea Exchange Bank (KEB Hana Bank) Payout
50026
APM Payout
South Korea
National Agricultural Cooperative Federation Payout
50029
APM Payout
South Korea
Korea Fedration of Community Credi Cooperative Payout
50030
APM Payout
South Korea
National Credit Union Federation of Korea Payout
50031
APM Payout
South Korea
Local Cooperative Federation Payout
50032
APM Payout
South Korea
DBS BANK LIMITED
55001
Link / APM Payout
Singapore
OCBC BANK
55004
Link / APM Payout
Singapore
STANDARD CHARTERED
55005
Link / APM Payout
Singapore
UNITED OVERSEAS BANK LIMITED
55006
Link / APM Payout
Singapore
BKash
56000
Link / APM Payout
Bangladesh
Nagad
56001
Link / APM Payout
Bangladesh
Rocket
56002
Link / APM Payout
Bangladesh
Upay
56003
Link / APM Payout
Bangladesh
APM Payments can be requested using the Link API. When the Link API is requested, the corresponding APM Type ID must be supplied in the paymentTypeId field of the data object.
Link request example for APM Test Payment (1)
APM Payout
POST https://api.api-wasabigate.com/payments/apm/payout
APM Payout include non-card transaction payouts. Goods examples of APM Payouts are payouts to e-wallets or bank accounts.
Headers
Content-Type*
string
application/json
Authorization*
string
HTTP Basic Authentication
Request Body
description*
string
Payout description in text format
invoiceId
string
Order or invoice number
currency*
string
Payout currency
amount*
number
Payout amount
data
object
Additional data required for the payout processing. See request example for available fields in the data object
name*
string
Funds recipient name
accountId*
string
Funds recipient e-mail address
APM Payout example for APM Test Payout (2)
APM Payout Testing credentials for APM Test Payout (2)
success@bank
Successful payout test credentials
failure@bank
Failed payout test credentials
Request example for certain methods. (1)
Link request example for certain methods. (1)
APM request example for certain methods. (1)
APM Payout request example for certain methods. (2)
APM Payout request example for UPI (3020)
APM Payout request example to India bank account (3021)
Notifications
Notification is an HTTP request from the system to your site. Similar requests are also called callback or webhook. The system provides notifications about successful and unsuccessful payments.
Payment Success
The Success notification is performed once a payment is successfully completed. It serves the purpose of information about a payment: the system sends a request to a merchant's website address with payment information, and the merchant's site has to register the fact of payment.
Parameter
Type
Usage
Description
transactionId
Integer
Required
Transaction number in the system
amount
Number
Required
Actual amount
currency
String
Required
Currency
dateTime
String
Required
Date and time
invoiceId
String
Optional
Invoice or order number
accountId
String
Optional
Payer's identifier
operationTypeCode
Integer
Required
Transaction operation code
operationType
String
Required
Transaction operation ("Payment")
status
String
Required
Transaction status ("Completed")
statusCode
Integer
Required
Transaction status code
cardFirstSix
String
Required
Transaction Card PAN first 6 numbers
cardLastFour
String
Required
Transaction Card PAN last 4 numbers
cardType
String
Required
Card type (VISA, Mastercard, Amex)
cardExpDate
String
Required
Card expiry date in MM/YYYY format
name
String
Optional
Cardholder's name
token
String
Optional
Payment card's token. Returned only if accountId
was provided during the payment
initialAmount
Number
Optional
Initial amount
bankArn
String
Optional
Bank ARN
Payment Failure
In the event of a payment failure, the merchant is able to receive a notification with transaction details and failure explanation.
Parameter
Type
Usage
Description
transactionId
Integer
Required
Transaction number in the system
amount
Number
Required
Amount
currency
String
Required
Currency
dateTime
String
Required
Date and time
invoiceId
String
Optional
Invoice or order number
accountId
String
Optional
Payer's identifier
operationTypeCode
Integer
Required
Transaction operation code
operationType
String
Required
Transaction operation ("Payment")
status
String
Required
Transaction status ("Declined")
statusCode
Integer
Required
Transaction status code
cardFirstSix
String
Required
Transaction Card PAN first 6 numbers
cardLastFour
String
Required
Transaction Card PAN last 4 numbers
cardType
String
Required
Card type (VISA, Mastercard, Amex)
cardExpDate
String
Required
Card expiry date in MM/YYYY format
name
String
Optional
Cardholder's name
reason
String
Required
Transaction failure reason
reasonCode
Integer
Required
Transaction failure reason code
Refund Success
The Refund Success notification is performed if a payment was refunded (fully or partially) on your initiative via the API or Back Office.
Parameter
Type
Usage
Description
paymentTransactionId
Integer
Required
Transaction number of the initial payment in the system
transactionId
Integer
Required
Refund transaction number in the system
amount
Number
Required
Refund amount
currency
String
Required
Currency
dateTime
String
Required
Date and time
invoiceId
String
Optional
Invoice or order number
accountId
String
Optional
Payer's identifier
operationTypeCode
Integer
Required
Transaction operation code
operationType
String
Required
Transaction operation ("Refund")
status
String
Required
Transaction status ("RefundCompleted")
statusCode
Integer
Required
Transaction status code
Refund Failure
The Refund Failure notification is performed if a payment refund request (full or partial) has failed.
Parameter
Type
Usage
Description
paymentTransactionId
Integer
Required
Transaction number of the initial payment in the system
transactionId
Integer
Required
Refund transaction number in the system
amount
Number
Required
Refund amount
currency
String
Required
Currency
dateTime
String
Required
Date and time
invoiceId
String
Optional
Invoice or order number
accountId
String
Optional
Payer's identifier
operationTypeCode
Integer
Required
Transaction Operation Code
operationType
String
Required
Transaction operation ("Refund")
status
String
Required
Transaction status ("Declined")
statusCode
Integer
Required
Transaction status code
reason
String
Required
Transaction failure reason
reasonCode
Integer
Required
Transaction failure reason code
Payout Success
The Payout Success notification is performed if funds were paid out on your initiative via the API or Back Office.
Parameter
Type
Usage
Description
transactionId
Integer
Required
Payout transaction number in the system
amount
Number
Required
Payout amount
currency
String
Required
Currency
accountId
String
Required
Payer's identifier
invoiceId
String
Optional
Invoice or order number
dateTime
String
Required
Date and time
operationTypeCode
Integer
Required
Transaction operation code
operationType
String
Required
Transaction operation ("CardPayout")
status
String
Required
Transaction status ("PayoutCompleted")
statusCode
Integer
Required
Transaction status code
Payout Failure
The Payout Failure notification is performed if funds payout request has failed.
Parameter
Type
Usage
Description
transactionId
Integer
Required
Payout transaction number in the system
amount
Number
Required
Payout amount
currency
String
Required
Currency
accountId
String
Required
Payer's identifier
invoiceId
String
Optional
Invoice or order number
dateTime
String
Required
Date and time
operationTypeCode
Integer
Required
Transaction operation code
operationType
String
Required
Transaction operation ("CardPayout")
status
String
Required
Transaction status ("Declined")
statusCode
Integer
Required
Transaction status code
reason
String
Required
Transaction failure reason
reasonCode
Integer
Required
Transaction failure reason code
Payment Check
The Payment Check notification is performed once a cardholder filled in a payment form and pressed the “Pay” button. It serves the purpose of payment validation: the system sends a request to a merchant's website address with payment information, and the website must validate and reply back if the payment has to be confirmed or rejected.
Parameter
Type
Usage
Description
transactionId
Integer
Required
Payment transaction number in the system
amount
Number
Required
Payment amount
currency
String
Required
Payment currency
dateTime
String
Required
Date and time
invoiceId
String
Required
Invoice or order number
accountId
String
Required
Payer's identifier
name
String
Required
Cardholder's name
operationTypeCode
Integer
Required
Transaction operation code
operationType
String
Required
Transaction operation ("Payment")
cardFirstSix
String
Required
Transaction Card PAN first 6 numbers
cardLastFour
String
Required
Transaction Card PAN last 4 numbers
cardType
String
Required
Card type (VISA, Mastercard, Amex)
cardExpDate
String
Required
Card expiry date in MM/YYYY format
status
String
Required
Transaction status ("Created")
statusCode
Integer
Required
Transaction status code
Payment Check notifications expects HTTP status 200 with response in JSON format with the required parameter code:
Response codes
Payment Check notification expects the code value "0" in order to proceed with the payment. Any other numeric value received with the response will reject the payment processing.
Notification confirmation
The system expects the 200 HTTP response in JSON format with the required parameter code equal to 0
Parameter
Type
Description
code
Integer
Notification confirmation code
Notification confirmation example
In case the System didn't receive the mentioned success code, notification sending will be repeated 5 times.
Handling amount mismatches
In case the paid amount differs from the original order amount, the amount field in the callback may contain either the original amount or the actual paid amount. This is an intended feature.
If the merchant cannot accept payments for amounts different from the original, such cases should be handled manually by support.
There are two possible approaches:
Send the actual paid amount in the callback.
Do not approve the transaction. In this case, the user must create a new order with the correct amount and submit it for approval.
Notification validation
All the notifications have the Content-HMAC HTTP header which contains a validation value of a request which is calculated using the HMAC algorithm. If you need to verify authenticity and integrity of notifications, you can calculate a validation value on your side and compare it with the request value. The coincidence confirms that you received the notification we sent in the original form.
For notifications sent by POST method the message is represented by a request body.
Hash is calculated by SHA256 function;
The secret API is used as a key, which can be obtained in your Back Office;
The calculated value is passed in base64 encoding.
HMAC value calculation and encoding example
Output result:
The system sends notifications from the following addresses 34.88.67.143, 34.141.75.73.
Testing
Once you have an access to Back Office, it is in a test mode already which means that payments and other operations will take place in emulation mode. After you create a site in Back Office, it is automatically assigned a test mode.
Cards for Payment Operation tests
Card
Expiry
CVV
3-D Secure
Schema
Result
4111111111111111
12/24
123
Yes
Advanced
Success
4111111111111111
12/24
333
Yes
Advanced
Failure
4200000000000000
12/24
123
Yes
Redirect
Success
4200000000000000
12/24
333
Yes
Redirect
Failure
4242424242424242
12/24
123
No
None
Success
4242424242424242
12/24
333
No
None
Failure
Cards for Refund Operation tests
Card
Result
Description
4242424242424242
RefundCompleted
Successful refund (full or partial)
4111111111111111
Declined
All refund requests to this card will be declined by the system
4200000000000000
Created
Refund request will be created, but not processed further until the result is received from the acquiring bank
Cards for Card Payout Operation tests
Card
Result
Description
4242424242424242
PayoutCompleted
Successful payout to a card
4111111111111111
Declined
All payout requests to this card will be declined by the system
4200000000000000
Created
Payout request will be created, but not processed further until the result is received from the acquiring bank
Dictionaries
Transaction Status
ID
Status
Description
1
AwaitingAuthentication
Waiting for 3-D Secure authentication
4
Completed
Payment transaction successful completion
5
RefundCompleted
Refund transaction successful completion
7
PayoutCompleted
Payout transaction successful completion
10
Created
Transaction has been created
99
Declined
Transaction processing failure
Transaction Operations
ID
Operation
Description
1
Payment
Transaction operation when funds are charged from the credit card
2
Refund
Operation when funds are returned back to a credit card after the initial Payment operation
3
CardPayout
Operation when the funds are paid out to a credit card
Timezones
Timezone
Description
Pacific/Samoa
GMT-11:00
US/Hawaii
GMT-10:00
US/Alaska
GMT-09:00
America/Los_Angeles
GMT-08:00
US/Arizona
GMT-07:00
America/Mexico_City
GMT-06:00
US/East-Indiana
GMT-05:00
Atlantic/Bermuda
GMT-04:00
America/Santiago
GMT-03:00
America/Noronha
GMT-02:00
Atlantic/Azores
GMT-01:00
Europe/London
GMT+00:00
Europe/Paris
GMT+01:00
Europe/Riga
GMT+02:00
Europe/Moscow
GMT+03:00
Asia/Tbilisi
GMT+04:00
Asia/Yekaterinburg
GMT+05:00
Asia/Omsk
GMT+06:00
Asia/Tomsk
GMT+07:00
Singapore
GMT+08:00
Asia/Chita
GMT+09:00
Asia/Vladivostok
GMT+10:00
Australia/Sydney
GMT+11:00
Last updated