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/snap/v1.0/transfer-va/create-va
Content Typeapplication/json
Related ServiceVirtual Account

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
1virtualAccountDataJSON 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
10trxIdStringVariable, 64 max WajibPengenal transaksi unik pada sistem mitra yang diberikan untuk setiap transaksi
11virtualAccountTrxTypeStringVariable, 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]
12paidAmountJSON ObjectVariableOptionalBerisi nominal yang berhasil dibayarkan
13paidAmount.valueStringVariable, 1 maxTransaction paidAmount, termasuk pecahan
14paidAmount.currencyStringVariable, 3 maxKode mata uang berdasarkan ISO
15feeAmountJSON ObjectVariableOptionalJumlah biaya layanan yang dikenakan dalam suatu transaksi
16feeAmount.valueStringVariableTransaction paidAmount, termasuk pecahan
17feeAmount.currencyStringVariableKode mata uang berdasarkan ISO
18creditBalanceJSON ObjectVariableOptionalNominal yang masuk ke saldo mitra
19creditBalance.valueStringVariableNominal creditBalance, termasuk pecahan
20creditBalance.currencyStringVariableKode mata uang berdasarkan ISO
21additionalInfoJSON ObjectVariableInformasi tambahan.
22additionalInfo.callbackUrlStringVariableWajib URL untuk dapat menerima notifikasi pembayaran setelah pembayaran dilakukan oleh pelanggan.
23additionalInfo.balanceJSON ObjectVariableSaldo mitra saat ini
24additionalInfo.balance.valueStringVariableNominal additional.balance, termasuk pecahan.
25additionalInfo.balance.currencyStringVariableKode mata uang berdasarkan ISO

Contoh Request​

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=="
 
{
    "virtualAccountData": {
        "paymentFlagStatus": "00",
        "paymentFlagReason": {
            "english": "Success",
            "indonesia": "Sukses"
        },
        "partnerServiceId": "1222",
        "customerNo": "131857418122353",
        "virtualAccountNo": "7137010000000885",
        "virtualAccountName": "Setya Wardana",
        "trxId": "1Mfo8gsQa43Sd2zJ3CJzDHYjGkeG3ErDD6tu",
        "virtualAccountTrxType": "O",
        "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",
            "balance": {
                "value": "997000.00",
                "currency": "IDR"
            }
        }
    }
}

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