Skip to main content

Create VA

Specification

The Following tabel is spesification for this API :

API NameCreate VA
FunctionThis API is used to create virtual account (VA) from Paydia to Bank
Service Code27
MethodPOST
URL/snap/v1.0/transfer-va/create-va
Acceptapplication/json
Content Typeapplication/json
Related ServiceVirtual Account

Request

The following part will be describe about parameter of request in this API:

Request Parameter

The following table is a list of request parameter in this API:

The following table is Header of Request Parameters :

NoNameTypeLengthRequiredConditionRemarks
1Content-TypeStringVariable, 127 maxMandatory-Content type, value always application/json
2AuthorizationStringVariableMandatory-Contains B2B Bearer JWT Token, you've got it from Access Token B2B
3X-TIMESTAMPStringFixed, 25 maxMandatory-Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
4X-PARTNER-IDStringVariable, 36 maxMandatory-ID for partner was generated by Paydia. Unique ID for a partner
5X-EXTERNAL-IDStringVariable, 36 maxMandatory-Unique messaging reference ID generated by merchant. Numeric String. Reference number that should be unique in the same day
6CHANNEL-IDStringVariable, 5 maxMandatory-Device identification on which the API services is currently being accessed by the end user (customer)
7X-SIGNATUREStringVariableMandatory-Signature need to be generated with Symmetric Signature method

Body

The following table is a body of request parameter:

NoNameTypeLengthRequiredConditionRemarks
1partnerServiceIdStringFixed, 8 maxMandatory-Biller/merchant code of the virtual account. Left padding with space
2customerNoStringVariable, 20 maxMandatory-Unique number (up to 20 digits). Combine partnerServiceId and customerNo or virtualAccountNo
3virtualAccountNoStringVariable, 28 maxMandatory-Information of virtual account number which combine partnerServiceId and customerNo
4virtualAccountNameStringVariable, 255 maxMandatory-Information of customer name
5trxIdStringVariable, 64 maxMandatory-Unique transaction identifier on partner system which assigned to each transaction
6totalAmountMoneyVariableOptional-Contains two sub-fields:
  1. Value: Transaction totalAmount, including the cents
  2. Currency: Currency code based on ISO
7expiredDateStringFixed, 25 maxOptional-Expiration date for virtual account, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
8additionalInfoJSON ObjectVariableOptional-Additional information
9additionalInfo.callbackUrlStringVariable, 8 maxOptional-URL to be able to receive payment notifications after payment is made by the customer

Request Sample

The following script is a request sample of this API:

POST /snap/v1.0/transfer-va/create-va
X-TIMESTAMP: 2024-10-10T10:05:53+07:00
X-PARTNER-ID: 35d1a1127182a65e4fe0256242a40a6d
X-SIGNATURE: BJBue9CuTdWmbHc8KSeZIcScOKz/CoCq8T8000rod5tDYM8nASSAngLlKA9/bRgeO+HRKI5AJqQ+WCx5ccmZmw==
X-EXTERNAL-ID: 1728529689
CHANNEL-ID: 408
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJQYXlkaWEiLCJpYXQiOjE3Mjg0NjQwNzEsImV4cCI6MTcyODU1MDQ3MSwiZGF0YSI6eyJlbnYiOiJkZXZlbG9wbWVudCJ9fQ.aIG1dMVpKuJT4boLcH-BZoKa0KkrRBSyGb9DNfSWBqI

{
"partnerServiceId": " 359660",
"customerNo": "70627627784739813500",
"virtualAccountNo": " 35966070627627784739813500",
"virtualAccountName": "Judah Hartmann",
"trxId": "d5ab81b7-514d-49da-a53b-eba5fcb7200e",
"totalAmount": {
"value": "50000.00",
"currency": "IDR"
},
"additionalInfo": {
"callbackUrl": "https://webhook.site/53a58f8e-f254-4154-bab6-d52578c7b4a7"
}
}

Response

The following part will be describe about parameter of response in this API:

Response Parameter

The following table is a list of response parameter in this API:

Body

The following table is a body of response parameter:

NoNameTypeLengthRequiredConditionRemarks
1responseCodeStringFixed, 7 maxMandatory-Refer to response code list
2responseMessageStringVariable, 150 maxMandatory-Refer to response code list
3virtualAccountDataJSON ObjectVariableMandatory-Contains virtual account data

Response Sample

The following script is a response sample of this API:

{
"responseCode": "2002700",
"responseMessage": "Successful",
"virtualAccountData": {
"partnerServiceId": " 359660",
"customerNo": "70627627784739813500",
"virtualAccountNo": " 35966070627627784739813500",
"virtualAccountName": "Judah Hartmann",
"trxId": "d5ab81b7-514d-49da-a53b-eba5fcb7200e",
"totalAmount": {
"value": "50000.00",
"currency": "IDR"
},
"expiredDate": "2024-10-10T03:13:41.315Z"
"additionalInfo": {
"callbackUrl": "https://webhook.site/53a58f8e-f254-4154-bab6-d52578c7b4a7"
},
}
}

Response Code and Message

The following table is the list response code and message of Account Inquiry API:

NoResponse CodeResponse MessageRemarks
12002700SuccessfulSuccess to be processed
24002701Invalid Field FormatInvalid format for certain field
34002702Invalid Mandatory FieldMissing or invalid format on mandatory field
44012700Unauthorized. [reason]General unauthorized error
54012701Invalid Token (B2B)Invalid or Expired Access Token
64032701Feature Not AllowedFeature Not Allowed
74032702Exceeds Transaction Amount LimitMinimum or maximum amount limit
84032704Activity Count Limit ExceededToo many request, Exceeds Transaction Frequency Limit
94032705Do Not HonorAccount or User status is abnormal
104042703Bank Not Supported By SwitchBank not supported by switch
114042708Invalid MerchantMerchant does not exist or status abnormal
124092700ConflictCannot use same X-EXTERNAL-ID in same day
134092701Duplicate partnerReferenceNoDuplicate partnerReferenceNo
145002702Backend system failure500 internal server error