Virtual Account SNAP

Create VA (SNAP)

Create Virtual Account via SNAP transfer-va service.

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

Request Header

ParameterRequiredTypeLengthRemarks
Content-TypeMString-Fixed value application/json
AuthorizationCStringDynamicThe value of access_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
partnerServiceIdMString8Derivative of X-PARTNER-ID, 8 digit left padding space
customerNoMString20Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo
virtualAccountNoMString20partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits)
virtualAccountNameMString255Payer name
virtualAccountEmailOString255Email
virtualAccountPhoneOString30Mobile phone, format 62xxxxxxxxxxxxx
trxIdMString64Merchant transaction ID
+ totalAmountMObject-Transaction amount
- valueMString16,2Amount with 2 decimals, e.g. 10000.00; static VA: 0.00
- currencyMString3Currency, fixed value: IDR
+ billDetailsOList-Array max 24 objects (Currently not used)
- billCodeOString2Bill code
- billNoOString18Bill number
- billNameOString20Bill name
- billShortNameOString18Bill short name
+ billDescriptionOObject-Bill description
- englishOString18Description in English
- indonesiaOString18Description in Bahasa
- billSubCompanyOString5Partner product code
+ billAmountOObject--
- valueMString16,2Amount with 2 decimals
- currencyMString3Currency, fixed value: IDR
+ additionalInfoOObject--
+ freeTextsOList-Array max 25 objects
- englishOString32Displayed in channel
- indonesiaOString32Displayed in channel
virtualAccountTrxTypeOString1Virtual Account type
+ feeAmountOObject-Transaction Amount (Currently not used)
- valueMString16,2Amount with 2 decimals
- currencyMString3Currency, fixed value: IDR
expiredDateMString25Expiration ISO-8601, e.g. 2020-12-31T23:59:59-07:00
+ additionalInfoMObject-Additional info
- paymentTypeMString32PaymentType
- storeIdOString32Branch store ID

paymentType

VA expires after one successful payment in validity period.
MultipleVA allows fixed amount multiple payments.
StaticVA allows any amount multiple payments in validity period.

Payment typeEncodings (code)
BCABCAVA, MultipleBCAVA, StaticBCAVA
BNIBNIVA, MultipleBNIVA
BRIBRIVA, MultipleBRIVA
BSIBSIVA, MultipleBSIVA
CIMBCIMBVA, MultipleCIMBVA
DanamonDanamonVA, MultipleDanamonVA
INAINAVA, MultipleINAVA
PermataPermataVA, MultiplePermataVA
MandiriMandiriVA, MultipleMandiriVA, StaticMandiriVA
MaybankMaybankVA, MultipleMaybankVA
MuamalatMuamalatVA, MultipleMuamalatVA
SinarmasSinarmasVA, MultipleSinarmasVA
BNCBNCVA, MultipleBNCVA, StaticBNCVA
NobuNobuVA, MultipleNobuVA, StaticNobuVA

Request Body Example

POST .../v1.0/transfer-va/create-va 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":"00000000000000000000",
  "virtualAccountNo":"  08889912345678901234567890",
  "virtualAccountName":"Jokul Doe",
  "virtualAccountEmail":"jokul@email.com",
  "virtualAccountPhone":"6281828384858",
  "trxId":"abcdefgh1234",
  "totalAmount":{
    "value": "12345678.00",
    "currency": "IDR"
  },
  "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":{

    }
    }
  ],
  "freeTexts":[
    {
    "english": "Free text",
    "indonesia": "Tulisan bebas"
    }
  ],
  "virtualAccountTrxType":"1",
  "feeAmount":{
    "value": "12345678.00",
    "currency": "IDR"
  },
  "expiredDate":"2020-12-31T23:59:59-07:00",
  "additionalInfo":{
    "paymentType": "XXXVA"
  }
}

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 message
+ virtualAccountDataOObject--
- partnerServiceIdMString8Derivative of X-PARTNER-ID, 8 digit left padding space
- customerNoMString20virtualAccountNo fixed value 00000000000000000000
- virtualAccountNoMString20virtualAccountNo
- virtualAccountNameMString255Payer name
- virtualAccountEmailOString255Email
- virtualAccountPhoneOString30Mobile phone, Format: 62xxxxxxxxxxxxx
- trxIdOString32Platform Order Number / Order Number
+ totalAmountOObject-Transaction Amount
- valueMString16,2Amount with 2 decimals
- currencyMString3Currency, fixed value: IDR
+ billDetailsOList-Array max 24 Objects (Temporary Unavailable)
- billCodeOString2Bill code
- billNoOString18Bill number
- billNameOString20Bill Name
- billShortNameOString10Bill short name
+ billDescriptionOObject-Bill description
- englishOString18Bill description in English
- indonesiaOString18Bill description in Bahasa
- billSubCompanyOString5Partner product code
+ billAmountOObject-Transaction Amount
- valueMString16,2Amount with 2 decimals
- currencyMString3Currency, fixed value: IDR
+ additionalInfoOObject-Additional Information
+ freeTextsOList-Array max 25 Objects
- englishOString32Displayed in Channel
- indonesiaOString32Displayed in Channel
- virtualAccountTrxTypeOString1Virtual Account type
+ feeAmountOObject-Transaction Amount
- valueMString16,2Amount with 2 decimals
- currencyMString3Currency, fixed value: IDR
- expiredDateMString25Expiration date for Virtual Account, ISO-8601
+ additionalInfoOObject-Additional Information for custom use

Response Body Example

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

{
  "responseCode":"2002700",
  "responseMessage":"Success",
  "virtualAccountData":{
     "partnerServiceId":"  088899",
     "customerNo":"00000000000000000000",
     "virtualAccountNo":"  08889912345678901234567890",
     "virtualAccountName":"Jokul Doe",
     "virtualAccountEmail":"jokul@email.com",
     "virtualAccountPhone":"6281828384858",
     "trxId":"abcdefgh1234",
     "totalAmount":{
        "value": "12345678.00",
        "currency": "IDR"
     },
     "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":{

      }
      }
     ],
     "freeTexts":[
        {
          "english": "Free text",
          "indonesia": "Tulisan bebas"
        }
     ],
     "virtualAccountTrxType":"1",
     "feeAmount":{
        "value": "12345678.00",
        "currency": "IDR"
     },
     "expiredDate":"2020-12-31T23:59:59-07:00",
     "additionalInfo":{
        "paymentType": "XXXVA"
     }
  }
}