Credit Card


Signature

Semua request dari dan ke server Espay akan membutuhkan paramater signature, semua merchant harus validasi parameter ini untuk memastikan request hanya datang dari server Espay dan dari server Merchant.

Signature transaksi dihasilkan menggunakan algoritma hash SHA256 dan untuk menghasilkan signature transaksi, berikut penjelasannya:

  1. Signature Key(Key) : Key digunakan untuk menghasilkan signature, yang diberikan oleh Tim Integrasi Espay
  2. comm_code : Parameter Kode merchant yang diberikan oleh Tim Integrasi Espay
  3. trx_id : Transaksi ID dari merchant
  4. amount : Amount dari merchant

Urutan pengambungan signature adalah seperti berikut:

Tokenization:

  1. Signature Key
  2. comm_code
  3. trx_id
  4. amount

Capture:

  1. Signature Key
  2. comm_code
  3. trx_id
  4. amount

Void:

  1. Signature Key
  2. comm_code
  3. trx_id

Refund:

  1. Signature Key
  2. comm_code
  3. trx_id
  4. amount

Fields ini harus diatur dalam urutan berikut, dipisahkan oleh sebuah ##

##comm_code##trx_id##amount##

Selanjutnya, string harus dikonversi ke UPPERCASE sebelum hash dilakukan.
Contoh :

##SGWTEST##test001##100000##

Uppercase semua string menjadi seperti berikut :

##SGWTEST##TEST001##100000##

Hasil setelah hash dan algoritmasha256

d0f8d02e651802c0c6984794adc78c9b09cd53d504ee13456d8ee2121d20

Tokenization

Proses ini digunakan jika merchant sudah memiliki data token kartu kredit yang diberikan Espay dan ingin melakukan transaksi menggunakan token tersebut.

Alur Pesan

Merchant → Espay

Metode

HTTP Post

API URL

Development : https://sandbox-api.espay.id/rest/creditcard/tokenpayment

Production : https://api.espay.id/rest/creditcard/tokenpayment

Parameter Request:

Nama Parameter Max Length Mandatory Keterangan
rq_uuid 64 Ya Request identifier. Id unik untuk mengidentifikasi pesan ini dengan pesan lainnya
rq_datetime 19 Ya Tanggal dan waktu di server Mitra saat pesan dikirim
comm_code 32 Ya Kode merchant yang terdaftar di Espay
masked_card_no 20 Ya Nomor kartu kredit yang di masking
store_card_number 20 Ya Token yang diberikan oleh Espay
trx_id 32 Ya Nomor transaksi id unik untuk mengidentifikasi order/ billing/ invoice.
description 19 Ya Deskripsi pembayaran
cardname 32 Ya Nama pemilik kartu kredit
email 32 Ya Alamat email pemilik kartu kredit
ccy 5 Ya Mata uang
amount 20 Ya Jumlah pembayaran
signature 64 Ya Signature yang digenerate oleh merchant dan akan di validasi oleh Espay, lihat halaman ini untuk detailnya

Setelah melakukan request dengan contoh diatas, client akan mendapatkan response seperti dibawah ini:

Parameter Response:

Nama Parameter Max Length Mandatory Keterangan
rq_uuid 4 Ya Request identifier. Id unik untuk mengindentifikasi pesan ini dan pesan lainnya
rs_datetime 32 Ya Tanggal dan waktu server Espay saat messages response
trx_id 32 Ya Nomor transaksi id unik untuk mengidentifikasi order/ billing/ invoice.
error_code 4 Ya Kode error web service, 0000 = success, 9999 = failed/timeout
error_code ini untuk menyatakan sukses/gagal dari service ini saja, untuk status pembayaran berhasil/gagal akan dikirim melalu service Payment Notification
error_message 32 Ya Deskripsi error

Capture Payment

Proses ini digunakan jika merchant ingin melakukan capture terhadap transaksi yang sedang In Progress.

Alur Pesan

Merchant → Espay

Method

HTTP Post

API URL

Development : https://sandbox-api.espay.id/rest/creditcard/capturepayment
Production : https://api.espay.id/rest/creditcard/capturepayment

Parameter Request:

