Virtual Account SNAP

Payment Virtual Account Notification

Panduan lengkap untuk notifikasi pembayaran Virtual Account menggunakan API Paylabs.

HTTPMethod: POST

URL: ${ROOT_URL}/v1.0/transfer-va/payment

Service Code: 25

Version: 1.0

ServiceGroup: transfer-va

ProductType: payment

Notify when an order is successful

Request

ParameterRequiredTypeLengthRemarks
Content-TypeMString-Fixed value application/json
AuthorizationCStringDynamicNilai access_token, jika Anda menggunakan enkripsi symmetric, kolom ini wajib diisi
X-TIMESTAMPMString64Waktu Jakarta, format 2021-11-29T09:22:18+07:00
X-PARTNER-IDMString36Merchant ID
X-EXTERNAL-IDMString12Request ID
X-SIGNATUREMStringDynamicSignature strings
X-IP-ADDRESSMString15Client IP (IPv4)

Body

ParameterRequiredTypeLengthRemarks
partnerServiceIdMString8turunan X-PARTNER-ID, mirip dengan kode perusahaan, 8 digit spasi disebelah kiri
customerNoMString20fixed value 00000000000000000000
virtualAccountNoMString28virtualAccountNo
virtualAccountNameMString255Nama Customer. contoh: Jokul Doe
virtualAccountEmailOString255Email
virtualAccountPhoneOString30No Hp, Format: 62xxxxxxxxxxxxx
trxIdCString64Unik ID di generated oleh Partner
paymentRequestIdMString128Unik ID di generated oleh PJP. Platform Order Number
channelCodeONumber4kode channel berdasarkan ISO 18245
hashedSourceAccountNoOString32Source account number dalam hash
sourceBankCodeOString3kode rekening bank
+paidAmountMObject
「ValueMString (ISO4217)16,2Jumlah yang Dibayar dengan 2 digit di belakang koma
「CurrencyMString3Mata Uang. fixed value : IDR
+cumulativePaymentAmountOObject
「ValueMString (ISO4217)16,2Transaction Amount
「CurrencyMString3Mata Uang. fixed value : IDR
paidBillsOString6tagihan yang di bayar Format Hexadecimal
+totalAmountOObject
「ValueMString (ISO4217)16,2Transaction Amount.
「CurrencyMString3Mata Uang. fixed value : IDR
trxDateTimeODate25Tanggal dan waktu sistem internal PJP dengan zona waktu, yang mana mengikuti ISO-8601 standard
referenceNoOString64Kode autentikasi pembayaran dihasilkan oleh PJP, Platform Order Number
journalNumOString6Urutan nomor jurnal pada Sistem core PJP
paymentTypeOString1Type Payment
flagAdviseOString1status callback, N: Deny, Y: Allow
subCompanyOString5Kode Sub Perusahaan dihasilkan oleh by Partner
+billDetailsOArray of ObjectsArray dengan maksimal 24 Object
「billCodeOString2dari Inquiry Response
「billNoOString18dari Inquiry Response
「billNameOString20dari Inquiry Response
「billShortNameOString10dari Inquiry Response
+billDescriptionOObjectdari Inquiry Response
「englishOString18dari Inquiry Response
「indonesiaOString18dari Inquiry Response
「billSubCompanyOString5dari Inquiry Response
+billAmountOObject
「ValueMString (ISO4217)16,2Transaction Amount. dari Inquiry Response
「CurrencyMString3Mata Uang. fixed value : IDR
+additionalInfoOObjectunlimiteddari Inquiry Response
「billReferenceNoONumber15kode Bill auth digenerate oleh PJP
+freeTextsOArray of ObjectsArray dengan maksimal 25 Object
「englishOString32Akan ditampilkan di Channel
「indonesiaOString32Akan ditampilkan di Channel
+additionalInfoOObject
「transFeeRateODecimal(6,6)NoRate Transaksi, mendukung enam angka belakang koma
「transFeeAmountODecimal(12,2)NoBiaya, mendukung dua angka belakang koma
「totalTransFeeODecimal(12,2)NoTotal rate biaya layanan transaksi (tidak termasuk vatFee), mendukung dua angka belakang koma
「vatFeeODecimal(12,2)NoPajak, mendukung dua angka belakang koma
「payerOString(60)NoNama dari payer yang sebenarnyaJika jenis pembayaran didukung, nama pembayar akan dikembalikan. Jika tidak didukung, nilai null akan dikembalikan.Saat ini hanya mendukung: INA VA 、BNC VACatatan: Bukan “payer” yang dikirim oleh merchant saat memulai permintaan.
「accountNoOString(32)NoNomor rekening dari payer yang sebenarnyaJika jenis pembayaran didukung, nomor rekening pembayar akan dikembalikan. Jika tidak didukung, nilai null akan dikembalikan.Saat ini hanya mendukung: INA VA, BNC VA
「storeIdOString32Jika Merchant memiliki cabang dan ingin membuat order dengan ID cabang

