Help2Pay Deposit Integration Specification Ver 1.1.10 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19
At a glance
Powered by AI
The key takeaways are that the document outlines Help2Pay's deposit integration specification, including the deposit submission process, response handling, bank codes for different payment methods, and error codes.

The purpose of the document is to provide specifications for integrating deposits into Help2Pay's payment system, including details on the deposit submission process, bank codes, and error handling.

The document covers deposit payment methods including online banking, QR payments, virtual accounts, and local bank transfers for various currencies and countries.

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

You might also like