Introduction
Welcome to our Payment Gateway System

Our powerful web-based online payment services platform, a trusted solution utilized by numerous renowned companies and organizations in the region. Our system offers a secure, multi-channel, multi-lingual, and multi-currency payment experience.
Integration Methods:
Choose the integration method that best suits your needs:
Web Integration | Mobile Integration |
Client Post through Browser (e.g. Shopping Cart) This method is favoured by merchants for its simplicity and speed. It enables swift website integration, ensuring a seamless user experience with a streamlined transaction flow. | This section explains the integration of PaySDK Android SDK in merchant android mobile application. |
Tailored for Online Shopping Carts, this method uses HTML and JavaScript for broad compatibility, ensuring a seamless experience | This section explains integration of PaySDK iOS SDK in merchant iOS mobile application. |
Server Side Direct Connection (e.g. IVR System, Mobile App) Merchants request payment authorization via our gateway, pending bank approval. They integrate their IVR or app, and create a custom payment page | Merchants can seek direct payment authorization from the bank via our gateway, pending acquiring bank approval. They'll set up a custom payment page to collect information like credit card details, which will be sent to a specific URL provided by the acquiring bank. Customers won't encounter a bank payment page in this process. |
Purpose of this Document:
This technical specification document prescribes the constituent parts of specification for integration of an e-commerce web site with PayDollar/SiamPay/PesoPay e-commerce service, the on-line payment service by AsiaPay (HK) Limited, by subscribed merchants of the service. This document has been created to ensure that all technical specifications contain sufficient information to enable a merchant to design and modify the codes of an existing on-line shopping architecture or software to cater for the payment –enabling service. It also provides a checklist to enable the reviewers of specifications to conduct tests on the functionalities of the integration.
Enhanced Security with 3DS 2.0:
There is an extra parameter section under each connection method. That section is especially designed for 3DS 2.0 (Three Domain Secure 2.0). 3DS authentication is an additional security layer for card-not-present transactions. With 3DS 2.0, it is aimed to achieve a better, stronger fraud-detection intelligence.
Merchant API Functions:
In a later section, we'll provide an in-depth description of the various API functions available to subscribed merchants, ensuring a seamless integration process.
Thank you for choosing our payment gateway system. Let's get started.
Web Integration
Following are the three methods of Web Integration
Client Post Through Browser
Introduction
This method stands as the preferred choice among merchants for its simplicity and speed. It offers a swift integration process, allowing merchants to launch their website seamlessly. The transaction flow is ready-made, streamlining the payment process for an optimal user experience.
This method is characterized by its:
- Simplicity: With an intuitive integration process, merchants can swiftly incorporate our payment gateway into their website.
- Speed: The connection is established quickly, ensuring a seamless checkout experience for customers.
- Ready-to-Use Flow: The payment transaction flow is pre-configured, saving merchants time and effort.
Additionally, this method supports small-scale integrations, enabling merchants to set up their website promptly.
Scope and Compatibility (Requirement)
Direct Client Side Connection
Introduction
This connection method is tailored for merchants utilizing an Online Shopping Cart System. It relies on HTML and JavaScript, ensuring wide applicability across various online shopping cart software and architectures. While the intricate technical specifications and variations of these systems are beyond the scope of this document, this integration method guarantees a seamless experience.
Compatibility with Shopping Cart Software
For detailed compatibility with specific shopping cart software, we recommend referring to our comprehensive documentation available on our platform. This resource provides extensive information to facilitate a smooth integration process with your preferred shopping cart system.
3-D Secure Verification Process
In cases where the customer's credit card is enrolled in 3-D Secure, an additional layer of security is implemented. The customer will be prompted to provide either a static or one-time password to verify their identity. This 3-D Secure protocol, implemented by major credit card brands such as VISA ("Verified By VISA"), MasterCard ("MasterCard SecureCode"), JCB ("J/Secure"), and AMEX ("AMEX SafeKey"), significantly reduces fraudulent online transactions.
Integration with Verified By VISA (3-D Secure)
This document uses Verified By VISA as an illustrative example to demonstrate the verification process in detail, emphasizing its standardized approach across all major brand types.
SSL Certificate Requirement
For merchants opting for this connection method, a 128-bit SSL server certificate must be installed to ensure data encryption. The system strictly requires encrypted data for processing.
Our payment gateway system employs an Extended Validation (EV) SSL Certificate to enhance security. To ensure seamless functionality, it's crucial to verify if your certificate store recognizes the VeriSign intermediate CA certificate - Secure SitePro / Managed PKI for SSL Premium with EV Certificates. If not, please install the VeriSign intermediate CA certificate in your certificate store.
Server Side Direct Connection
Introduction
This connection method is for merchant to request payment authorization from bank directly through our payment gateway system and subject to approval of acquiring bank. For example, merchant’s IVR system or mobile application can directly integrate to us. And in this connection, merchants need to build their own payment information collection page to collect payment information, such as credit card number, expire data, holder’s name and etc. Then, payment information has to be sent to a defined URL provided by the acquiring bank. Customer of the merchant, therefore, will not see any bank’s payment page.
For merchant who chooses this method of connection, 128-bit SSL cert must be installed for data encryption. The system does not accept non-encrypted data.
Our payment gateway system uses Extended Validation (EV) SSL Certificate. To ensure your system function properly, please check your certificate store can recognize VeriSign intermediate CA certificate - Secure Site Pro/Managed PKI for SSL Premium with EV Certificates. If not, you are required to install the VeriSign intermediate CA certificate in your certificate store.
Please download the primary and secondary VeriSign EV SSL Intermediate CA certificates from the following link then import the 2 certificates into the keystore of your environment. http://www.verisign.com/support/verisign-intermediate-ca/extended-validation-pro/index.html
(Please be reminded that you should choose the option “Issued After May 17th, 2009”)
We use Server Side Direct Connection for App 2 App integration and wallet payment direct integration. For the detail, please reference with "Integration Guide (Wallet Direct Connection)”
Sample Code
Kick Off
After the integration has been completed, it is ready to launch your e-commerce web to serve your customers. Please copy the following TESTING URL for Direct Connect Server Post method:
Payment Gateway | SandBox |
PayDollar | https://test.paydollar.com/b2cDemo/eng/directPay/payComp.jsp |
SiamPay | https://test.siampay.com/b2cDemo/eng/directPay/payComp.jsp |
PesoPay | https://test.pesopay.com/b2cDemo/eng/directPay/payComp.jsp |
Base URL
Payment Gateway | SandBox |
PayDollar | https://test.paydollar.com/b2cDemo/eng/directPay |
SiamPay | https://test.siampay.com/b2cDemo/eng/directPay |
PesoPay | https://test.pesopay.com/b2cDemo/eng/directPay |
As different type of programming language have different syntax, so we just propose the method to connect to our payment page. To connect, we suggest you to use server side posting: Sample code for server post by using java:
// Set up the post data
String postData = "merchantId=1&orderRef=test&amount=1&currCode=344&pMethod=VISA&epMonth=01&epYear=2002&cardNo=4123412341234123&cardholder=Edward&remark=test”;
// Post to payment page
strResult = ServerPost.post(postData, https://test.paydollar.com/b2cDemo/eng/directPay/payComp.jsp );
// Extract the payment status from strResult
...
// Finish
**
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
public class ServerPost {
static public String post(String ip_postData, String ip_pageUrl) {
try {
String strResult = "";
URL url = new URL(ip_pageUrl); URLConnection con = url.openConnection(); //from secure site
if (con instanceof com.sun.net.ssl.HttpsURLConnection) {
((com.sun.net.ssl.HttpsURLConnection) con).setSSLSocketFactory
(SSLSocketFactory) SSLSocketFactory.getDefault());
}
con.setDoOutput(true);
con.setDoInput(true);
// Set request headers for content type and length
con.setRequestProperty(
"Content-type",
"application/x-www-form-urlencoded");
con.setRequestProperty(
"Content-length",
String.valueOf(ip_postData.length()));
// Issue the POST request
OutputStream outStream = con.getOutputStream();
outStream.write(ip_postData.getBytes());
outStream.flush();
// Read the response
InputStream inStream = con.getInputStream();
while (true) {
int c = inStream.read();
if (c == -1)
break;
strResult = strResult + String.valueOf((char) c);
}
inStream.close();
outStream.close();
return strResult;
}
catch (Exception e) {
System.out.print(e.toString());
return null;
}
}}
Integration Parameters
The following are the parameters for integration. Our payment gateway system is case sensitive. Make sure the typeface is correct. When a transaction is finish, the system will return customer a payment message on the page created by merchant.
Required Parameter
Required Parameter ( with UTF-8 Encoding ) for connect to our payment interface
Parameters | Data Type | Descriptions |
orderRef | Text (35) | Merchant‘s Order Reference Number |
amount | Number (12,2) | Total amount your want to charge the customer [ Up to 2 decimal place ] Remark: mpsMode = MCP, the amount should be calculated in base currency. |
currCode | Text (3) | The currency of the payment: “344” – HKD “840” – USD “702” – SGD “156” – CNY (RMB) “392” – JPY “901” – TWD “036” – AUD “978” – EUR “826” – GBP “124” – CAD “446” – MOP “608” – PHP “764” – THB “458” – MYR “360” – IDR “410” – KRW “682” – SAR “554” – NZD “784” – AED “096” – BND “704” – VND “356” – INR Remark: mpsMode = MCP, the currCode value should be in base currency. |
lang | Text (1) | The language of the payment page : “E” - English |
merchantId | Number | The merchant ID we provide to you |
pMethod | Text | The payment card type “VCO” – VISA Checkout Card Payment: (“VISA”, “Master”, ”Diners”, ”JCB”, ”AMEX”) eWallet Payment: “ALIPAYAPP” – Alipay Global App “ALIPAYCNAPP” – Alipay China App “ALIPAYHKAPP” – Alipay HK App “WECHATAPP” – WeChat Pay App “WECHATONL” – WeChat Pay QR “FPS” – FPS App 2 App “OCTOPUS” – Octopus App 2 App / QR “PayMe” – PayMe App 2 App / QR “BoCPayAPP” – BocPay App 2 App |
epMonth | Number(2) | Credit card expiry month |
epYear | Number(4) | Credit card expiry year |
cardNo | Text (16) | Credit card number |
cardHolder | Text (20) | Credit card holder name |
securityCode | Text (4) | Credit Card Verification Code
|
payType | Text (1) (“N”,”H”) | The payment type: “N” – Normal Payment (Sales) “H” – Hold Payment (Authorize only) For merchants who use authorize mode, please be reminded to perform the CAPTURE action as soon as the transaction is confirmed as valid. Once captured, the customer's credit card will be debited in coming bank settlement processing. If the merchant does not capture/reverse the authorized transaction over 14 days, the credit limit will be released to the cardholder after a time period which is subjected to card issuing bank Merchant may capture/reverse the authorized transaction in the merchant administration site > Operation > Transaction Detail. Remark: Hold Payment is not available for PPS, PAYPAL, CHINAPAY, ALIPAY, TENPAY, 99BILL, MEPS, OCTOPUS, NOVAPAY, ENETS, MYCLEAR, POLI, UPOP, UPOP-GNETE, UPOP-DNA, FUIOU, SCB, KRUNGSRIONLINE, KTB, UOB, TMB, IBANKING, BPM, GCash, BancNet, SMARTMONEY, M2U, CIMBCLICK, WECHAT, ONEPAY |
Optional Parameters
Installment
Optional Parameter for installment
Parameters | Data Type | Descriptions |
installment_service | Text (1) (“T”,”F”) | Installment service indicator |
installment_period | Number | In number of months |
Airline Data
Optional Parameter for Airline Data
Parameters | Data Type | Descriptions |
airline_service | Text (1) (“T”,”F”) | Airline service indicator |
airline_ticketNumber | Text (13) | Air ticket number |
Billing Information
Optional Parameter for Billing Information
Parameters | Data Type | Descriptions |
billingFirstName | Text(60) | First name of customer |
billingLastName | Text(60) | Last name of customer |
billingStreet1 | Text(40) | Address of customer |
billingStreet2 | Text(40) | Address of customer ,only mandatory if address exceed 40 |
billingCity | Text(50) | City |
billingState | Text(2) | Mandatory if customer’s country is USA or Canada |
billingPostalCode | Text(10) | Mandatory if customer’s country is USA or Canada |
billingCountry | Text(2) | Eg.HK |
billingEmail | Text(255) | Email address |
custIPAddress | Text(15) | 192.168.180.100 |
Connect to our payment interface
Optional Parameter for connecting to our payment interface
Parameters | Data Type | Descriptions |
remark | Text (50) | An additional remark field that will appear in the confirmation email and transaction detail report to help you to refer the order |
secureHash | Text (40) | Secure hash is used to authenticate the integrity of the transaction information and the identity of the merchant. It is calculated by hashing the combination of various transaction parameters and the Secure Hash Secret. *Applies to merchants who registered this function only. For more information, please refer to section 4. |
payMode | Text(2) | Payment Mode “EC” - Electronic Commerce (Default) “MO” - Mail Order “RC” - Recurring “RT” - Retail |
orderPhoneNo | Text(30) | Phone Number of order |
Multi Currency Pricing (MCP)
Optional Parameter for Multi Currency Pricing (MCP)
Parameters | Data Type | Descriptions |
mpsMode | Text(3) | The Multi-Currency Processing Service (MPS) Mode: “MCP” – Enable MPS with ‘Multi Currency Pricing’ For merchant who applied MPS function |
multiRateID | Text (12) | Unique Rate ID *Returned from API function “MCPMultiRateEnquiry” |
mpsExRate | Number (10,4) | Exchange rate between the merchant’s base currency and the foreign currency. *Returned from API function “MCPMultiRateEnquiry” |
foreignCurrCode | Text (3) | Foreign currency code |
foreignAmount | Number (12,2) | Calculated foreign amount *The foreign amount should be converted from a base amount with minimum value HKD10 / MOP10 to avoid tolerance check failure. |
Third Party EWallet
Optional Parameter for using third party EWallet
Parameters | Data Type | Descriptions |
eWalletService | Text (“T”,”F”) | EWallet service indicator |
eWalletBrand | Text (10) | The value of the “eWalletBrand”: “MP” – MasterPass “VCO” – VISA Checkout “APPLEPAY” – Apple Pay “ECO” – AMEX ExpressCheckout “SAMSUNG” – Samsung Pay “GOOGLE” – Google Pay™ |
eWalletPaymentData | Text | Retrieved EWallet data with Base64 Format *Used for Samsung Pay |
eWalletInd | Text | Only Text(3) for MasterPass EWallet, The Wallet Indicator is returned by the wallet platform and must be passed to the payment processor/acquirer in the financial authorization transaction. |
vcoCallid | Text | Value of “callid” returned from VISA Checkout *Only for “VISA Checkout Direct Integration” |
Card Data Encryption
Optional Parameters for Card Data Encryption
Parameters | Data Type | Descriptions |
encryptMode | Text | Encryption Mode: “WEB” – For online transaction “POS” – For POS card present transaction |
encryptAlgo | Text | Encrypted Algorithm: -“DEsede/CBC/PKCS5Padding” For “POS” -“AES/CBC/PKCS5Padding” For “WEB” |
encryptedTrack1Data | Text | Encrypted card track 1 data Format: Initialization vector IV(16) + Encrypted Track 1 Data Note: The maximum record length for Track1 Data is 79 alphanumeric characters. Sample Track1 Data before encryption in plain text: “%B4111111111111111^MR TEST C ABCDE 18091019681143300001 840 ?;” |
encryptedTrack2Data | Text | Encrypted card track 2 data Format: Initialization vector IV(16) + Encrypted Track 2 Data Note: The maximum record length for Track2 Data is 40 alphanumeric characters. Sample Track2 Data before encryption in plain text:“; 4111111111111111=18091019681143384001?” |
encryptedEmvData | Text | Encrypted card EMV data read through a chip on the EMV card Format: Initialization vector IV(16) + Encrypted EMV Data |
encryptedData | Text | Other customized encrypted data (For partner only) For encrytedMode is "WEB", please follow this format cardNo|expDate|cardHolder|securityCode before encryption |
COF and MIT
Optional Parameter for COF and MIT
Parameters | Data Type | Descriptions |
appId | Text (5) | Application Type Id for the transaction “MIT” – Initial Merchant Initiated Transaction “MITS” – Sub Sequence Merchant Initiated Transaction “COF” – Initial Card On File Transaction “COFS” – Sub Sequence Card On File Transaction “REC” – Initial Recurring Transaction “RECS” – Sub Sequence Recurring Transaction |
appRef | Text (30) | Application Reference for the transaction based on the Application Type
|
3D Transaction
Parameter For 3D Transaction (Need to install MPI Server Software at Merchants’ site)
Parameters | Data Type | Descriptions |
vbvTransaction | Text (“T”,”F”) | 3D Transaction (i.e. Verified By VISA, MasterCard SecureCode, J/Secure, AMEX SafeKey) “T” – True: The transaction has been gone through the VE/PA process OR performed 3DS 2.0 Authentication. “F” – False: Non-3D transaction without go through the VE/PA process [ No need to send other 3D parameters except vbvTransECI ] *Note: Bank’s approval is required for non-3D transactions, please contact us for further details. |
vbvCHReturnCode | Number | Verify Enrollment Return Code
|
vbvPAReturnCode | Number | Payer Authentication Return Code
|
vbvTransTime | Text in format (YYYYMMDD HH:MM:SS) | Transaction Time, time, MPI PA Response Message. If using 3DS 2.0, the receiving time of Authentication Response / Result Request. |
vbvTransAuth | Text (28) | Cardholder Authentication Verification Value, CAVV, value in MPI PA Response Message [ Must be in Base64-Encoded format ] If using 3DS 2.0, the Authentication Value in Authentication Response / Result Request. |
vbvTransECI | Text (2) | Electronic Commerce Indicator, ECI, value in MPI PA Response Message For VISA & JCB card payment:
For MasterCard payment:
For Other credit card payment, set it to “07” If using 3DS 2.0, the ECI Value in Authentication Response / Result Request. |
vbvCAVVAlgo | Text | CAVV Algorithm, cavvAlgorithm, in MPI PA Response Message Keep empty / null if using 3DS 2.0. |
vbvXID | Text(20) | Transaction Identifier, xid, in MPI PA Response Message [ Must contain 20 characters ] Keep empty / null if using 3DS 2.0. |
vbvMerchantID | Text | Acquirer-defined Merchant Identifier, merID, in MPI PA Response Message If using 3DS 2.0, the “Acquirer Merchant ID” of Authentication Request. |
vbvAcquirerBin | Text | Acquirer BIN, acqBIN, in MPI PA Response Message If using 3DS 2.0, the “Acquirer BIN” of Authentication Request. |
vbvTransStatus | Text(1) | Transaction Status, status, in MPI PA Response Message
|
3DS 2.0
The following are the parameters especially for 3DS 2.0. Merchant shall fulfill the parameters requirement to start using 3DS 2.0. The parameters are case sensitive and should be in UTF-8 encoding.
Mobile Integration
Data Feed Handling
To use data feed function, merchant has to create a data feed page and inform payment gateway system about the location of your page (e.g. http://www.yourdomain.com/datafeed.jsp). Merchant can enable or disable this function in the merchant administration site.
Transaction Security By Secure Hash
Multi-Currency Processing Service
Functions Of Merchant API
Exceptional Transaction Handling
This section explains various scenarios of transactions, other than good and successful transactions that may occur.
Payment Methods by Regions/Countries
Australia
Payment Options | Payment Methods |
Credit and Debit Card | American Express, China UnionPay, Mastercard, Visa |
Internet Banking | PayTo, PayID |
Digital Wallet | Alipay, PayPal, PayID, WechatPay |
Buy Now Pay Later | AfterPay, Humm, Zip |
China
Payment Options | Payment Methods |
Credit and Debit Card | American Express, JCB, Mastercard, Visa |
Digital Wallet | Alipay, WechatPay |
Hong Kong
Payment Options | Payment Methods |
Credit and Debit Card | American Express, China UnionPay, Diners, Discover, JCB, Mastercard, Visa |
Digital Wallet | Alipay, Alipay HK, WeChat Pay, Paypal, BoC Pay, PayMe, Octopus, FPS, PPS, Google Pay, Samsung Pay, Apple Pay |
Bank Account and Net Banking | FPS, PPS |
Global (no grouping) | Apple Pay, Google Pay, Samsung Pay, Click to Pay |
Installment | Visa Instalment |
India
Payment Options | Payment Methods |
Credit and Debit Card | American Express, Mastercard, RuPay, Visa |
Bank Account and Net Banking | NetBanking, UPI |
Digital Wallet | ITZ Cash Card, Mobikwik, PhonePe, Yes Bank Wallet |
Installment | EMI |
Indonesia
Payment Options | Payment Methods |
Credit and Debit Card | American Express, JCB, Mastercard, Visa |
Bank Account and Net Banking | BCA KlikPay, BNI Virtual Account, CIMB Clicks, Danamon Virtual Account, Mandiri Clickpay, Permata Virtual Account |
Over-the-counter | Alfamart Group, Indomaret |
Digital Wallet | Dana |
Buy Now Pay Later | Kredivo, Indodana |
Japan
Payment Options | Payment Methods |
Digital Wallet | Alipay HK |
Korea
Payment Options | Payment Methods |
Credit and Debit Card | MasterCard, Virtual Account, Visa |
Digital Wallet | Naver Pay, Kakao Pay, PayCo |
Others | Toss |
Macau
Payment Options | Payment Methods |
Credit and Debit Card | American Express, JCB, Mastercard, Visa |
Crypto | BNB (Binance), BTC (Bitcoin), ETH (Ethereum), LBTC (Lightning Bitcoin), USDC (USD Coin), USDT (Tether) |
Others | ALIPAYHKONL, WECHATONL |
Malaysia
Payment Options | Payment Methods |
Credit and Debit Card | American Express, China UnionPay, Discover, JCB, Mastercard, Visa |
Bank Account and Net Banking | FPX |
Crypto | BNB (BINANCE), BTC (Bitcoin), ETH (Ethereum), LBTC (Lightning Bitcoin), USDC (USD Coin), USDT (Tether) |
Digital Wallet | Alipay, WechatPay, PayPal , BOOST, TouchnGo, Scan & Pay by MAE, GrabPay, Shopback Pay |
Buy Now Pay Later | Atome, PayLater by Grab |
Philippines
Payment Options | Payment Methods |
Credit and Debit Card | American Express, China UnionPay, Diners, Dicover, JCB, Mastercard, Visa |
Bank Account and Net Banking | BDO (Brankas), BPI, Landbank (Brankas), Metrobank (Brankas), RCBC (Brankas), Unionbank (Brankas) |
Digital Wallet | Gcash, Grabpay, ShopeePay, MAYA, Alipay, Wechatpay |
Over-the-counter | Bayad Center, BDO, Cebuana, ECPay, RCBC |
Others | PayPal |
Buy Now Pay Later | TendoPay |
Singapore
Payment Options | Payment Methods |
Credit and Debit Card | American Express, China UnionPay, Diners, Discover, JCB, Mastercard, Visa |
Bank Account and Net Banking | ENETS, PayNow |
Crypto | BNB (Binance), BTC (Bitcoin), ETH (Ethereum), LBTC (Lightning Bitcoin), USDC (USD Coin), USDT (Tether) |
Digital Wallet | GrabPay, Shopback Pay, ShopeePay, Alipay, Wechatpay, SGQR, PayPal |
Buy Now Pay Later | Atome, PayLater by Grab, Shopee SPayLater |
Taiwan
Payment Options | Payment Methods |
Global (no grouping) | Apple Pay, Google Pay, Samsung Pay |
Credit and Debit Card | JCB, MasterCard, Visa |
Digital Wallet | Linepay, Jkopay, Apple Pay , Google Pay |
Thailand
Payment Options | Payment Methods |
Global (no grouping) | GooglePay |
Credit and Debit Card | American Express, China UnionPay, JCB, Mastercard, Visa |
Bank Account and Net Banking | BAY, BBL, KBANK, SCB, TMB, UOB |
Digital Wallet | Paypal |
Buy Now Pay Later | Atome |
Over-the-counter | BBL, Kbank, KTB, Lotus, Mpay, TTB, UOB |
Vietnam
Payment Options | Payment Methods |
Credit and Debit Card | American Express, JCB, Mastercard, Visa |
Internet Banking | NAPAS (43 banks), OnePay |
Buy Now Pay Later | Kredivo |
Digital Wallet | MoMo |