Example

POST .../v1.0/transfer-va/payment HTTP/1.2
Content-type: application/json
X-TIMESTAMP: 2020-12-21T14:56:11+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-ORIGIN: www.hostname.com
X-PARTNER-ID: 010001
X-EXTERNAL-ID: 41807553358950093184162180797837
X-IP-ADDRESS: 172.24.281.24

{
  "partnerServiceId":"  088899",
  "customerNo":"12345678901234567890",
  "virtualAccountNo":"  08889912345678901234567890",
  "virtualAccountName":"Jokul Doe",
  "virtualAccountEmail":"jokul@email.com",
  "virtualAccountPhone":"6281828384858",
  "trxId":"abcdefgh1234",
  "paymentRequestId":"abcdef-123456-abcdef",
  "channelCode":"6011",
  "hashedSourceAccountNo":"abcdefghijklmnopqrstuvwxyz123456",
  "sourceBankCode":"008",
  "paidAmount":{
     "value":"12345678.00",
     "currency":"IDR",
  },
  "cumulativePaymentAmount":{
     "value":"12345678.00",
     "currency":"IDR",
  },
  "paidBills":"95000",
  "totalAmount":{
      "value": "12345678.00",
      "currency": "IDR"
  },
  "trxDateTime":"20201231T235959Z",
  "referenceNo":"123456789012345",
  "journalNum":"123456",
  "paymentType":"1",
  "flagAdvise":"Y",
  "subCompany":"12345",
  "billDetails":[
     {
        "billCode": "01",
        "billNo": "123456789012345678",
        "billName": "Bill A for Jan",
        "billShortName": "Bill A",
        "billDescription":{
           "english": "Maintenance",
           "indonesia": "Pemeliharaan"
        },
        "billSubCompany": "00001",
        "billAmount":{
           "value": "12345678.00",
           "currency": "IDR"
        },
        "additionalInfo":{

        },
        "billReferenceNo": "123456789012345"
     }
  ],
  "freeTexts":[
     {
        "english": "Free text",
        "indonesia": "Tulisan bebas"
     }
  ],
  "additionalInfo":{
     "transFeeRate":"0",
     "transFeeAmount":"0",
     "totalTransFee":"0",
     "vatFee":"0"
  }
}

Response

Header

ParameterRequiredTypeLengthRemarks
Content-TypeMString-Fixed value application/json
X-TIMESTAMPMString64Waktu Jakarta, format 2021-11-29T09:22:18+07:00

Body

