Integration Parameters

Sections

Theme switcher

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.

PaySDK Android Mobile SDK

This section explains the integration of PaySDK Android SDK in merchant android mobile application.

Direct Client Side Connection

Tailored for Online Shopping Carts, this method uses HTML and JavaScript for broad compatibility, ensuring a seamless experience

PaySDK IOS Mobile SDK

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

eWallet Direct Connection

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

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)

  • if country is on high risk country list, an asterisk will be shown (e.g. MY*)

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

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

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

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

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

FAQ

Appendix A

Security