Direct API
Direct API use JSON as programming language. Customers do not have access to a Payment Information page while using the Direct API. The integration available is via the API provided below.
Last updated
Direct API use JSON as programming language. Customers do not have access to a Payment Information page while using the Direct API. The integration available is via the API provided below.
Last updated
Customer checkout with payment method VA or Over the counter.
Merchant request VA number and VA expired date toe E2Pay with the parameter request via Backend H2H.
E2Pay response merchant request by sending VA number and VA expired date generated by E2Pay to merchant.
Merchant shows VA number and VA expired date to customer.
Customer then pay the bill.
Issuer get notified regarding payment done by customer and send the inquiry payment detail to E2pay along with payment status.
E2pay get payment status from issuer and pass it to merchant.
Then merchant show payment status to customer (success/fail).
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
Referto E2Pay Merchant Technical Spec
v1.7.1.pdf file for IDR gateway.
RefNo
String
18
M
Unique merchant transaction number/OrderID.
VaNumber
String
13
O
● Indicates virtual account number based on merchant unique number. Example: customer phone number ● This parameter is mandatory for static VA
Cashtag
String
30
C
This parameter ONLY applicable for JeniusPay
Amount
Currency
M
The amount must not contain any decimal points, thousand separators or currency symbols. For example, Rp 10.000,00 is expressed as 1000000.
Currency
String
5
M
Only 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
1000
O
Merchant remarks
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
100
M
SHA1 base code 64 signature (refer to 3)
CallBackURL
String
200
M
URL callback to get notification from E2Pay
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).
This Backend post feature will return status the transaction is a payment success or failed.
The Backend page should implement checking same like response page such as signature checking, and etc. to prevent user hijack merchant system.
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.
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".
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 :
Field Name
Type (Size)
M/O
Description
MerchantCode
Varchar (20)
M
The Merchant Code provided by E2Pay and use to uniquely identify the Merchant.
PaymentId
Integer
M
Refer to AppendixI.pdf file for IDR gateway.
RefNo
Varchar (18)
M
Unique merchant transaction number/ OrderID
Amount
Currency
M
The amount must not contain any decimal points, thousands separators or currency symbols. For example,Rp10.000,00 is expressed as 1000000.
Currency
Varchar (5)
M
Refer to AppendixI.pdf file for IDR gateway.
Remark
Varchar (100)
O
Merchant remarks
TransId
Varchar (30)
M
E2Pay OPSG transaction id
AuthCode
Varchar (20)
O
Bank's approval code
Status
Varchar (1)
M
Payment status
1 – Success
6 – Pending
0 – Fail
ErrDesc
Varchar (100)
O
Payment status description. (Refer to Appendix I.pdf file).
VirtualAccountAssigned
Varchar (100)
O
Virtual account no
TransactionExpiryDate
Varchar (100)
O
Transaction expired date
Signature
Varchar (100)
M
SHA1 base code 64 signature (refer to 3.2)
Content-type : Application/json
Content
Merchant HTTPS POST re-query payment status parameters to E2Pay OPSG.
PaymentId
integer
M
Refer to Appendixl.pdf file for IDR gateway.
MerchantCode
Varchar
M
Merchant Code assigned by E2Pay
Currency
Varchar
M
Refer to Appendixl.pdf file for IDR gateway.
TransId
Varchar
M
E2Pay OPSG Transaction ID
RefNo
Varchar
M
Unique merchant transaction number / Order ID
Signature
Varchar
M
SHA1 base code 64 signature (Refer to Restful JSON Re-query Signature)
Content type : application/json
Content :
Possible reply from E2Pay OPSG
Description
00
Successful payment
Record not found
Cannot found the record
Incorrect amount
Amount different
Payment fail
Payment fail
Payment pending
Payment pending
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 fields must set in the following order: (MerchantKey & MerchantCode & RefNo & Amount & Currency)
Example : MerchantKey = applekey MerchantCode = ID00001 RefNo = A00000001 Amount = 300000 (Note : 300000 represent amount as Rp 3.000,00) Currency = IDR
The hash would be calculated on the following string : applekeyID00001A00000001300000IDR
The resulting has signature value equals to (using SHA1 base64 hash algorithm) Q/iIMzpjZCrhJ2Yt2dor1PaFEFI=
If the Merchant request is successful the response message will contain as SHA1 hashed signature. The hash signature for the response is a hash of the following fields:
MerchantKey (Provided by E2Pay OPSG and share between E2Pay and merchant only)
MerchantCode
PaymentId
RefNo
Amount
Currency
Status
The field must set in the following order : (SecretKey & MerchantCode & PaymentId & RefNo & Amount & Currency & Status) Example : SecretKey = merchantkey MerchantCode = ID00001 PaymentId = 7 RefNo = 19201970148AM Amount = 300000 (Note: 300000 represent amount as Rp 3000,00) Currency = IDR Status = 1 The hash would be calculated on the following string: merchantkeyID0000119201970148AM300000IDR1 The resulting has signature value equals to (using SHA1 base64 hash algorithm) OSsMZwT0jH4Wib3G2o/ZTQRSYPM=
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=
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 reference 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.
Payment Channel
Payment ID
Permata VA
22
BNI VA
28
CIMB VA
37
BCA VA
38
BRI VA
40
Mandiri VA
44
BSI VA
47
Minimum User Contact: 10 Character (Only Number)
Maximum User Contact: 14 Character (Only Number)
E2Pay direct API URL: E2Pay OPSG payment re-query URL:
E2Pay direct API URL: E2Pay OPSG payment re-query URL: