Push 2 Payment
Introduction
Push Payment merupakan platform pembayaran berupa e-money dalam bentuk aplikasi mobile dengan keunikan langsung tersambung dengan akun aplikasi pengguna. Dengan pembayaran push, pembeli menerima dan menyetujui faktur dan mengirimkan pembayaran seperti halnya dengan pembayaran tarikan. Namun, dengan pembayaran push, proses transaksi secara otomatis dan dana dimasukkan langsung ke akun penjual. ACH, pembayaran rekening dan setoran langsung adalah contoh pembayaran push. Karena ada biaya transaksi yang lebih rendah dan proses rekonsiliasi yang lebih mudah, pembayaran push sering dimanfaatkan untuk meyakinkan pemasok untuk menerima pembayaran kartu kredit.
Dalam ranah menuju digitalisasi, Pembayaran akan semakin dipermudah untuk kedepannya. Seperti dengan metode pembayaran PUSH2PAY ini, ESPAY secara tidak langsung mengajak para pengguna / pelanggannya untuk semakin dekat dengan era digitalisasi melalui internet dan ponsel pintar. Selain itu, pengguna juga mendapatkan kelebihan-kelebihan seperti:
- Pembayaran yang ramah pengguna (Sangat MUDAH, sungguh!)
- Pembayaran yang lebih aman
- Pengalaman yang lebih baik untuk pengguna
Dengan metode pembayaran ini, entitas-entitas yang sebelumnya diperlukan seperti:
Berubah Menjadi
Dengan kemudahan yang diberikan dalam pembayaran menjadikan aktivitas transaksi semakin menyenangkan. Memberikan pengguna sebuah pengalaman bertransaksi yang jauh lebih baik dari sebelumnya.
“Metode pembayaran yang akan MENGUBAH pengalaman bertransaksi”
Authentication
Setiap request harus akan diverifikasi dengan cara basic auth, jadi pada setiap request yang dikirim harus menyertai header Authorization dengan value Basic diikuti dengan username dan password dengan format username:password yang telah di encode dengan Base64 Encoding
Contoh :
Username: Romeo
Password: Juliet
Format sebelum di encode :
Romeo:Juliet
Hasil Base64 encoding :
Um9tZW86SnVsaWV0
Header yang dikirim :
Authorization : Basic
Um9tZW86SnVsaWV0
Setiap Authentication yang gagal akan menerima header http 401
Parameter Request & Parameter Response
Web Service untuk melakukan Push to Pay ke Aplikasi Pembayaran
Alur Pesan
Merchant → Espay
Metode
HTTP Post
API URL
Endpoint Development: https://sandbox-api.espay.id/rest/digitalpay/pushtopay
Endpoint Production: https://api.espay.id/rest/digitalpay/pushtopay
Parameter Request:
Nama Field | Attribute | Mandatory | Keterangan |
rq_uuid | 64 | Ya | Pengidentifikasi request. ID unik untuk mengidentifikasi pesan-pesan tersebut dengan pesan yang lain |
rq_datetime | 19 | Ya | Tanggal dan waktu di server aplikasi Espay ketika pesan dikirim |
comm_code | 32 | Ya | Kode penjual yang terdaftar di aplikasi Espay |
order_id | 20 | Ya | Nomor transaksi / ID faktur / ID unik yang mengidentifikasi pesanan / tagihan / faktur |
product_code | 10 | Ya | Kode Produk yang diinginkan. Push to Pay :
|
amount | 13 | Ya | Jumlah tagihan yang harus dibayarkan |
customer_id | 64 | Ya | Data customer
|
promo_code | 64 | Tidak | Promo Code |
is_sync | 1 | Tidak | 1 = Sync / 0 = Async Default Async |
branch_id | 64 | Optional | Branch ID |
pos_id | 64 | Optional | POS ID Machine |
description | 20 | Ya | Order description |
signature | 64 | Ya | Signature diperlukan untuk validasi oleh penjual |
Parameter Respone:
Nama Field | Attribute | Mandatory | Keterangan |
error_code | 4 | Ya | Jika error_code sama dengan 0000 = Sukses Jika error_code tidak sama dengan 0000 = Gagal call request ke Aplikasi Pembayaran |
error_message | 32 | Ya | Jika error_code sama dengan 0000 = Sukses Jika error_code tidak sama dengan 0000 = Gagal call request ke Aplikasi Pembayaran |
trx_id | 32 | Ya | Transaksi ID dari Espay |
QRLink | 64 | Ya | URL QR https://api.espay.id/gojek/QR/uafu-134fd-erdf-353--erdf-353-/ |
QRCode | BLOB | Ya | data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGB gcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UxwcKDcpLDAxNDQ0Hyc5PTgyP….. |
order_id | 20 | Optional | Nomor transaksi / ID faktur / ID unik yang mengidentifikasikan pesanan / tagihan / faktur |
customer_id | 32 | Optional | Data customer
|
trx_status | 2 | Optional | Status transaksi |
amount | 13 | Optional | Jumlah tagihan |
approval_code | 64 | Optional | Approval code, reference dari Bank |
product_code | 10 | Optional | Kode product |
Signature
Setiap request harus dilengkapi signature untuk divalidasi. Client akan diberikan Secret Key di dokumentasi terpisah dari document ini. Key tersebut akan diolah untuk menjadi signature dengan langkah-langkah sebagai berikut :
Step 1 :
Gabungkan parameter-parameter yang digunakan dengan urutan sebagai berikut :
##rq_uuid##comm_code##product_code##order_id##amount##mode##key##
Contoh :
rq_uuid : 123ABC-DEF456
comm_code : MYCOMMCODE
product_code : OVO
order_id : ORDER001
amount : 10000
key : S3cr317kEY
mode : PUSHTOPAY
Sehingga akan menjadi rangkaian string sebagai berikut :
Result = ##123ABC-DEF456##MYCOMMCODE##OVO##ORDER001##10000##PUSHTOPAY##S3cr317kEY##
Step 2 :
Hasil dari Step 1 di uppercase menjadi seperti ini:
##123ABC-DEF456##MYCOMMCODE##OVO##ORDER001##10000##PUSHTOPAY##S3CR317KEY##
Step 3 :
Hash hasil dari Step 2 dengan menggunakan sha256 :
$sha256 = hash(sha256, '##123ABC-DEF456##MYCOMMCODE##OVO##ORDER001##10000##PUSHTOPAY##S3CR317KEY##')
Result = aa19e37e1bf6d5cfb23d59988d397f9ba6e79cf6853606e45a6809e0ca9a7b5d
Hasil dari Step 3 inilah yang akan digunakan sebagai value dari parameter signature.
IP Whitelist Registration
ESPAY server juga akan memfilter alamat IP yang akan mengakses server ESPAY. Untuk itu silahkan kontak Tim ESPAY untuk mendaftarkan IP anda.
Table Error
Response Code | Description |
0000 | COMPLETED SUCCESFULLY |
9999 | SUSPECT / TIMEOUT |
802 | MAX/MIN PAYMENT AMOUNT EXCEEDED |
801 | TRANSACTION ERROR, INQUIRY DATA NOT FOUND |
800 | INSUFFICIENT FUNDS |
614 | UNABLE TO PROCESS TRANSACTION AT CERTAIN HOURS |
612 | UNABLE TO PROCESS TRANSACTION, PLEASE TRY AGAIN LATER |
611 | TRANSACTION DECLINE, PLEASE CONTACT YOUR ADMINISTRATOR |
610 | YOU CAN PERFORM THE SAME TRANSACTION IN 5 MINUTES |
601 | IP ADDRESS REJECTED / UNREGISTERED |
406 | INQUIRY DATA IS INVALID |
405 | PRODUCT DENIED |
404 | PRODUCT NOT AVAILABLE |
403 | AMOUNT IS NOT SET |
300 | INQUIRY NOT AVAILABLE |
210 | DUPLICATE UUID |
205 | INVALID REQUEST |
040 | BILLER SYSTEM MALFUNCTION |
09 | REQUEST IN PROGRESS |
13 | TXN AMT IS DIFFER WITH TOTAL BILL AMT |
14 | PAYMENT NBR NOT FOUND |
15 | NO SUCH ISSUER |
17 | SERVICE UNAVAILABLE (MAINTENANCE) |
18 | DISPUTE |
22 | SUSPECTED MALFUNCTION |
34 | SUSPECTED FRAUD |
36 | RESTRICTED |
60 | CARD ACCEPTOR CONTACT ACQUIRER |
61 | TRANSACTION EXCEEDS APPROVAL AMOUNT LIMIT |
64 | ORIGINAL AMOUNT INCORRECT |
65 | EXCEED FREQUENCY LIMIT |
66 | CARD ACCEPTOR, CALL ACQUIRER SECURITY |
67 | HOT CARD RETAIN CARD |
68 | LATE RESPONSE FROM BILLER |
72 | VOUCHER / DENOM NOT AVAILABLE |