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.
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 client post method:
Payment Gateway | Testing URL |
PayDollar | https://test.paydollar.com/b2cDemo/eng/dPayment/payComp.jsp |
SiamPay | https://test.siampay.com/b2cDemo/eng/dPayment/payComp.jsp |
PesoPay | https://test.pesopay.com/b2cDemo/eng/dPayment/payComp.jsp |
Base URL
Payment Gateway | SandBox |
PayDollar | https://test.paydollar.com/b2cDemo/eng/dPayment |
SiamPay | https://test.siampay.com/b2cDemo/eng/dPayment |
PesoPay | https://test.pesopay.com/b2cDemo/eng/dPayment |
As different type of programming language have different syntax. Therefore, the sample code below, is written in HTML code, the requirement is to form post all the required parameters to our secure API.
Please change the action URL to integrate with your preferred gateway
<form name="payForm" method="post" action="https://test.paydollar.com/b2cDemo/eng/dPayment/payComp.jsp">
<input type="hidden" name="merchantId" value="1">
<input type="hidden" name="amount" value="3000" >
<input type="hidden" name="orderRef" value="000000000006">
<input type="hidden" name="currCode" value="344" >
<input type="hidden" name="pMethod" value="VISA" >
<input type="hidden" name="cardNo" value="4918914107195005" >
<input type="hidden" name="securityCode" value="123" >
<input type="hidden" name="cardHolder" value="Testing" >
<input type="hidden" name="epMonth" value="07" >
<input type="hidden" name="epYear" value="2015" >
<input type="hidden" name="payType” value="N" >
<input type="hidden" name="successUrl" value="http://www.yourwebsite.com/pSuccess.jsp">
<input type="hidden" name="failUrl" value="http://www.yourwebsite.com/pFail.jsp">
<input type="hidden" name="errorUrl" value="http://www.yourwebsite.com/pError.jsp">
<input type="hidden" name="lang" value="E">
<input type=”hidden” name="secureHash" value="44f3760c201d3688440f62497736bfa2aadd1bc0">
<input type="submit" value="Pay Now">
</form>
Integration Parameters
In the targeted page of integration, in which sum of purchase has been generated, the following fields (hidden or text) should be added. To connect to our system, you need to post the required parameters to our payment page URL and then get back the result by using data feed.
Required Parameters
Required Parameter ( with UTF-8 Encoding ) for connect to our payment page
Parameters | Data Type | Descriptions |
orderRef | Text (35) | Merchant‘s Order Reference Number |
amount | Number (12,2) | The total amount you 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 “C” – Traditional Chinese “X” – Simplified Chinese “J” – Japanese “T” – Thai “F” – French “G” – German “R” – Russian “S” – Spanish “V” – Vietnamese |
merchantId | Number | The merchant ID we provide to you |
pMethod | Text | The payment type (“VISA”, “Master”, ”Diners”, ”JCB”, “AMEX”, 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”, “VCO”, “WELEND”) |
epMonth | Number(2) | Credit card expiry month (mandatory for card payment) |
epYear | Number(4) | Credit card expiry year (mandatory for card payment) |
cardNo | Text (16) | Credit card number (mandatory for card payment) |
securityCode | Text (4) | Credit Card Verification Code (mandatory for card payment)
|
cardHolder | Text (20) | Credit card holder name (mandatory for card payment) |
failUrl | Text (300) | A Web page address you want us to redirect upon the transaction being rejected by us (For display purpose only. DO NOT use this URL to update your system. Please use DataFeed for this purpose.) |
successUrl | Text (300) | A Web page address you want us to redirect upon the transaction being accepted by us (For display purpose only. DO NOT use this URL to update your system. Please use DataFeed for this purpose.) |
errorUrl | Text (300) | A Web page address you want us to redirect when unexpected error occur (e.g. parameter incorrect) (For display purpose only. DO NOT use this URL to update your system. Please use DataFeed for this purpose.) |
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 |
Optional Parameters
Installment
Optional Parameter for installment
Parameters | Data Type | Descriptions |
installment_service | Text (1) (“T”,”F”) | Installment service indicator |
installment_period | Text (20) | In number of months *Multiple period with separator “|” only for payment method “WELEND“ |
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 payment page
Optional Parameter for connect to our payment page
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 |
oriCountry | Number(3) | Origin Country Code Example: 344 – “HK” 840 – “US” |
destCountry | Number(3) | Destination Country Code Example: 344 – “HK” 840 – “US” |
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. |
timeoutValue | Number | Timeout Value in second, only for OCTOPUS payment and ranged 180 and 7200 |
payMode | Text(2) | Payment Mode “EC” - Electronic Commerce (Default) “MO” - Mail Order “RC” - Recurring |
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 “ECO” – AMEX ExpressCheckout |
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 |
encryptAlgo | Text | Encrypted Algorithm:-“AES/CBC/PKCS5Padding” For “WEB” |
encryptedData | Text | Other customized encrypted data (For partner only) For encrytedMode is "WEB", please follow this format cardNo|expDate|cardHolder|securityCode before encryption |
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
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)”
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 |