Push 2 Payment





Download Image


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:

before

Berubah Menjadi

after

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 :
  1. OVO
  2. JENIUS
QR :
  1. QRIS
amount 13 Ya Jumlah tagihan yang harus dibayarkan
customer_id 64 Ya Data customer
  1. OVO = Nomor Handphone
  2. JENIUS = Cashtag ($cashtag)
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
  1. OVO = Nomor Handphone
  2. JENIUS = Cashtag ($cashtag)
  3. GOPAY = Nomor Handphone
  4. LINKAJA = Nomor Handphone
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

Signature
Contoh Request:

POST /rest/digitalpay/pushtopay HTTP/1.1 Content-Length: 282 Content-Type: application/x-www-form-urlencoded Accept: */*Host: sandbox-api.espay.id Authorization: Basic U0dXUEFJREJBUTAyOkhOUlFLSENI rq_uuid=PAIDBAQ721659 &rq_datetime=2019-11-02 01:29:10 &comm_code=SGWPAIDBAQ02 &product_code=OVO &order_id=ESP.0043330 &amount=105000 &key=27hsdfv6ukmepgrv &description=Customer PaidbaQ &customer_id=081223213625 &signature=89c1ac1cdbb30185bcab457f209ba90ef43486216823abfe7ed013b24ee49733

Signature
Contoh Response:

{ "rq_uuid": "PAIDBAQ721659", "rs_datetime": "2019-11-02 01:29:21", "error_code": "0000", "error_message": "", "trx_id": "ESP1572632951KJTO" } { "rq_uuid": "0be6ff4a-9dd0-4177-b576-58740482d230", "rs_datetime": "2019-06-13 14:29:34", "error_code": "0000", "error_desc": "Success", "reference_id": "ESP1560410968IUAD", "customer_id": "$getha6", "order_id": "SGWYESSI000012", "trx_id": "ESP1560410968IUAD", "trx_status": "S", "amount": "10000", "approval_code": "1522064295", "product_code": "JENIUSIB" }