Nama Parameter Max Length Mandatory Keterangan
rq_uuid 64 Ya Request identifier. Id unik untuk mengidentifikasi pesan ini dengan pesan lainnya
rq_datetime 19 Ya Tanggal dan waktu di server Mitra saat pesan dikirim
comm_code 32 Ya Kode merchant yang terdaftar di Espay
trx_id 32 Ya Nomor transaksi id unik untuk mengidentifikasi order/ billing/ invoice.
amount 20 Ya Jumlah pembayaran
signature 64 Ya Signature yang digenerate oleh merchant dan akan di validasi oleh Espay, lihat halaman ini untuk detailnya

Setelah melakukan request dengan contoh diatas, client akan mendapatkan response seperti dibawah ini:

Parameter Response:

Nama Parameter Max Length Mandatory Keterangan
rq_uuid 4 Ya Request identifier. Id unik untuk mengindentifikasi pesan ini dan pesan lainnya
rs_datetime 32 Ya Tanggal dan waktu server Espay saat messages response
trx_id 32 Ya Nomor transaksi id unik untuk mengidentifikasi order/ billing/ invoice.
status_transaction 32 Ya Menyatakan status transaksi saat ini
S: Success
F: Failed
error_code 4 Ya Kode error web service, 0000 = success, 9999 = failed/timeout
error_code ini untuk menyatakan sukses/gagal dari service ini saja, untuk status pembayaran berhasil/gagal akan dikirim melalu service Payment Notification
error_message 32 Ya Deskripsi error

Void Payment

Proses ini digunakan jika merchant ingin melakukan void terhadap transaksi yang sedang In Progress.

Alur Pesan

Merchant → Espay

Method

HTTP Post

API URL

Development : https://sandbox-api.espay.id/rest/creditcard/voidpayment

Production : https://api.espay.id/rest/creditcard/voidpayment

Parameter Request:

Nama Parameter Max Length Mandatory Keterangan
rq_uuid 64 Ya Request identifier. Id unik untuk mengidentifikasi pesan ini dengan pesan lainnya
rq_datetime 19 Ya Tanggal dan waktu di server Mitra saat pesan dikirim
comm_code 32 Ya Kode merchant yang terdaftar di Espay
trx_id 32 Ya Nomor transaksi id unik untuk mengidentifikasi order/ billing/ invoice.
amount 20 Ya Jumlah pembayaran
signature 64 Ya Signature yang digenerate oleh merchant dan akan di validasi oleh Espay, lihat halaman ini untuk detailnya

Setelah melakukan request dengan contoh diatas, client akan mendapatkan response seperti dibawah ini:

Parameter Response:

Nama Parameter Max Length Mandatory Keterangan
rq_uuid 4 Ya Request identifier. Id unik untuk mengindentifikasi pesan ini dan pesan lainnya
rs_datetime 32 Ya Tanggal dan waktu server Espay saat messages response
trx_id 32 Ya Nomor transaksi id unik untuk mengidentifikasi order/ billing/ invoice.
status_transaction 32 Ya Menyatakan status transaksi saat ini
S: Success
F: Failed
error_code 4 Ya Kode error web service, 0000 = success, 9999 = failed/timeout
error_code ini untuk menyatakan sukses/gagal dari service ini saja, untuk status pembayaran berhasil/gagal akan dikirim melalu service Payment Notification
error_message 32 Ya Deskripsi error

Refund Payment

Proses ini digunakan jika merchant ingin melakukan refund terhadap transaksi yang sedang In Progress.

Alur Pesan

Merchant → Espay

Method

HTTP Post

API URL

Development : https://sandbox-api.espay.id/rest/creditcard/refundpayment
Production : https://api.espay.id/rest/creditcard/refundpayment

Parameter Request:

Nama Parameter Max Length Mandatory Keterangan
rq_uuid 64 Ya Request identifier. Id unik untuk mengidentifikasi pesan ini dengan pesan lainnya
rq_datetime 19 Ya Tanggal dan waktu di server Mitra saat pesan dikirim
comm_code 32 Ya Kode merchant yang terdaftar di Espay
trx_id 32 Ya Nomor transaksi id unik untuk mengidentifikasi order/ billing/ invoice.
amount 20 Ya Jumlah pembayaran
signature 64 Ya Signature yang digenerate oleh merchant dan akan di validasi oleh Espay, lihat halaman ini untuk detailnya

Setelah melakukan request dengan contoh diatas, client akan mendapatkan response seperti dibawah ini:

Parameter Response:

