Ayolinx-Openapi
🇬🇧English
  • 🇬🇧English
  • 🇨🇳中文
  1. APIS Ayolinx Provided To Merchant
Ayolinx-Openapi
🇬🇧English
  • 🇬🇧English
  • 🇨🇳中文
  • Openapi-EN-US
    • Read before development
      • Introduction
      • Header Parameter Description
      • Signature generation rules
      • Channel description
      • Error code description
      • Callback description
      • PartnerServiceId description
    • GetAccessToken
      • Access Token B2B
    • Qris
      • APIS Ayolinx Provided to Merchant
        • Generate Qris
        • Query Qris
        • Cancel Qris
      • APIS Need Merchant to Provide
        • Payment Notify
    • EWallet
      • APIS Ayolinx Provided to Merchant
        • Get Payment Url
        • Inquiry Status
      • APIS Need Merchant to Provid
        • Payment Notify
    • VirtualAccount
      • APIS Ayolinx Provided To Merchant
        • Error Codes
        • Create VA
          POST
        • Inquiry Va
          POST
      • APIS Need Merchant To Provide
        • Callback introduction
        • Access Token B2B
        • Payment
      • Non-snap callback interface
        • Payment Notify
  1. APIS Ayolinx Provided To Merchant

Create VA

POST
/v1.0/transfer-va/create-va
VirtualAccount/Transfer Va Conmmon
The VA number will be registered to Ayolinx and Acquirer will inquiry to our side when the customer make payment at the acquirer channel (ATM, mobile banking, internet banking, etc.).
3 Interact ways:
a. Ayolinx Generated VA: The VA number is generated by Ayolinx. Suitable for e-commerce business model.
b. Merchant Generated VA: The VA number is generated by Merchant. Suitable for top up business model.
c. Direct Inquiry: The VA number is registered on merchant side and Ayolinx will forward Acquirer inquiry request to merchant side when the customer make payment at the acquirer channel (ATM, mobile banking, internet banking, etc.).

Request

