Dokumentasi API

Create Payment Retail

API NameCreate Payment Retail Code
FunctionLayanan 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 Code31
MethodPOST
URL/snap/v1.0/payment/modern-retail
Content Typeapplication/json
Related ServicePayment Retail

Request​

Header

NoNameTypeLengthRequiredConditionRemarks
1Content-TypeStringVariable, 127 maxWajibTipe konten, nilai selalu application/json
2AuthorizationStringVariableWajibBerisikan B2B Bearer JWT Token, yang didapatkan dari Access Token B2B
3X-TIMESTAMPStringFixed, 25 maxWajibWaktu transaksi, dalam format YYYY-MM-DDTHH:mm:ss+07:00. Zona waktu harus GMT+7 (Jakarta time)
4X-PARTNER-IDStringVariable, 36 maxWajibID untuk mitra yang dihasilkan oleh PakaiLink. Unique ID untuk mitra
5X-EXTERNAL-IDStringVariable, 36 maxWajibMessaging reference ID unik yang dihasilkan oleh merchant. Numeric String. Nomor referensi harus unik di hari yang sama.
6CHANNEL-IDStringVariable, 5 maxWajibIdentifikasi perangkat dimana API Service ini sedang diakses oleh pengguna. Daftar Channel ID dapat dilihat di sini.
7X-SIGNATUREStringVariableWajibSignature harus dihasilkan dengan metode Symmetric Signature

Body

NoNameTypeLengthRequiredConditionRemarks
1parnerReferenceNoStringVariable, 127 maxWajibNomor unik (hingga 20 digits).
2customerIdStringVariable, 35 maxWajibPengidentifikasi unik untuk pelanggan di dalam sistem
3customerNameStringVariable, 100 maxWajibPengidentifikasi unik untuk pelanggan yang disediakan oleh mitra.
4customerPhoneStringVariable, 15 maxOptionalNomor telepon pelanggan yang disediakan oleh mitra
5customerEmailStringVariable, 225 maxOptionalAlamat email pelanggan yang disediakan oleh mitra
6expiredDateStringVariableOptionalyWaktu kedaluwarsa dari VA dinamis yang dibuat (dalam format ISO). Jika variable ini tidak diisi, maka secara default akan diisi 24 jam oleh sistem.
7totalAmountmoneyVariableWajibBerisi dua sub-field. Nilai: Total Amount, termasuk pecahan Mata uang: Kode mata uang berdasarkan ISO
8additionalInfoStringVariableWajibInformasi tambahan
9additionalInfo.productCodeStringVariable, 20 maxWajibKode yang mewakili jenis metode pembayaran digital
10additionalInfo.remarkStringtextOptionalCatatan tambahan atau komen dari mitra mengenai transaksi
11additionalInfo.callbackUrlStringtextOptionalURL 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

NoNameTypeLengthRequiredConditionRemarks
1responseCodeStringFixed, 7 maxWajibLihat daftar kode response.
2responseMessageStringVariable, 150 maxWajibLihat daftar kode response.
3paymentCodeRetailStringVariableWajibBerisikan 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

NoResponse KodeResponse PesanKeterangan
12003100SuccessfulRequest telah berhasil diproses tanpa ada masalah
24003101Invalid Field FormatPanjang informasi tidak boleh melebihi 150 karakter
34003102Invalid Wajib FieldKolom atau field yang wajib diisi tidak lengkap atau formatnya tidak sesuai dengan yang diharapkan
44013100Unauthorized. [reason]Kesalahan umum yang terjadi ketika pengguna atau sistem tidak memiliki izin untuk mengakses tindakan tertentu
54013101Invalid Token (B2B)Token akses yang digunakan untuk otentikasi tidak sah atau sudah kedaluwarsa
64033101Feature Not AllowedFitur yang diminta tidak diizinkan atau tidak tersedia
74033102Exceeds Transaction Amount LimitJumlah uang terkecil atau terbesar yang dapat diproses dalam transaksi
84043103Bank Not Supported By SwitchBank yang digunakan tidak didukung oleh sistem
94093100ConflictX-EXTERNAL-ID tidak dapat digunakan lebih dari sekali dalam satu hari yang sama
104093101Duplicate partnerReferenceNoNomor referensi mitra (partnerReferenceNo, trxId) yang digunakan sudah terdaftar atau digunakan sebelumnya dalam sistem
115003102Backend system failureKesalahan yang terjadi di server saat mencoba memproses permintaan