Dokumentasi API

Callback Virtual Account

API NameCallback Payment Notif VA
FunctionAPI yang digunakan untuk menginformasikan kepada mitra PakaiLink ketika Nomor VA telah dilakukan pembayaran.
Service Code28
MethodPOST
URL{{url_callback_partner}} yang ditambahkan saat mengakses endpoint create va
Content Typeapplication/json
Related ServiceVirtual Account
NotesPakaiLink akan melakukan maksimal 3x hit retry callback.

Request​

Header

NoNameTypeLengthRequiredConditionRemarks
1Content-TypeStringVariable, 127 maxWajibTipe konten, nilai selalu application/json
2X-TIMESTAMPStringFixed, 25 maxWajibWaktu transaksi dalam format YYYY-MM-DDTHH:mm:ss+07:00. Zona waktu harus GMT+7 (Jakarta time)
3X-SIGNATUREStringVariableWajibSignature harus dihasilkan dengan metode Symmetric Signature.

Body

NoNameTypeLengthRequiredConditionRemarks
1transactionDataJSON ObjectVariableWajibBerisikan informasi data callback transaksi Virtual Account.
2paymentFlagStatus     
3paymentFlagReasonMultilanguageTextVariableOptionalAlasan Status Pembayaran multi bahasa
4paymentFlagReason.englishStringVariableAlasan status pembayaran dalam bahasa inggris
5paymentFlagReason.indonesiaStringVariableAlasan status pembayaran dalam bahasa indonesia
6partnerServiceIdStringFixed, 8 max WajibKode penjual/pembayar dari akun virtual
7customerNoStringVariable, 20 max WajibNomor unik (hingga 20 digit)
8virtualAccountNoStringVariable, 28 max WajibInformasi nomor akun virtual hasil gabungan partnerServiceId dan customerNo
9virtualAccountNameStringVariable, 255 max WajibInformasi nama pelanggan
10partnerReferenceNoStringVariable, 64 max WajibPengenal transaksi unik pada sistem mitra yang diberikan untuk setiap transaksi
11callbackTypecallbackTypeVariable, 64 maxWajibJenis callback yang dikirim oleh sistem
12virtualAccountTrxTypeStringVariable, 1 max WajibDigunakan untuk mengidentifikasi tipe kode VA yang dibuat, Untuk saat ini PakaiLink hanya support untuk tipe VA Statis dan VA Dinamis. VA Statis [O] VA Dinamis [C]
13paidAmountJSON ObjectVariableOptionalBerisi nominal yang berhasil dibayarkan
14paidAmount.valueStringVariable, 1 maxTransaction paidAmount, termasuk pecahan
15paidAmount.currencyStringVariable, 3 maxKode mata uang berdasarkan ISO
16feeAmountJSON ObjectVariableOptionalJumlah biaya layanan yang dikenakan dalam suatu transaksi
17feeAmount.valueStringVariableTransaction paidAmount, termasuk pecahan
18feeAmount.currencyStringVariableKode mata uang berdasarkan ISO
19creditBalanceJSON ObjectVariableOptionalNominal yang masuk ke saldo mitra
20creditBalance.valueStringVariableNominal creditBalance, termasuk pecahan
21creditBalance.currencyStringVariableKode mata uang berdasarkan ISO
22additionalInfoJSON ObjectVariableInformasi tambahan.
23additionalInfo.callbackUrlStringVariableWajibURL untuk dapat menerima notifikasi pembayaran setelah pembayaran dilakukan oleh pelanggan.
24additionalInfo.balanceJSON ObjectVariableSaldo mitra saat ini
25additionalInfo.balance.valueStringVariableNominal additional.balance, termasuk pecahan.
26additionalInfo.balance.currencyStringVariableKode mata uang berdasarkan ISO

Contoh Request​

callback va 
POST /callback/partner
"Content-Type": "application/json",
"X-Timestamp": "2025-03-04T12:33:28+07:00",
"X-Signature": "Au/HnhHlzXvfe3VK0zLYAEkEGiH2Zrc9lctjastNB/Ho/G4Z9N67e8zvH0j4WeK+2fTCsQg0LoWJqAlFtMBDqN7IBtffy4MzJ6uNN5P9TDp758f/xZlPrdT/c9MY7Y1IuirLHSQUxg3pO/ZDW0iKseordnGcxYYbhiApZxzd6Bw3z+uR+PlZA4CbZdORwCWLzcI1DL9VCXmjeH+NZCtf24CskGA+RhiFH/Vr95Vxux2oYSzDyy/xG5GASYujdIZ/dx9zC+lh9okLwhIEhF5bJ07bYu/IqKFPREEWZgiJ0gbyO5Mgh1RZh7EK6NNx7KuZSLZLW0aa3c62fNa6VhQFbA=="
 
{
    "transactionData": {
        "paymentFlagStatus": "00",
        "paymentFlagReason": {
            "english": "Success",
            "indonesia": "Sukses"
        },
        "customerNo": "131857418122353",
        "virtualAccountNo": "7137010000000885",
        "virtualAccountName": "Setya Wardana",
        "partnerReferenceNo": "1Mfo8gsQa43Sd2zJ3CJzDHYjGkeG3ErDD6tu",
        "callbackType": "settlement",
        "paidAmount": {
            "value": "10000.00",
            "currency": "IDR"
        },
        "feeAmount": {
            "value": "3000.00",
            "currency": "IDR"
        },
        "creditBalance": {
            "value": "7000.00",
            "currency": "IDR"
        },
        "additionalInfo": {
            "callbackUrl": "http://localhost:10007/callback/partner"
        }
    }
}

Response​

Body

NoNameTypeLengthRequiredConditionRemarks
1responseCodeStringFixed, 7 maxWajibLihat daftar kode response.
2responseMessageStringVariable, 150 maxWajibLihat daftar kode response.

Contoh Response

{
 "responseCode": "2002800",
 "responseMessage": "Successful"
}

Kode dan Pesan Response

NoResponse KodeResponse PesanKeterangan
12002800SuccessfulRequest telah berhasil diproses tanpa ada masalah