Header Params
Content-Type
string 
required
Example:
application/json
X-TIMESTAMP
string 
required
Client's current local time in yyyy-MM-ddTHH:mm:ssZ format
Example:
2024-09-12T12:55:00+07:00
X-SIGNATURE
string 
required
Algorithm symmetric signature HMAC_SHA512(clientSecret, stringToSign) and convert to base64.
stringToSign = "{EndpointUrl}:{hashedRequestBody}:{bodyData)).
EndpointUrl format: /v1.0/transfer-va/create-va
Example:
85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-ID
string 
required
Unique ID for a partner (Merchant Client ID).
Example:
CKSandbox-100dc9aa-f8ee-4a00-a933-6f4e8963b666
X-EXTERNAL-ID
string 
required
Numeric string. Reference number that should be unique in the same day (request-id).
Example:
418075533589
CHANNEL-ID
string 
required
channel ID for VA. Please fill with H2H (Host-To-Host).
Example:
H2H
Authorization
string 
required
Bearer "access token" obtainedn from Get B2B Token API.
Example:
Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_ 3EPXdbqb45N4ciQ
Body Params application/json
partnerServiceId
string 
required
See PartnerServiceId Description
>= 1 characters<= 8 characters
customerNo
string 
required
Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo
>= 1 characters<= 20 characters
virtualAccountNo
string 
required
partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo.
For BNI VA, min length: 1 | max length: 16
>= 1 characters<= 28 characters
virtualAccountName
string 
required
Customer Name.
>= 1 characters<= 255 characters
trxId
string 
required
Invoice number in Partner system.
For BNI min length: 1 | max length: 30
>= 1 characters<= 64 characters
virtualAccountTrxType
string 
optional
Transaction type for this transaction. C (Closed Amount), O (Open Amount).Default C
>= 1 characters<= 1 characters
expiredDate
string 
optional
Client's current local time in yyyy-MMddTHH:mm:ssXXX format
Example:2024-09-20T06:36:36+00:00
totalAmount
object 
required
amount
value
string 
required
Net amount of the transaction.
>= 1 characters<= 14 characters
currency
string 
required
Currency
>= 1 characters<= 3 characters
additionalInfo
object 
required
channel
string 
required
Supported channels:
VIRTUAL_ACCOUNT_BNI
VIRTUAL_ACCOUNT_CIMB
VIRTUAL_ACCOUNT_MANDIRI
CONVENIENCE_STORE_ALFAMART
CONVENIENCE_STORE_PEGADAIAN
CONVENIENCE_STORE_POS_INDONESIA
CONVENIENCE_STORE_DANDAN
CONVENIENCE_STORE_ALFAMIDI
>= 1 characters<= 30 characters
Example
{
  "partnerServiceId": "98829172",
  "customerNo": "30000000000000000001",
  "virtualAccountNo": "4339382374532139",
  "virtualAccountName": "Customer Name",
  "trxId": "123321123321",
  "virtualAccountTrxType": "C",
  "totalAmount": {
    "value": "11500.00",
    "currency": "IDR"
  },
  "additionalInfo": {
    "channel": "VIRTUAL_ACCOUNT_BCA"
  }
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'http://sandbox.dev.ayolinx.id:9080/v1.0/transfer-va/create-va' \
--header 'X-TIMESTAMP: 2024-09-12T12:55:00+07:00' \
--header 'X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5' \
--header 'X-PARTNER-ID: CKSandbox-100dc9aa-f8ee-4a00-a933-6f4e8963b666' \
--header 'X-EXTERNAL-ID: 418075533589' \
--header 'CHANNEL-ID: H2H' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_ 3EPXdbqb45N4ciQ' \
--header 'Content-Type:  application/json' \
--data-raw '{
    "partnerServiceId": "98829172",
    "customerNo": "30000000000000000001",
    "virtualAccountNo": "4339382374532139",
    "virtualAccountName": "Customer Name",
    "trxId": "123321123321",
    "virtualAccountTrxType": "C",
    "totalAmount": {
        "value": "11500.00",
        "currency": "IDR"
    },
    "additionalInfo": {
        "channel": "VIRTUAL_ACCOUNT_BCA"
    }
}'

Responses

🟢200OK
application/json
Body
responseCode
string 
required
>= 1 characters<= 7 characters
responseMessage
string 
required
>= 1 characters<= 150 characters
virtualAccountData
object 
required
partnerServiceId
string 
required
>= 1 characters<= 8 characters
customerNo
string 
required
>= 1 characters<= 20 characters
virtualAccountNo
string 
required
>= 1 characters<= 28 characters
virtualAccountName
string 
required
>= 1 characters<= 255 characters
virtualAccountEmail
string 
optional
>= 1 characters<= 255 characters
virtualAccountPhone
string 
optional
>= 9 characters<= 20 characters
virtualAccountTrxType
string 
optional
>= 1 characters<= 1 characters
trxId
string 
required
>= 1 characters<= 64 characters
totalAmount
object 
optional
billDetails
string 
optional
freeTexts
string 
optional
feeAmount
string 
optional
additionalInfo
object 
optional
expiredDate
string 
optional
Examples
{
  "responseCode": "2002700",
  "responseMessage": "",
  "virtualAccountData": {
    "partnerServiceId": "98829172",
    "customerNo": "30000000000000000001",
    "virtualAccountNo": "8473617259410240",
    "virtualAccountName": "Customer Name",
    "virtualAccountEmail": "",
    "virtualAccountPhone": "",
    "virtualAccountTrxType": "C",
    "trxId": "23219829714",
    "totalAmount": {
      "value": "11500.00",
      "currency": "IDR"
    },
    "billDetails": "",
    "freeTexts": "",
    "feeAmount": "",
    "additionalInfo": {
      "channel": "VIRTUAL_ACCOUNT_BCA"
    },
    "expiredDate": 1726371458
  }
}
Modified at 2025-03-26 10:53:58
Previous
Error Codes
Next
Inquiry Va