Nama Parameter Max Length Mandatory Keterangan
rq_uuid 4 Ya Request identifier. Id unik untuk mengindentifikasi pesan ini dan pesan lainnya
rs_datetime 32 Ya Tanggal dan waktu server Espay saat messages response
trx_id 32 Ya Nomor transaksi id unik untuk mengidentifikasi order/ billing/ invoice.
status_transaction 32 Ya Menyatakan status transaksi saat ini
S: Success
F: Failed
error_code 4 Ya Kode error web service, 0000 = success, 9999 = failed/timeout
error_code ini untuk menyatakan sukses/gagal dari service ini saja, untuk status pembayaran berhasil/gagal akan dikirim melalu service Payment Notification
error_message 32 Ya Deskripsi error

Contoh Request Tokenization

POST /rest/creditcard/tokenpayment HTTP/1.1 Host: sandbox-api.espay.id Connection: keep-alive Content-Length: 250 Content-Type: application/x-www-form-urlencoded Accept: */* rq_uuid=SGWHMSAMPOERNAfcf63291-9681-4934-8103-fe9598b5fddd &rq_datetime=2021-10-12 15:17:00 &comm_code=SGWHMSAMPOERNA03 &masked_card_no=411111XXXXXX1111 &store_card_number=13051910361234614100 &trx_id=ESP1580208016A0VT &description=Pembelian Iqos &cardname=test&email=test@sgo.co.id &ccy=IDR &amount=10000 &signature=d59c9333f478457a357bdf1fd12ce07cbf0ec9ed29c18b521f5f37f4327879d3

Contoh Request Capture Payment

POST /rest/creditcard/capturepayment HTTP/1.1 Host: sandbox-api.espay.id Connection: keep-alive Content-Length: 250 Content-Type: application/x-www-form-urlencoded Accept: */* rq_uuid=SGWMOVIC0c7f0065-c706-4b65-863d-689ab495a67a &rq_datetime=2021-10-12 15:17:00 &comm_code=SGWMOVIC &trx_id=MOV12102111361093 &amount=300000 &signature=2c9a29f21e7f33356abb69fe6857ea267070f2559e2463c078310f1ddcc5e06c

Contoh Request Void Payment

POST /rest/creditcard/voidpayment HTTP/1.1 Host: sandbox-api.espay.id Connection: keep-alive Content-Length: 250 Content-Type: application/x-www-form-urlencoded Accept: */* rq_uuid=SGWMOVICfcf63291-9681-4934-8103-fe9598b5fddd &rq_datetime=2021-10-12 15:17:00 &comm_code=SGWMOVIC &trx_id=MOV12102111506156 &amount=10000 &signature=ec7a711b2fff5ca0d48419991f5f471dbe2ade63b5fb12eaf7ea2a0044171a36

Contoh Request Refund Payment

POST /rest/creditcard/refundpayment HTTP/1.1 Host: sandbox-api.espay.id Connection: keep-alive Content-Length: 250 Content-Type: application/x-www-form-urlencoded Accept: */* rq_uuid=SGWMOVIC0c7f0065-c706-4b65-863d-689ab495a67a &rq_datetime=2021-10-12 15:17:00 &comm_code=SGWMOVIC &trx_id=MOV12102111361093 &amount=300000 &signature=2c9a29f21e7f33356abb69fe6857ea267070f2559e2463c078310f1ddcc5e06c

Contoh Response Tokenization

{ "rq_uuid":"SGWHMSAMPOERNAfcf63291-9681-4934-8103-fe9598b5fddd", "rs_datetime":"2021-10-12 15:17:16", "trx_id":"MOV12102111506156", "error_code":"0000", "error_message":"Success" }

Contoh Response Capture Payment

{ "rq_uuid":"SGWMOVIC0c7f0065-c706-4b65-863d-689ab495a67a", "rs_datetime":"2021-10-12 15:17:19", "trx_id":"MOV12102111361093", "status_transaction":"S", "error_code":"0000", "error_message":"Success" }

Contoh Response Void Payment

{ "rq_uuid":"SGWMOVICfcf63291-9681-4934-8103-fe9598b5fddd", "rs_datetime":"2021-10-12 15:17:16", "trx_id":"MOV12102111506156", "status_transaction":"V", "error_code":"0000", "error_message":"Success" }

Contoh Response Refund Payment

{ "rq_uuid":"SGWMOVIC0c7f0065-c706-4b65-863d-689ab495a67a", "rs_datetime":"2021-10-12 15:17:19", "trx_id":"MOV12102111361093", "status_transaction":"S", "error_code":"0000", "error_message":"Success" }