Payment link adalah layanan yang disediakan oleh Espay Payment Gateway, memungkinkan Anda untuk mengirimkan tautan pembayaran kepada pelanggan tanpa perlu melakukan integrasi dengan situs web atau platform e-commerce. Anda dapat membuat link pembayaran (generate link) dan mengirimkannya melalui berbagai platform seperti email, SMS, WhatsApp, atau media sosial. Ini mempermudah proses pembayaran untuk pelanggan secara online.

Sebelum Integrasi

Pastikan Anda sudah menerima kredensial dari tim Espay.

Langkah Integrasi

Berikut ini merupakan langkah-langkah yang dapat Anda gunakan untuk menggunakan Payment Link.

1. Generate Signature
Setiap permintaan yang Anda kirim, akan divalidasi oleh Espay Payment Gateway menggunakan parameter signature yang telah Anda buat. Pelajari pembuatan Signature.
2. Enkripsi Data
Enkripsi data merpakan proses mengubah informasi data kedalam bentuk yang tidak dapat dibaca agar informasi data lebih aman. Setiap melakukan transaksi, Anda wajib melakukan enkripsi untuk semua parameter yang Anda kirim.
openssl_encrypt($plainString, ‘AES-256-CBC’, $key, 0, $iv);

Berikut ini ketentuan untuk enkripsi yang digunakan:

Nama Keterangan
Encryption
AES 256
Mode
CBC
Key
32 bytes.

Diberikan oleh tim Espay.
IV
16 bytes.

Diberikan oleh tim Espay.
Output
Base64

Langkah enkripsi data:

1. Hashing Parameter Key

Format Key sebelum dihashing

12345678901234567890123456789012
Format Key sesudah dihashing
e1b85b27d6bcb05846c18e6a48f118e89f0c0587140de9fb3359f8370d0dba08

2. Hashing dan substring parameter IV

Hashing parameter IV, kemudian lakukan substring 16 karakter mulai dari indeks ke 0.

Format IV sebelum dihashing
1234567890123456
Format IV setelah dihasihing
7a51d064a1a216a692f753fcdab276e4ff201a01d8b66f56d50d4d719fd0dc87
Format hasil substring 16 karakter mulai dari indeks 0
7a51d064a1a216a6

3. Enkripsi dan encode tiap parameter menggunakan base64

Enkripsikan dan encode semua parameter yang akan digunakan dalam payment link
Order id sebelum dilakukan enkripsi dan encode
PAYLINK0312242
Order id setelah dilakukan enkripsi dan encode
Y0dpR3FrWnZ0emNoVEtlYWpEZ2NXQT09
3. Membuat Inquiry dan Payment

Anda diharuskan untuk menyediakan callback yang dapat diakses oleh Espay Payment Gateway. Pelajari lebih lanjut Inquiry dan Payment.

Flow

Anda melakukan generate dengan menggunakan parameter dan URL yang disediakan oleh ESPAY. Setelah itu, link hasil generate dapat diserahkan kepada Customer Anda.

API URL

Environment URL
Sandbox
Port of HTTPS (443)
https://sandbox-portal.espay.id/paylink?orderid=xxx&commcode=xxx&amount=xxx&datetime=xxx
&detail=xxx&backurl=xxx&signature=xxx
Production
Port of HTTPS (443)
https://paylink.espay.id/checkout?orderid=xxx&commcode=xxx&amount=xxx&datetime=xxx&detail=xxx&backurl=xxx&signature=xxx

Parameter Permintaan

Parameter Tipe Mandatory Keterangan
orderid
ANS (32)
Y
Kode unik untuk mengidentifikasi pesanan / penagihan / faktur.

Contoh:
Nomor transaksi, invoice id, dll.
commcode
AN (32)
Y
Merchant code yang diberikan oleh tim Espay.

Contoh:
SGWYESSISHOP
amount
N (13.2)
Y
Total pembayaran.

Format:
Desimal .00 (ISO 4217)

Contoh:
150000.00
datetime
ANS (19)
Y
Tanggal dan waktu customer.

Format:
yyyy-MM-dd hh:mi:ss

Contoh:
2024-03-14 07:49:28
detail
JSON
Y
  ITEM_NAME
AN (32)
Y
Nama item.

Contoh:
item1
  AMOUNT
N (15)
Y
Total pembayaran.

Contoh:
10000
  QUANTITY
N (15)
Y
Kuantitas

Contoh:
2
  TOTAL_AMOUNT
N (15)
Y
Total keseluruhan.

Contoh:
20000
  OTHERS