ParameterRequiredTypeLengthRemarks
responseCodeMString7Response Code. response code = HTTP status code + service code + case code
responseMessageMString150Response Description
+virtualAccountDataMObject
+paymentFlagReasonOObjectAlasan Status Pembayaran multi bahasa
「indonesiaOString200Alasan Status Pembayaran dalam bahasa Inggris
「englishOString200Alasan Status Pembayaran dalam bahasa Indonesia
「partnerServiceIdMString8turunan X-PARTNER-ID, mirip dengan kode perusahaan, 8 digit spasi disebelah kiri
「customerNoMString20fixed value 00000000000000000000
「virtualAccountNoMString28No virtualAccount
「virtualAccountNameMString255Nama Customer. contoh: Jokul Doe
「virtualAccountEmailOString255Email Customer
「virtualAccountPhoneOString30No HP Customer
「trxIdOString32dari Payment Request
「paymentRequestIdMString128dari Payment Request
+paidAmountOObject
「ValueMString (ISO4217)16,2Transaction Amount.
「CurrencyMString3Mata Uang. fixed value : IDR
「paidBillsOString6dari Payment Request
+totalAmountOObject
「ValueMString (ISO4217)16,2Transaction Amount.contoh: 10000.00 , static va : 0.00
「CurrencyMString3Mata Uang. fixed value : IDR
「trxDateTimeODate25dari Payment Request
「referenceNoOString15dari Payment Request
「journalNumOString6dari Payment Request
「paymentTypeOString1dari Payment Request
「flagAdviseOString1dari Payment Request
「paymentFlagStatusOString2Status Penandaan Pembayaran dari Partner
+billDetailsOArray of ObjectsArray dengan maksimal 24 Object
「billerReferenceIdO64dari Inquiry Response
「billCodeOString2dari Inquiry Response
「billNoOString18dari Inquiry Response
「billNameOString20dari Inquiry Response
「billShortNameOString10dari Inquiry Response
+billDescriptionOObjectdari Inquiry Response
「englishOString18dari Inquiry Response
「indonesiaOString18dari Inquiry Response
「billSubCompanyOString5dari Inquiry Response
+billAmountOObject
「ValueMString (ISO4217)16,2Transaction Amount.
「CurrencyMString3Mata Uang. fixed value : IDR
+additionalInfoOObjectunlimiteddari Inquiry Response
「statusOString2Status pembayaran untuk Tagihan tertentu
+reasonOObjectAlasan Status Pembayaran untuk Tagihan tertentu dengan multi bahasa
「englishOString64Alasan Status Pembayaran untuk Tagihan tertentu dalam bahasa Inggris
「indonesiaOString64Alasan Status Pembayaran untuk Tagihan tertentu dalam bahasa Indonesia
+freeTextsOArray of ObjectsArray dengan maksimal 25 Object
「englishOString32Akan ditampilkan di Channel
「indonesiaOString32Akan ditampilkan di Channel
+additionalInfoOObject

paymentFlagStatus

CodeDESC
00Success
01Initiated
02Paying
03Pending
04Refunded
05Canceled
06Failed
07Not found

Example

Content-type: application/json
X-TIMESTAMP: 2020-12-21T14:36:19+07:00

{
  "responseCode":"2002500",
  "responseMessage":"Success",
  "virtualAccountData":{
     "paymentFlagReason":{
        "english":"Success",
        "indonesia":"Sukses"
     },
     "partnerServiceId":"  088899",
     "customerNo":"12345678901234567890",
     "virtualAccountNo":"  08889912345678901234567890",
     "virtualAccountName":"Jokul Doe",
     "virtualAccountEmail":"jokul@email.com",
     "virtualAccountPhone":"6281828384858",
     "trxId":"abcdefgh1234",
     "paymentRequestId":"abcdef-123456-abcdef",
     "paidAmount":{
     "value":"12345678.00",
     "currency":"IDR",
     },
     "paidBills":"95000",
     "totalAmount":{
        "value": "12345678.00",
        "currency": "IDR"
     },
     "trxDateTime":"20201231T235959Z",
     "referenceNo":"123456789012345",
     "journalNum":"123456",
     "paymentType":"1",
     "flagAdvise":"Y",
     "paymentFlagStatus":"00",
     "billDetails":[
        {
           "billerReferenceId": "123456789012345678",
           "billCode": "01",
           "billNo": "123456789012345678",
           "billName": "Bill A for Jan",
           "billShortName": "Bill A",
           "billDescription":{
              "english": "Maintenance",
              "indonesia": "Pemeliharaan"
           },
           "billSubCompany": "00001",
           "billAmount":{
              "value": "12345678.00",
              "currency": "IDR"
           },
          "additionalInfo":{

          }
           "status": "00",
           "reason":{
              "english": "Success",
              "indonesia": "Sukses"
           }
       }
     ],
     "freeTexts":[
        {
           "english": "Free text",
           "indonesia": "Tulisan bebas"
        }
     ],
  },
  "additionalInfo":{

   }
}