API Redirect Post
API Redirect Post use HTML as a programming language and is applicable to all issuers except loan merchants and credit card companies. The integration available is via the API provided below.
Last updated
API Redirect Post use HTML as a programming language and is applicable to all issuers except loan merchants and credit card companies. The integration available is via the API provided below.
Last updated
Step 1. Merchant sends HTTPs Post Request containing payment details to E2Pay OPSG payment page. Payment Details contain the following field:
Merchant Code
Payment Method
Merchant Reference Number
Payment Amount
Currency
Product Description
Customer Name
Customer Email
Customer Contact
Merchant Remark
Signature (refer to 8.1)
Response URL
Backend URL
Step 2. User views and confirms payment details entered in Step 1. For credit card payment, the user will need to key-in credit card information.
Step 3. User continues to fill in Username only or Username and Password at E2Pay / bank website depending on bank policy (for non-credit card payment).
Step 4. User selects the account to debit the payment. (for non-credit card payment).
Step 5. User confirms the payment. If yes, go to next step. (for non-credit card payment).
Step 6. User views and prints the payment detail. (for non-credit card payment).
Step 7. E2Pay OPSG response back the payment status to merchant with a signature.
Step 8. For successful payment transaction, the merchant needs to compare the signature from E2Pay OPSG. Refer to 8.2.
FieldName
Data Type
Size
M/O
Description
MerchantCode
String
20
M
The Merchant Code Provided by E2Pay and use to uniquely identify the Merchant.
PaymentId
Integer
M
Refer to Appendix
RefNo
String
18
M
Unique merchant transaction number / Order ID
VaNumber
String
13
O
● Indicates virtual account number based on merchant unique number. Example: customer phone number. ● This parameter is mandatory for static VA.
Amount
Currency
M
The amount must not contain any decimal points, thousands separators or currency symbols. For example, Rp 10.000,00 is expressed as 1000000.
InvoiceRefNo
String
30
O
● Mandatory for Invoice system. ● Invoice number provided by merchant example: BL1912FDJRAMINV.
Currency
String
5
M
IDR
ProdDesc
String
100
M
Product description
UserName
String
100
M
Customer name
UserEmail
String
100
M
Customer email for receiving receipt
UserContact
String
20
M
Customer contact number
Remark
String
100
O
Merchant remark
Lang
String
20
O
Encoding type ISO-8859 – 1 – English
UTF-8 – Unicode GB2312 – Chinese Simplified
GDϭ8030 – Chinese Simplified
BIG5 – Chinese Traditional
Signature
String
M
SHA1 base code 64 signature (refer to 8 signature)
ResponseURL
String
M
Payment response page
BackendURL
String
M
Backend repsonse page page URL (refer to 6 backend post feature).
Note : M : Mandatory field. O : Optional field, value can be empty but parameter must exist.
The Backend POST feature is server to server technology where it does not depend on the user’s web browser to return payment response data to merchant website. With this feature implemented, your system still can get the payment status on the backend (asynchronously). Note : 1. This Backend post feature will return status the transaction is a payment success or failed. 2. The Backend page should implement checking same like response page such as signature checking, and etc. to prevent user hijack merchant system. 3. The backend page should not have session related code so that merchant systems are still able accept payment status from E2Pay OPSG even if the user is logged out or the session is expired. 4. You need to implement a check to determine "backend page" to update the order so it won't update order status in merchant system more than 1 time. Note: After receiving the payment success status, E2Pay OPSG will simultaneously return payment status to "backend page". 5. The backend page is not a replacement for the response page. You will still need to continue to use the normal response page as usual.
On the merchant website, create another page to accept backend post parameter from E2Pay OPSG. On the request page, specify the backend post URL by using "BackendURL" parameter. Example :
On the 'backend_response.asp' page you need to write out the word 'OK' only (without quote) as an acknowledgement once the backend page success gets the payment status from E2Pay OPSG. E2Pay OPSG will re-try send the payment status to the 'backend_response.asp' page up to 5 times on different interval if no 'OK' acknowledgement detected. Example : In ASP >> response .write "OK" In PHP >> echo "OK";
Merchant HTTPS POST re-query payment status parameters to E2Pay OPSG.
Field Name
Type (Size)
M/O
Description
MerchantCode
Varchar (20)
M
Merchant code assigned by E2Pay
RefNo
Varchar (20)
M
Unique merchant transaction number / Order ID
Amount
Currency
M
Payment amount with two decimals
Possible reply from E2Pay OPSG
Description
00
Successful Payment
Invalidparameters
Parameters pass in incorrect
Record not found
Cannot found the record
Incorrectamount
Amount is different
Payment fail
Payment fail
Payment pending
Payment pending
To enhance security, please go through the following steps at the merchant payment status receiving page (Response URL) :
Check the payment amount from E2Pay OPSG is match with yours.
Compare the Signature from E2Pay OPSG with your own generated Signature.
SHA1 hash is a security feature that enables your script to identify the results of a transaction are actually from the appropriate authorization source and also for E2Pay OPSG to make sure the integrity of data received on a transaction request.
Using the SHA1 algorithm, a unique signature or fingerprint of the transaction can be created. This mathematical algorithm used to construct this signature is designed in such a way that any change to the information used in the calculation of the signature will cause a completely different signature to be created.
Also, the information used in the calculation of the signature cannot be discovered through any analysis of the signature itself.
This is done by using information from your account. Every transaction that is processed through the system has a corresponding hash signature of the transaction created during the transaction process.
Request & Response signature must be included and implemented in the request of every transaction.
Merchant system must implement checking on verification signature for every transaction
This signature must be included in the request of every transaction. This hash signature for a request is a hash of the following fields:
MerchantKey (Provided by E2Pay OPSG and share between E2Pay and merchant only
MerchantCode
RefNo
Amount
Currency
The filed must set in the following order : (MerchantKey & MerchantCode & RefNo & Amount & Currency).
Example :
MerchantKey = merchantkey MerchantCode = ID00001 RefNo = A00000001 Amount = 300000 (Note : 300000 represent amount Rp 3.000,00) Currency = IDR The hash would be calculated on the following string : merchantkeyID00001A00000001300000IDR
The resulting has signature value equals to (using SHA1 base64 hash algorithm) Q/iIMzpjZCrhJ2Yt2dor1PaFEFI=
The fields must set in the following order :
(MerchantKey & MerchantCode & PaymentId & RefNo & Amount & Currency & Status)
Example :
merchantkey = merchantkey MerchantCode = EP00005 PaymentId = 7 RefNo = 19201970148AM Amount = 300000 (Note: 300000 represent amount Rp 300.000) Currency = IDR Status = 1
The hash would be calculated on the following string: merchantkeyEP00005719201970148AM300000IDR1
The resulting has signature value equals to (using SHA1 base64 hash algorithm) OSsMZwT0jH4Wib3G2o/ZTQRSYPM=
Please upload the js file to your server.
Inclide the js file in your production payment page in order to use the signature function.
Concatenate the value to be hash.
Call the following function in your javascript tag by passing in your string to hash to generate the signature. <script type="text/javascript" src="sha1.js"> </script> <script language="javascript"> document.write(e2paySignature(strToHash)); </script>
Pass the signature generated to e2pay payment page in the form element call "Signature"
SecretKey
varchar(12)
M
Provided by E2Pay. A private key that is used to make digital signature
merchantkey
MerchantCode
varchar(8)
M
The merchant code provided by E2Pay and use to uniquely identify the merchant
EP00005
PaymentId
integer
M
Unique payment channel id
7
RefNo
varchar(20)
M
Unique merchant transaction number
19201970148AM
TransId
varchar(20)
M
Payment Transaction Unique ID degenerated by e2pay
P1293365900
Currency
varchar(5)
M
Indonesian Rupiah (IDR)
IDR
The fields must set in the following order: (SecretKey & MerchantCode & PaymentId & RefNo & TransID & Currency)
Example :
SecretKey = merchantkey
MerchantCode = EP00005
PaymentId = 7
RefNo = 19201970148AM
TransID = P1293365900
Currency = IDR
The hash would be calculated on the following string: merchantkeyEP00005719201970148AM P1293365900IDR
The resulting hassignature value equalsto (using SHA1 base64 hash algorithm) +T/RZFXFPzdLuGp4LUfKljrb/eo=
Allow merchants to login and view the reports online.
Step 1. Merchant can visit E2Pay OPSG report page by keying-in :
Report URL : https://nms.e2pay.co.id/merchant-ss-app
Login : [provided by E2Pay OPSG]
Password : [provided by E2Pay OPSG]
Step 2. After login, select transaction date
Step 3. The payment transaction report will display on the screen.
E-mail transmissions cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of the email, which arise as a result of e-mail transmission. E2Pay accepts no liability for the content of the email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing.
Customers will receive a payment detail͛s email after successful payment. Below is the email sample:
Subject: E2Pay - Payment details (Ref# T0009378700) Date: Thu, 26 Jan 2009 09:59:30 GMT From: Sales (sales@e2pay.co.id) To: John Tan (john@hotmail.com) Dear John Tan, We are pleased to inform you that your online payment via E2Pay is successful. Your credit card/bank account has been debited with IDR 3.000,00.
Please note that “Company Name” will be listed in your credit card/bank statement for this transaction.
Transaction Detail
Order No: A00000001 Transaction ID: T0009378700 Transaction Date: 26-1-2006 09:59:30 AM Transaction Amount: IDR 3.000,00 Payment Type: Credit Card Product Description: Photo Print ********************************************* Customer Support If you have any questions about our product and services, please contact PT I & J directly at : Tel No: 021-9999 0000 Fax No: 021-9999 0001 Email: support@i&j.com
***********************************************Please do not reply to this email as it was automatically generated.
If you found any fraudulent cases, please contact E2Pay immadiately at Tel: 021 52920138 Fax: 021 52920139 Email: support@e2pay.co.id
The Merchant will also receive a payment notification email after successful payment. In order to ensure you are able received all our mail; do make sure you proceed with the following steps:
From your mailbox, please white-list E2Pay OPSG mail address by adding sales@e2pay.co.id into your friend list.
Also, please make sure your mailbox has not blacklisted our address which is the following sales@e2pay.co.id.
Allow us to serve you better by white listing our email address and domain e2pay.co.id. Please verify or allow your technical personnel (at the webhosting or email server) to verify the status of your email.
Below is the email sample:
Subject: E2Pay - Payment details (Ref# A00000001) Date: Thu, 26 Jan 2006 09:59:30 GMT From: E2Pay Support (sales@e2pay.co.id) To: ABC Admin (admin@abc.com) Dear I & J Admin, RefNo : A00000001 One new payment has been collected for PT ABC. Please check the payment report at E2Pay Online Report. Customer Detail Name : Ali Email : ali@hotmail.com Contact: 0392005555 Transaction Detail Payment ID : T0009378700 Payment Date Time : 26-1-2006 09:59:30 AM Payment Amount : IDR 3.000,00 Payment Type : Credit Card Product Description : Photo Print Remark : Sincerely, Your E2Pay Team Tel: 021 52920138 Fax: 021 52920139 Email: support@e2pay.co.id
What method use to pass payment parameters value to E2Pay OPSG? By using the HTTP POST method.
What do I provide to E2Pay OPSG before the integration of a merchant account? Return a copy of completed Merchant Checklist to integration@e2pay.co.id and provide both the Request URL and Response URL of merchant website.
What are the merchant Request URL and Response URL? Request URL is a checkout page at merchant website that passes in E2Pay OPSG parameters to request payment page. Response URL is a page at merchant website that accepts payment status from E2Pay OPSG after transaction.
How do I perform a payment testing during the integration stage? You can use any valid credit card for testing purpose. Details required are the credit card number, expiry date, CVV number and the card holder name.
What transaction amount do I use for test payment?
Currency Code
Amount
Description
IDR
300000
The amount must not contain any decimal points, thousands separators or currency symbols. For example, Rp 3.000 is expressed as 300000.
6. What if I get an error message and is unable to reach E2Pay OPSG payment page?
Error Message
Description
Duplicate reference number
Do not re-use Reference Number that previously
payment success for transaction.
Invalid merchant code
The merchant code does not exist or
incorrect.
Invalid parameters
Some parameter posted to E2Pay OPSG
is invalid or empty.
Over limit per transaction
Payment amount exceeded the value per transaction that assigned to merchant account.
Payment not allowed
Payment method requested is not allowed
for the merchant account.
Permission not allow
Referrer URL of transaction request is not same as registered with E2Pay OPSG.
Signature not match
Signature on request page which pass to E2Pay OPSG is incorrectly generated. Refer section 8. Signature
Status not approved
Merchant account was suspended or not active.
7. Why do I get the return page URL not exist message display on web browser and is unable to see the E2Pay OPSG payment page? a) Make sure the correct merchant code is used. b) Provide the Request URL to integration@e2pay.co.id before the integration. c) Make sure response URL is specify through ResponseURL field in request page or had updated in E2Pay. 8. How do I ensure the integration is completed? a) Make sure parameters are properly passed to E2Pay OPSG and success reach E2Pay OPSG payment page. b) Success receives payment status from E2Pay OPSG after perform test transaction. c) Make sure implemented security control on the merchant response page. Example : Compare the Signature from E2Pay OPSG with the generated merchant response page. 9. How can I change the merchant information such as Request URL, contact number, company name and bank account number? Send an email to integration@e2pay.co.id to request for these changes. 10. What not to do after press Proceed Payment_button at E2Pay OPSG payment page? a) Do not disconnect your Internet connection. b) Do not close the web browser while transaction being process. c) Do not click Back button on web browser to avoid duplicate payment. 11. I am getting error description Fail (Card issuing bank do not honor the transaction) returned by E2Pay OPSG, what does it mean? Please contact credit card issuer bank to check whether the card can be used for online purchases. 12. Is there any function from E2Pay OPSG where I can query payment status if my system did not get payment status return from E2Pay OPSG? You can use the E2Pay OPSG Server Re-query function to query the transaction status. Please refer section 7 Re-query Payment Status.
Payment Channel
Payment ID
E2pay Checkout Page
0
Credit Card
5
CIMB Rekpon
9
BCA
12
Mandiri
17
Mbayar Auth
18
Indomaret
19
CIMB Octo Mobile
20
Mbayar QR
21
Permata VA
22
Kredivo
23
Alfamart
24
LinkAja WCO
25
CIMB Octo Clicks
26
OVO
27
BNI VA
28
LinkAja Applink
29
LinkAja QRIS
30
DANA
32
Shopeepay QRIS
34
Shopeepay JumpApp
36
CIMB VA
37
BCA VA
38
BRISVA
39
BRI VA
40
GOPAY
41
QRIS CIMB
42
Indodana
43
Mandiri VA
44
Error Message
Error Description
Duplicate reference number
Reference number must be unique for each transaction.
Invalid merchant
The merchant code does not exist or wrong merchant
code.
Invalid parameters
Some parameter posted to E2pay is invalid or empty.
Overlimit per transaction
You exceed the amount value per transaction.
Payment not allowed
The Payment method you requested is not allowed for this merchant code, please contact E2pay to enable your payment option.
Permission not allow
Request URL registered in E2pay merchant account does not match. Please register your website Request URL with E2pay.
Signature not match
The Signature generated is incorrect.
Status not approved
Account was suspended or not active.
Code
Message
Description
pge2101
Invalid parameters
Some parameter posted to E2Pay is invalid or empty.
pge2103
Invalid merchant code
The merchant code does not exist or incorrect.
pge2104
Duplicate refference number
Do not re-use Reference Number that previously payment success for transaction.
pge2203
Signature not match
Signature on request page which pass to E2Pay is incorrectly generated. Refer section 8 for more information about Signature for request page.
Minimum User Contact: 10 Character (Only Number)
Maximum User Contact: 14 Character (Only Number)
E2Pay OPSG payment posting URL (payment page) URL :
E2Pay OPSG payment re-query URL :
E2Pay OPSG payment posting URL (payment page) URL : E2Pay OPSG payment re-query URL :
Check the HTTP_REFERER value is from pay.e2pay.co.id (only applicable if the merchant web site is working with SSL Certificate).
*E2Pay OPSG is an Online Payment Switching Gateway provided by E2Pay. For more information, please visit