Create Payment Retail
API Name Create Payment Retail Code Function Layanan untuk menerima dan mengatur dana dari modern retail. FAQ : Nominal minimum adalah IDR 15.000,00 Nominal maksimal adalah IDR 2.500.000,00 Settlement membutuhkan 2-4 hari untuk menerima dana ke saldo Anda. Service Code 31 Method POST URL /snap/v1.0/payment/modern-retail Content Type application/json Related Service Payment Retail
Request
Header
No Name Type Length Required Condition Remarks 1 Content-Type String Variable, 127 max Wajib – Tipe konten, nilai selalu application/json 2 Authorization String Variable Wajib – Berisikan B2B Bearer JWT Token, yang didapatkan dari Access Token B2B 3 X-TIMESTAMP String Fixed, 25 max Wajib – Waktu transaksi, dalam format YYYY-MM-DDTHH:mm:ss+07:00. Zona waktu harus GMT+7 (Jakarta time) 4 X-PARTNER-ID String Variable, 36 max Wajib – ID untuk mitra yang dihasilkan oleh PakaiLink. Unique ID untuk mitra 5 X-EXTERNAL-ID String Variable, 36 max Wajib – Messaging reference ID unik yang dihasilkan oleh merchant. Numeric String. Nomor referensi harus unik di hari yang sama. 6 CHANNEL-ID String Variable, 5 max Wajib – Identifikasi perangkat dimana API Service ini sedang diakses oleh pengguna. Daftar Channel ID dapat dilihat di sini . 7 X-SIGNATURE String Variable Wajib – Signature harus dihasilkan dengan metode Symmetric Signature
Body
No Name Type Length Required Condition Remarks 1 parnerReferenceNo String Variable, 127 max Wajib – Nomor unik (hingga 20 digits). 2 customerId String Variable, 35 max Wajib – Pengidentifikasi unik untuk pelanggan di dalam sistem 3 customerName String Variable, 100 max Wajib – Pengidentifikasi unik untuk pelanggan yang disediakan oleh mitra. 4 customerPhone String Variable, 15 max Optional – Nomor telepon pelanggan yang disediakan oleh mitra 5 customerEmail String Variable, 225 max Optional – Alamat email pelanggan yang disediakan oleh mitra 6 expiredDate String Variable Optional y Waktu kedaluwarsa dari VA dinamis yang dibuat (dalam format ISO). Jika variable ini tidak diisi, maka secara default akan diisi 24 jam oleh sistem. 7 totalAmount money Variable Wajib – Berisi dua sub-field. Nilai: Total Amount, termasuk pecahan Mata uang: Kode mata uang berdasarkan ISO 8 additionalInfo String Variable Wajib – Informasi tambahan 9 additionalInfo.productCode String Variable, 20 max Wajib – Kode yang mewakili jenis metode pembayaran digital 10 additionalInfo.remark String text Optional – Catatan tambahan atau komen dari mitra mengenai transaksi 11 additionalInfo.callbackUrl String text Optional – URL untuk dapat menerima notifikasi pembayaran setelah pembayaran dilakukan oleh pelanggan
Contoh Request
POST /snap/v1.0/payment/modern-retail
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJQQUtBSUxJTksiLCJqdGkiOiIyNDc0NzdlNjk0ZGM3N2FhZDU5YzA4MjA1NzdmZmViNyIsImV4cCI6MTE3NDAyOTc2NzgsImFzIjoicGFydG5lciIsImlkIjoiUFRSMDAwMDAwMyJ9.XmUxHExWILJCHJG74Af8TPJljX2aOmUz4UwJXumxkqxW9uDsIrSX_M_j0uRzPOmaBkk2_rQiHIo_OX_qxv45Mg
Content-Type: application/json
X-TIMESTAMP: 2025-01-30T12:38:12+07:00
X-PARTNER-ID: PTR0000003
X-EXTERNAL-ID: 1075041270
X-SIGNATURE: jysCg9o4ptFydUFxtT5iBqCha3qeZlHL8l5KO1PXqQKWnRH/WotUDmq8+pf7pArtzpqjAfqr7V6HHgoaR47VXg==
CHANNEL-ID: 95221
{
"partnerReferenceNo": "cD3b5yRiCtGmbFhaNCbhPde5W0jymwHzeEf6",
"customerId" : "31857119",
"customerName" : "Setya Wardana",
"customerPhone" : "085745512488",
"customerEmail" : "test@gmail.id",
"expiredDate": "2025-04-23T11:01:34+07:00",
"totalAmount": {
"value": "50000.00",
"currency": "IDR"
},
"additionalInfo": {
"productCode": "ALFAMART",
"remark": "Pembayaran",
"callbackUrl": "http://localhost:10007/callback/partner"
}
}
Response
Body
No Name Type Length Required Condition Remarks 1 responseCode String Fixed, 7 max Wajib – Lihat daftar kode response. 2 responseMessage String Variable, 150 max Wajib – Lihat daftar kode response. 3 paymentCodeRetail String Variable Wajib – Berisikan data Retail Code
Contoh Response
{
"responseCode": "2003100",
"responseMessage": "Successful",
"paymentData": {
"partnerReferenceNo": "cD3b5yRiCtGmbFhaNCbhPde5W0jymwHzeEf6",
"customerId": "31857119",
"customerName": "Setya Wardana",
"customerPhone": "085745512488",
"customerEmail": "test@gmail.id",
"paymentCode": "1002000005536",
"referenceNo": "RTI000002S",
"totalAmount": {
"value": "50000.00",
"currency": "IDR"
},
"feeAmount": {
"value": "3000.00",
"currency": "IDR"
},
"additionalInfo": {
"productCode": "ALFAMART",
"remark": "Pembayaran",
"callbackUrl": "http://localhost:10007/callback/partner"
}
}
}
Kode dan Pesan Response
No Response Kode Response Pesan Keterangan 1 2003100 Successful Request telah berhasil diproses tanpa ada masalah 2 4003101 Invalid Field Format Panjang informasi tidak boleh melebihi 150 karakter 3 4003102 Invalid Wajib Field Kolom atau field yang wajib diisi tidak lengkap atau formatnya tidak sesuai dengan yang diharapkan 4 4013100 Unauthorized. [reason] Kesalahan umum yang terjadi ketika pengguna atau sistem tidak memiliki izin untuk mengakses tindakan tertentu 5 4013101 Invalid Token (B2B) Token akses yang digunakan untuk otentikasi tidak sah atau sudah kedaluwarsa 6 4033101 Feature Not Allowed Fitur yang diminta tidak diizinkan atau tidak tersedia 7 4033102 Exceeds Transaction Amount Limit Jumlah uang terkecil atau terbesar yang dapat diproses dalam transaksi 8 4043103 Bank Not Supported By Switch Bank yang digunakan tidak didukung oleh sistem 9 4093100 Conflict X-EXTERNAL-ID tidak dapat digunakan lebih dari sekali dalam satu hari yang sama 10 4093101 Duplicate partnerReferenceNo Nomor referensi mitra (partnerReferenceNo, trxId) yang digunakan sudah terdaftar atau digunakan sebelumnya dalam sistem 11 5003102 Backend system failure Kesalahan yang terjadi di server saat mencoba memproses permintaan