Deposit
Integration
Specification
Version 1.1.10
By Help2Pay Engineering Team
Last Updated: 23 February 2023
Help2Pay Deposit Integration Specification Ver 1.1.10 2
Contents
Executive Summary ..................................................................................................................... 3
Introduction ................................................................................................................................. 4
About this document ................................................................................................................... 5
Keywords definition and terms use in this document ................................................................ 6
Deposit Process Diagram ............................................................................................................. 7
Deposit Submission Process ........................................................................................................ 8
Response handling for Deposit Result....................................................................................... 11
Create Key for Deposit Submission ........................................................................................... 12
Verification of Key from Deposit Result .................................................................................... 13
Appendix .................................................................................................................................... 14
Deposit Result Status Code ................................................................................................... 14
Deposit Bank Code (Online Banking) ..................................................................................... 14
Deposit Bank Code (QR Payment) ......................................................................................... 16
Deposit Bank Code (Virtual Account) .................................................................................... 16
Deposit Bank Code (Local Bank Transfer).............................................................................. 16
Language Code ...................................................................................................................... 18
Error Code.............................................................................................................................. 19
2
Help2Pay Deposit Integration Specification Ver 1.1.10 3
Executive Summary
E-Commerce businesses have evolved to an unprecedented height today. With internet services
becoming more affordable, the exponentially growing of internet users have preferred to shop,
pay bills, etc online. Millions of people spend billions of dollars on this borderless marketplace.
The existence of online payment solutions can be seen. They act as a bridge or gateway to
guarantee the payments from the consumers to merchants are made instantly, efficiently and
securely. It truly enhances online shoppers' experience. Just few clicks away, shopping or paying
bills online can be such a breeze.
We strongly believe that our existence will to make a difference in every shoppers' or payees
'lives, allowing secured and timely transactions. By running 24/7 daily, we make sure our
payment system serves you, anytime, anywhere. By partnering with major banks, integrating
into numerous payment providers' networks, we built a comprehensive range of solutions,
catering to the needs of merchants in different markets.
3
Help2Pay Deposit Integration Specification Ver 1.1.10 4
Introduction
Help2Pay is an interesting design of web interface that incorporated in 2014.In order to provide
an outstanding online payment solution to the consumers and clients, Help2Pay stands on one
strong belief. The project exists in order to make a difference for every consumer by providing
an effective and secured automated transaction on a real time basis.
Meanwhile, Help2Pay provide as a middle man to effective assist consumers by simplify the
process of completing purchasing transaction with merchandizer and help clients to monitor
their business transaction at real time basis.
We have a secure and responsive network of people handling your business. No compromise
will ever be taken into consideration. YOU ARE OUR PRIORITY. We thrive to be the best in the
market, providing our clients nothing less than our utmost efforts.
4
Help2Pay Deposit Integration Specification Ver 1.1.10 5
About this document
This document is to provide a guidance to our client in order to have a deeper understanding on
Help2Pay’s business transaction flows and web services functions that facilitate the system
integration with the merchant’s e-commerce application.
The manual is to provide a guidance for system developers, administrators and maintenance
personnel whom may use the services of Help2Pay application. To be able to fully utilize the
manual guide, one’s is required to have basic knowledge as below:
• Knowledge of operation systems, such as Microsoft Windows Server and Linux.
• Knowledge of website configuration and web page development based on any of the
operation systems listed above.
• Web development skills of standard CGI (Common Gateway Integration), ASP (Active
Server Page), .NET Framework, ISAPI, PHP or JAVA.
• Basic understanding of web security.
5
Help2Pay Deposit Integration Specification Ver 1.1.10 6
Keywords definition and terms use in this document
Gateway – Help2Pay
Merchant – Help2Pay’s merchants (could imply as the server or the website itself)
Customer – Merchant’s customer or Internet user.
Deposit Submission – A valid submission to Gateway by the Merchant in the deposit process
Deposit Result – A returned result to Merchant by the Gateway after the fund transfer process is
completed.
Security Code – A secret key provided to Merchant for encryption purpose.
6
Help2Pay Deposit Integration Specification Ver 1.1.10 7
Deposit Process Diagram
7
Help2Pay Deposit Integration Specification Ver 1.1.10 8
Deposit Submission Process
The Gateway uses standard html web form submission via HTTP Post to establish the Deposit
transfer. The table listing below shown the parameters needed for doing that.
Parameters Data Length Require Description
Type
Merchant String 1~50 Yes Registered merchant code with Gateway.
Currency String 3 Yes International currency code
e.g. MYR, THB…
Customer String 1~50 Yes Merchant’s customer ID that identify their
customer
Customer ID is frequent use as user
identifier for gateway
Customer ID must be unique per user
Important
❗Do not send blank customer ID
❗Do not send same customer ID for
different user
Reference String 1~50 Yes Transaction ID created by Merchant with
reference to each payment transaction.
Reference must be unique.
Key String 1~500 Yes A generated hash key for determining the
validity of the payment submission by the
merchant to gateway to prevent fraudulent
activity. (Please refer to the topic of Security
Hashing below)
Amount String 1~20 Yes Numerical figures with 2 decimal points.
Important
*VND and IDR currency Will Only Allow .00
decimal submission.
Example:
VND 10000.00 > able to be submit
VND 10000.15 > not able to be submit
8
Help2Pay Deposit Integration Specification Ver 1.1.10 9
Note String 0~500 No Column provided to merchant for Note
usage.
Datetime String Yes Transaction time in the format of YYYY-MM-
DD hh:mm:sstt
e.g. 2012-05-01 08:04:00AM, 2012-08-15
08:00:00PM
FrontURI String 1~500 Yes The URL to receive transaction status from
Gateway to Merchant that will display the
transaction status to customer in
Merchant’s front-end site.
BackURI String 1~500 Yes The URL or HTTP handler to receive
transaction status from Gateway to
Merchant for Merchant to update their
backend system.
Bank String 1~50 Yes Bank code provided by the Gateway. Please
refer appendix for list of bank code.
Language String 1~10 Yes Language selection that displays to
Customer during the submission process.
Please refer to appendix for list of languages
code.
ClientIP String 1~20 Yes Customer’s IP
CompanyName String 1~100 No Company name will display in deposit page
if merchant want customer to acknowledge
the transaction is made to the merchant.
Precondition:
1. Single company name: Do provide
company name to CS to verify it matched
with the record in system
2. Multiple companies name: Do provide a
listing of company name to CS for matching
purpose
9
Help2Pay Deposit Integration Specification Ver 1.1.10 10
HTML Sample
<form method="post" action="https://api.racethewind.net/MerchantTransfer">
<input type="hidden" name="Merchant" value="TA00001" />
<input type="hidden" name="Currency" value="MYR" />
<input type="hidden" name="Customer" value="220099" />
<input type="hidden" name="Reference" value="1609032335" />
<input type="hidden" name="Key" value="EF369CAF6A96ACEFE77" />
<input type="hidden" name="Amount" value="1.00" />
<input type="hidden" name="Note" value="" />
<input type="hidden" name="Datetime" value="2012-05-09 04:09:41AM" />
<input type="hidden" name="FrontURI" value="http://merchant.com/Front.aspx"/>
<input type="hidden" name="BackURI" value="http://merchant.com/Back.aspx" />
<input type="hidden" name="Language" value="en-us" />
<input type="hidden" name="Bank" value="MBB" />
<input type="hidden" name="ClientIP" value=" 128.199.171.73" />
<input type="hidden" name="CompanyName" value=" Testing Company" />
</form>
10
Help2Pay Deposit Integration Specification Ver 1.1.10 11
Response handling for Deposit Result
After the Deposit Submission process, the gateway calls back the Merchant’s backend URL
(BackURI provided during merchant’s Deposit Submission) with corresponding Deposit Result. At
the same time, the gateway redirects the Customer back to the Merchant website (FrontURI
provided on merchant Deposit Submission) and displays the status to the Customer.
The table listing below show details of the variables returned in the result.
Response Variable Description
Merchant Merchant submitted during the transfer transaction.
Reference Reference submitted during the transfer transaction.
Currency Currency submitted during transfer transaction.
Amount Amount submitted during the transfer transaction.
Language Language indicated upon submission
Customer Customer submitted during the transfer transaction
Datetime Datetime submitted during the transfer transaction.
StatementDate Datetime for the transaction processed. In UTC time.
Note Note submitted during the transfer transaction.
Key EncrytedSign generated by Gateway for verification to prevent
fraud.
Status The latest status of the Payment Submission. (Refer to Appendix –
Deposit Result Status Code)
ID Help2Pay Deposit ID
ErrorCode Transaction Error Message
*Remark: Refer to Error Code Table below, ErrorCode that listed in
the table will be send.
11
Help2Pay Deposit Integration Specification Ver 1.1.10 12
Create Key for Deposit Submission
To prevent unauthorized or fraudulent Deposit Submission, the Gateway requires the
Merchant to generate a Key on the Payment Submission by using the SecurityCode.
Once the Deposit Submission is received by the Gateway, Key will be verified. The Deposit
process will stop immediately if the verification fails.
To generate the Key hash, Merchant is required to use cryptographic hash function,
MD5 to hash the combination of details (Merchant, Reference, Customer, Amount,
Currency, and Datetime) during Deposit Submission, by using the SecurityCode. Details
as shown below:
MD5({Merchant}{Reference}{Customer}{Amount}{Currency}{Datetime}{SecurityCode}{ClientIP})
Below is the sample of generating Key.
• Merchant = “M00001”
• Reference = “T123456789”
• Customer = “CUST1001”
• Amount = “12.00”
• Currency = “MYR”
• Datetime = “2012-05-21 08:04:00PM”
• SecurityCode = “eQIkGnUeK”
• ClientIP = “128.199.171.73”
String to be hash will be
MD5 (“M00001T123456789CUST100112.00MYR20120521200400eQIkGnUeK128.199.171.73”)
Notes:
1. Datetime must be in “yyyyMMddHHmmss” format, and the hour in 24 hours’
time format. (UTC +8)
a. e.g.
• 2012-01-15 2:12:00PM will be 20120115141200,
• 2012-12-17 2:12:00AM will be 20121217021200
2. Amount displayed will be in 2 decimal point format. E.g.
• 1200 will be 1200.00
• 523.1 will be 523.10
12
Help2Pay Deposit Integration Specification Ver 1.1.10 13
Verification of Key from Deposit Result
During the Deposit process, every single Deposit result will be returned to Merchant upon
completion. Similarly, the Key is also used for the Deposit Result for verifying the
response from the Gateway to the Merchant.
The Deposit Result will only be considered as valid when the generated encryption hash
matches with Key.
To generate the Key hash, Merchant is required to use cryptographic hash function,
MD5 to hash the combination of details (Merchant, Reference, Customer, Amount and
Currency) by using the SecurityCode.
Details as shown below:
{Key} = MD5({Merchant}{Reference}{Customer}{Amount}{Currency}{Status}{SecurityCode})
Below is the sample of generating the Encryption Key.
• Merchant = “M00001”
• Reference = “T123456789”
• Customer = “CUST1001”
• Amount = “12.00”
• Currency = “MYR”
• StatusCode = ”000”
• SecurityCode = “eQIkGnUeK”
String to be hash will be
MD5(“M00001T123456789CUST100112.00MYR000eQIkGnUeK”)
Notes:
1. Amount display will be in 2 decimal point format. E.g.
• 1200 will be 1200.00
• 523.1 will be 523.10
2. Be reminded that the matching of the generated encryption hash and Key is not
case sensitive.
13
Help2Pay Deposit Integration Specification Ver 1.1.10 14
Appendix
Deposit Result Status Code
Code Status Description
000 Success Deposit process is successful.
001 Failed Transfer process is incomplete. Possible reasons: The
Bank or the user terminates the process before it is
completed.
006 Approved The transfer approved by Gateway after verified that the
transfer was completed.
007 Rejected The transfer reject by Gateway after verifying the transfer
was not completed or failed.
008 Canceled The transfer has been canceled.
009 Pending The transfer still in pending status.
Deposit Bank Code (Online Banking)
Currency Bank Code Bank Name
MYR AFF Affin Bank
MYR ALB Alliance Bank Malaysia Berhad
MYR AMB AmBank Group
MYR BIMB Bank Islam Malaysia Berhad
MYR BSN Bank Simpanan Nasional
MYR CIMB CIMB Bank Berhad
MYR HLB Hong Leong Bank Berhad
MYR HSBC HSBC Bank (Malaysia) Berhad
MYR MBB Maybank Berhad
MYR OCBC OCBC Bank (Malaysia) Berhad
MYR PBB Public Bank Berhad
MYR RHB RHB Banking Group
MYR UOB United Overseas Bank (Malaysia) Bhd
14
Help2Pay Deposit Integration Specification Ver 1.1.10 15
THB BBL Bangkok Bank
THB BOA Bank of Ayudhya (Krungsri)
THB CIMBT CIMB Thai
THB KKR Karsikorn Bank (K-Bank)
THB KNK Kiatnakin Bank
THB KTB Krung Thai Bank
THB SCB Siam Commercial Bank
THB TMB TMBThanachart Bank(TTB)
VND ACB Asia Commercial Bank
VND AGB Agribank
VND BIDV Bank for Investment and Development of Vietnam
VND DAB DongA Bank
VND EXIM Eximbank Vietnam
VND HDB HDB Bank
VND MB Military Commercial Joint Stock Bank
VND MTMB Maritime Bank
VND OCB Orient Commercial Joint Stock Bank
VND SACOM Sacombank
VND TCB Techcombank
VND TPB Tien Phong Bank
VND VCB Vietcombank
VND VIB Vietnam International Bank
VND VPB VP Bank
VND VTB Vietinbank
IDR BCA Bank Central Asia
IDR BDI Bank Danamon Indonesia
IDR BNI Bank Negara Indonesia
IDR BRI Bank Rakyat Indonesia
IDR CIMBN CIMB Niaga
15
Help2Pay Deposit Integration Specification Ver 1.1.10 16
IDR MBBI Bank Maybank Indonesia
IDR MDR Mandiri Bank
IDR PMTB Permata Bank
IDR PANIN Panin Bank
PHP BDO Banco de Oro
PHP BPI Bank of the Philippine Islands
PHP LBP Land Bank of the Philippines
PHP MTB MetroBank
PHP RCBC Rizal Commercial Banking Corporation
PHP SBC Security Bank Corporation
INR AXIS AXIS Bank
INR HDFC HDFC Bank
INR IDFC IDFC Bank
INR INDUSIND INDUSIND Bank
INR KOTAK KOTAK Mahindra Bank
INR YES YES Bank
Note: INR currency is only available upon request.
Deposit Bank Code (QR Payment)
Currency Bank Code Bank Name
THB PPTP Promptpay
Deposit Bank Code (Virtual Account)
Currency Bank Code Bank Name
IDR ISTB IDR Virtual Account
Note: IDR - ISTB is only available upon request.
16
Help2Pay Deposit Integration Specification Ver 1.1.10 17
Deposit Bank Code (Local Bank Transfer)
Currency Bank Code Bank Name
THB TSTB Thai Semi Transfer Bank
THB BBLLBT BBL Local Bank Transfer
THB BOALBT BOA Local Bank Transfer
THB KKRLBT KKR Local Bank Transfer
THB SCBLBT SCB Local Bank Transfer
THB TMBLBT TMB Local Bank Transfer
17
Help2Pay Deposit Integration Specification Ver 1.1.10 18
Language Code
Language Code Language
en-us English
zh-cn Chinese Simplified
th Thai
ms-my Malay (Malaysia)
vi-vn Vietnamese (Vietnam)
id-id Indonesian
bur Burmese
fil-ph Tagalog (Philippines)
18
Help2Pay Deposit Integration Specification Ver 1.1.10 19
Error Code
Error Code Description
AccountPassword User key in wrong account password
AccountSetting User’s bank account not able to login/bank account setup not
complete
ATMApproveRequired ATM approve is required
Blacklisted User is blacklisted
Insufficient Fund User’s bank account is insufficient fund
InvalidTAC User key in invalid TAC in any transfer step
Maintenance User’s bank is under maintenance
Session Session time out
TimeOutTAC TAC time out in any transfer step
TransactionDeclined User’s transaction is declined by bank
TransactionLimit User’s bank account hit transaction limit per transaction/daily
19