Virtual Account SNAP

Payment VA (SNAP) Notification

Payment notification for Virtual Account SNAP.

HTTPMethod: POST
URL: ${ROOT_URL}/v1.0/transfer-va/payment
Service Code: 30
Version: 1.0
ServiceGroup: transfer-va
ProductType: payment

Request Header

ParameterRequiredTypeLengthRemarks
Content-TypeMString-Fixed value application/json
AuthorizationCStringDynamicaccess_token; mandatory if using symmetric encryption
X-TIMESTAMPMString64Jakarta time, format 2021-11-29T09:22:18+07:00
X-PARTNER-IDMString36Merchant ID
X-EXTERNAL-IDMString12Request ID
X-SIGNATUREMStringDynamicSignature strings
X-IP-ADDRESSMString15Client IP (IPv4)

Request Body

ParameterRequiredTypeLengthRemarks
partnerServiceIdMString8Merchant ID
customerNoMString20Fixed value 00000000000000000000
virtualAccountNoMString28virtualAccountNo
virtualAccountNameMString255Payer Name
virtualAccountEmailOString255Email
virtualAccountPhoneOString30Mobile Phone, Format: 62xxxxxxxxxxxxx
trxIdCString64Unique identifier generated by Partner
paymentRequestIdMString128Unique identifier generated by PJP. Platform Transaction Number
channelCodeONumber4Channel code based on ISO 18245
hashedSourceAccountNoOString32Source account number in hash
sourceBankCodeOString3Source account bank code based on
+ paidAmountMObject
- ValueMString (ISO4217)16,2Paid Amount with 2 decimal
- CurrencyMString3Currency, fixed value: IDR
+ cumulativePaymentAmountOObject
- ValueMString (ISO4217)16,2Transaction Amount
- CurrencyMString3Currency, fixed value: IDR
paidBillsOString6Hexadecimal format of binary of flag of paid bills
+ totalAmountOObject
- ValueMString (ISO4217)16,2Transaction Amount.
- CurrencyMString3Currency, fixed value: IDR
trxDateTimeODate25PJP internal system datetime with timezone, which follows the ISO-8601 standard
referenceNoOString64Payment auth code generated by PJP, Platform Transaction Number
journalNumOString6Sequence journal number in PJP Core System
paymentTypeOString1Type of payment
flagAdviseOString1Status is this a retry notification, N: No, Y: Yes
subCompanyOString5Sub Company code generated by Partner
+ billDetailsOArray of ObjectsArray with maximum 24 Objects
- billCodeOString2From Inquiry Response
- billNoOString18From Inquiry Response
- billNameOString20From Inquiry Response
- billShortNameOString10From Inquiry Response
+ billDescriptionOObjectFrom Inquiry Response
- englishOString18From Inquiry Response
- indonesiaOString18From Inquiry Response
- billSubCompanyOString5From Inquiry Response
+ billAmountOObject
- ValueMString (ISO4217)16,2Transaction Amount. From Inquiry Response
- CurrencyMString3Currency, fixed value: IDR
+ additionalInfoOObjectunlimitedFrom Inquiry Response
- BillReferenceNoONumber15Bill auth code generated by PJP
+ freeTextsOArray of ObjectsArray with maximum 25 Objects
- englishOString32Will be shown in Channel
- indonesiaOString32Will be shown in Channel
+ additionalInfoOObject
- transFeeRateOdecimal(8,6)NoTransaction Fee Rate
- transFeeAmountOdecimal(12,2)NoTransaction Fee Amount
- totalTransFeeOdecimal(12,2)NoTotal Transaction Fee (excluding VAT)
- vatFeeOdecimal(12,2)NoTax
- payerOString(60)NoActual Payer
- accountNoOString(32)NoActual Payer Account Number

Response Header

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

Response Body

ParameterRequiredTypeLengthRemarks
responseCodeMString7HTTP status code + service code + case code
responseMessageMString150Response Description
+ virtualAccountDataMObject
+ paymentFlagReasonOObjectReason for Payment Status multi language
- indonesiaOString200Reason for Payment Status in English
- englishOString200Reason for inquiryStatus in Bahasa
- partnerServiceIdMString8Derivative of X-PARTNER-ID , similar to company code
- customerNoMString20Fixed value 00000000000000000000
- virtualAccountNoMString28virtualAccountNo
- virtualAccountNameMString255Customer name
- virtualAccountEmailOString255Customer email
- virtualAccountPhoneOString30Customer's phone number
- trxIdOString32From Payment Request
- paymentRequestIdMString128From Payment Request
+ paidAmountOObject
- ValueMString (ISO4217)16,2Transaction Amount.
- CurrencyMString3Currency, fixed value: IDR
- paidBillsOString6From Payment Request
+ totalAmountOObject
- ValueMString (ISO4217)16,2Transaction Amount. Example: 10000.00 , Static VA send: 0.00
- CurrencyMString3Currency, fixed value: IDR
- trxDateTimeODate25From Payment Request
- referenceNoOString15From Payment Request
- journalNumOString6From Payment Request
- paymentTypeOString1From Payment Request
- flagAdviseOString1From Payment Request
- paymentFlagStatusOString2Status for Payment Flag from Partner
+ billDetailsOArray of ObjectsArray with maximum 24 Objects
- billerReferenceIdO64From Inquiry Response
- billCodeOString2From Inquiry Response
- billNoOString18From Inquiry Response
- billNameOString20From Inquiry Response
- billShortNameOString10From Inquiry Response
+ billDescriptionOObjectFrom Inquiry Response
- englishOString18From Inquiry Response
- indonesiaOString18From Inquiry Response
- billSubCompanyOString5From Inquiry Response
+ billAmountOObject
- ValueMString (ISO4217)16,2Transaction Amount.
- CurrencyMString3Currency, fixed value: IDR
+ additionalInfoOObjectunlimitedFrom Inquiry Response
- statusOString2Payment status for specific Bill
+ reasonOObjectReason for Payment Status for specific Bill multi language
- englishOString64Reason for Payment Status for specific Bill in English
- indonesiaOString64Reason for Payment Status for specific Bill in Bahasa
+ freeTextsOArray of ObjectsArray with maximum 25 Objects
- englishOString32Will be shown in Channel
- indonesiaOString32Will be shown in Channel
+ additionalInfoOObject
- transFeeRateOdecimal(8,6)NoTransaction Fee Rate
- transFeeAmountOdecimal(12,2)NoTransaction Fee Amount
- totalTransFeeOdecimal(12,2)NoTotal Transaction Fee (excluding VAT)
- vatFeeOdecimal(12,2)NoTax
- payerOString(60)NoActual Payer
- accountNoOString(32)NoActual Payer Account Number

paymentFlagStatus

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

Example

POST /v1.0/transfer-va/payment
# HTTP Header
Content-Type: application/json
X-TIMESTAMP: 2021-11-29T10:00:00+07:00
X-PARTNER-ID: 010001
X-EXTERNAL-ID: 123456789012
X-SIGNATURE: xxxxxxxxx
X-IP-ADDRESS: 172.24.281.24

# HTTP Body
{
  "partnerServiceId":"  088899",
  "customerNo":"12345678901234567890",
  "virtualAccountNo":"  08889912345678901234567890",
  "paymentRequestId":"20211029142345",
  "additionalInfo":{}
}