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
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
Introduction
There are totally four API functions provided:
- Capture Authorized Payment
- Void Accepted Payment
- Request Refund Accepted Payment
- Query Payment Status
To connect to our system, you need to post the required parameters by HTML form posting to our merchant API web page and then get back the processing result from that page. You can implement it by server-side html post.
URL of Testing Platform:
Payment Gateway | Testing URL |
PayDollar | |
SiamPay | |
PesoPay |
Beside, a set of API login ID and password will be assigned to your merchant account for accessing this API function. And it can be obtained from us by sending a request email or directly contact us.
Capture Authorized Payment
The aim of this function is to capture the authorized payment.
Void Accepted Payment
The aim of this function is to void the accepted payment before settlement. It can be done only before our settlement time
Request Refund for Accepted Payment
The aim of this function is to request refund for accepted payment before 14 days.
Query payment status
The aim of this function is to query the payment status on an order by either Merchant Reference Number or Payment Reference Number with XML
Query Request Log
The aim of this function is to query the payment request log.
Integration Parameters
Input /Return | Parameters (Required Fields are in Bold typeface) *Case Sensitive | Data Type | Expected Value | Descriptions |
Input | merchantId | Number | The merchant ID we provide to you | |
loginId | Text (30) | The loginId of using merchant API | ||
password | Text (15) | The password of using merchant API | ||
actionType | “QueryRequestLog” | The action type | ||
(Optional Input) | orderRef | Text (35) | Merchant Reference Number | |
(Optional Input) | periodType | Text (1) | Period Type: M – Query by month D – Query by Day | |
(Optional Input) | queryDate | Number(8) | Query date format: MMYYYY - periodType is M DDMMYYYY - periodType is D | |
Return | requestDate | Date | The request date of transaction | |
sessionId | Number | The sessionID of transaction | ||
ref | Number(15) | Merchant Reference Number | ||
cur | Number (3) | Transaction Currency i.e. “344” – HKD “840” – USD “156” – CNY (RMB) “392” – JPY “036” – AUD “978” – EUR “124” – CAD “446” – MOP “764” – THB “458” – MYR “410” – KRW “682” – SAR “784” – AED “096” – BND “356” – INR “702” – SGD “826” – GBP “901” – TWD “608” – PHP “360” – IDR “554” – NZD “704” – VND | ||
amt | Number (12,2) | Transaction Amount | ||
payerIp | Text(15) | IP address of payer | ||
ipCountry | Text(3) | Country of payer ( e.g. HK)
| ||
deviceBrowser | Text(50) | Device Browser | ||
deviceOS | Text(50) | Device Operation System | ||
deviceMoblie | Text(1) | Device Mobile | ||
channelType | Text(5) | Channel Type SPN - Client post through browser SPV - Client post through browser DPS - Direct Server Side DPC - Direct Client Side | ||
pageCode | Text(10) | pageCode of payment page CPF - Payment Selection Page CPF2 - Credit Card Input Page CPV - 3D Verify Page CPVR - 3D Verification Result Page CPC - Result Page DPC - Payment Processing DPR - Result Redirect Page CPFD - DCC Selection Page |
XML
Select...
<records><record><requestDate>2016-01-20 10:17:19</requestDate><sessionId>1135335</sessionId><ref>Test</ref><cur>344</cur><amt>1</amt><payerIp>192.168.77.28</payerIp><ipCountry/><deviceBrowser>Chrome</deviceBrowser><deviceOS/><deviceMoblie>F</deviceMoblie><channelType>SPC</channelType><pageCode>CPF</pageCode></record>
Cancel Payment
The aim of this function is to cancel the payment that the status of transaction in pending status.
Void / Online Refund or Partial Refund
The aim of this function is to void / refund / partial refund the payment online according to its order status.
To connect to our system, you need to post the required parameters by HTML form posting to our merchant API web page and then get back the processing result from that page. You can implement it by server-side html post.
SHELL
Select...
https://test.paydollar.com/b2cDemo/eng/merchant/api/onlineApi.jsp
Settlement report request
The aim of this function is to generate settlement report.
SHELL
Select...
https://test.paydollar.com/b2cDemo/GenTxnXML
Sample Source Code
Sample source code of HTML server-side posting on Java
As different type of programming language have different syntax, so we just propose one method to connect to our merchant API page. To connect, we suggest you to use server side posting:
JAVA
Select...
// SET UP THE POST DATA String postData = "merchantId=1&loginId=testing&password=pwd&payRef=123456&actionType=Capture&amount= 1 & ”; // POST TO PAYMENT PAGE strResult = ServerPost.post(postData, http: //test.paydollar.com:8080/b2cDemo/eng/merchant/api/orderApi.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; } } }
All the source code in this document are the property of AsiaPay (HK) Limited. Any use, modification and adaptation to the code should be reported to and approved by AsiaPay (HK) Limited. AsiaPay (HK) Limited do not have any liability in any lose to the party using the source code.
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 |