AN (32)
Y
Informasi lainnya.

Contoh:
promo
  AMOUNT
AN (15)
Y
Total.

Contoh:
1000
backurl
ANS
Y
URL yang mengarahkan ke halaman merchant (callback).
signature
ANS (64)
Y
Kode yang digunakan untuk melakukan validasi transaksi. Pelajari Signature.
Y: Yes, O: Optional, C: Conditional

Tipe Data

Tipe Keterangan
A
Alpha character
N
Numeric character
S
Special character
AN
Alphanumeric character
AS
Alpha dan special character
NS
Numeric dan special character
ANS
Numeric dan special character
5. Setelah Pembayaran
Espay Payment Gateway menyediakan API Opsional yang dapat Anda gunakan untuk mendukung kebutuhan pembayaran lainnya.


Contoh Enkripsi PHP

                  
// versi

$plainString = "PAYLINK0312242";  // Nilai yang akan dienkripsi
$key = "12345678901234567890123456789012";  // Kunci sepanjang 32 bytes
$iv = "1234567890123456";  // IV sepanjang 16 bytes

$encrypt = openssl_encrypt($plainString, 'AES-256-CBC', $key, 0, $iv);

$result = base64_encode($encrypt);

//versi 2

$plainString = "PAYLINK0312242";  // Nilai yang akan dienkripsi
$key = hash('sha256', '12345678901234567890123456789012');  // Kunci sepanjang 32 bytes
$iv = substr(hash('sha256', '1234567890123456'), 0, 16); // IV sepanjang 16 bytes

$encrypt = openssl_encrypt($plainString, 'AES-256-CBC', $key, 0, $iv);
$result = base64_encode($encrypt);


             


Format Detail Order:

[
    {
        "ITEM_NAME": "item1",
        "AMOUNT": "20000",
        "QUANTITY": "2",
        "TOTAL_AMOUNT": "40000"
    },
    {
        "ITEM_NAME": "item2",
        "AMOUNT": "10000",
        "QUANTITY": "2",
        "TOTAL_AMOUNT": "20000"
    },
    {
        "OTHERS": "Shipping fee",
        "AMOUNT": "5000"
    },
    {
        "OTHERS": "Promo",
        "AMOUNT": "1000"
    }
]
             


Contoh Payment Link:

https://sandbox-
portal.espay.id/paylink?orderid=VktlMEJwRjZFL0ZSWHg2K3hIZFZRZzNoaWN4cm1PQmN0anZBaEx4L21IQT0=&commcode=
aGlWb3F5cmlGSEJvdUhGb0pLMllOdz09&amount=MHZ2ckVSRDJ3M010TjhLQ2plTWpRZz09&datetime=cEhVaFhHNi9Na2F
yQ3Y0RnpHUHBMWlhJMHZMekVxV0FETStzNkFRZHNFMD0=&detail=eTJCTzE4Y2hQMGFtSVRxcDhkMFpZYWtsdlI5MVErT0
NVc0dzQnYrcGVPRWl3cjV5ZXNITUdqcmJNQU1TQ1JvMVZKN1RIOUdHcklOK2FucmFFZXNoUXhoMVluVm9LUjRLV3ZlYjJ2S0d
Rcks5Ui84b1FKcUZ1OUh0UWpzdDJEZTBjK1M3ODdvaGR3TzA0UHVObFpnVVoxeCtTb1ZHdFF6NXNQZzV3a0JoMFVQOUR2W
CtYdlRxOHZnc2ttRnd0QjVsd3JtMjgrTzY2MndJZDFLK2k3MGxFZ1Z1SStvWmFVejI3RHFJOE5KMFBSa0lyV2hPTEdFdC9DbTRGR
npRUWU2SDBheWlLWVRWUDBoSmVrdytzaGFML01YTDdhR3R0dGE3cnV1NUFmUTFSaUY5VWJ5bFRmV1ZkNExPU0hvMFo
3K3k=&signature=Rno2Vm9DZnFDZG5keTliamlRSnVmZTJFbU4zTHVxQjNZY2JXVk9JY1hRZldRd3pKOUs5Zk1uc2VmREZCSWN
TbThuSE5hK0xuRmlPVnNqNnNzSktYanBJRWliRE9xbjlCZG9ueVVCYWdnc2c9&backurl=emp2cjNxUElFUnk5bEpLNCt4NU5UM
0RXN25HYVV3K2w2K1kwZVZzbXNUVHBtMm9qY0xnK2cvQ29YajdzdzdRWA==
             


CURL
Scroll to Top