Virtual Account
Static VA (Open Amount) Order API
Create Static Virtual Account (Open Amount) via Paylabs API.
Each merchant has daily limit of 100 static VA creations.
Request URL
URL: ${ROOT_URL}/payment/v2.3/staticva/create
HTTPMethod: POST
EndpointUrl: /payment/v2.3/staticva/create
Static VA Request Parameters
Header
| Field Name | Type | Value | Required |
|---|---|---|---|
| Content-Type | String(30) | Fixed value "application/json;charset=utf-8" | Yes |
| X-TIMESTAMP | String(29) | Current time, format 2022-09-16T16:58:47.964+07:00 | Yes |
| X-SIGNATURE | String(64) | Signature. For details please check Data Signing Rules | Yes |
| X-PARTNER-ID | String(20) | Merchant ID | Yes |
| X-REQUEST-ID | String(64) | Unique ID for each request | Yes |
Body
| Parameter | Type | Required | Remarks |
|---|---|---|---|
| requestId | String(64) | Yes | Unique identifier on every request |
| merchantId | String(20) | Yes | Unique ID provided by payment gateway to merchant |
| storeId | String(30) | No | Only if using branch ID |
| paymentType | String(20) | Yes | Payment type, see Payment Type |
| payer | String(60) | Yes | Payer name |
| beUsedFor | String(100) | No | Static VA usage (recorded into productName) |
| notifyUrl | String(200) | No | Callback URL on payment success |
paymentType
| Payment Type | Code |
|---|---|
| StaticVA | StaticMandiriVA,StaticBCAVA |
Static VA Response Parameters
Header
| Field Name | Type | Value | Required |
|---|---|---|---|
| Content-Type | String(30) | Fixed value "application/json;charset=utf-8" | Yes |
| X-TIMESTAMP | String(29) | Current time, format 2022-09-16T16:58:47.964+07:00 | Yes |
| X-SIGNATURE | String(64) | Signature. For details please check Data Signing Rules | Yes |
| X-PARTNER-ID | String(20) | Merchant ID | Yes |
| X-REQUEST-ID | String(64) | Unique ID for each request | Yes |
Body
| Parameter | Type | Required | Remarks |
|---|---|---|---|
| requestId | String(64) | Yes | Unique identifier on every request |
| errCode | String(32) | Yes | 0 means success, otherwise see Error Code |
| errCodeDes | String(128) | No | Error description |
| merchantId | String(20) | Yes | Merchant ID |
| storeId | String(30) | No | Only if using branch ID |
| paymentType | String(20) | Yes | Payment type |
| createTime | String(16) | No | yyyyMMddHHmmss |
| vaCode | String(32) | No | Virtual Account Number |
| expiredTime | String(16) | No | yyyyMMddHHmmss. Because Static VA won't expire, this value won't be returned |
Example
Request
POST /payment/v2.3/staticva/create
# HTTP Header
Content-Type: application/json;charset=utf-8
X-TIMESTAMP: 2022-09-16T16:58:47.964+07:00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx
# HTTP Body
{
"merchantId":"0010001",
"requestId":"200100011649755895582",
"paymentType":"StaticMandiriVA",
"payer":"test"
}Response
POST /payment/v2.3/staticva/create
# HTTP Header
Content-Type: application/json;charset=utf-8
X-TIMESTAMP: 2022-09-16T16:58:47.964+07:00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx
# HTTP Body
{
"vaCode":"94810003800000626",
"paymentType":"StaticMandiriVA",
"createTime":"20220412163136",
"merchantId":"0010001",
"errCode":"0",
"requestId":"200100011649755895582"
}