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

Data Signing Rules

Field NameTypeValueRequired
Content-TypeString(30)Fixed value "application/json;charset=utf-8"Yes
X-TIMESTAMPString(29)Current time, format 2022-09-16T16:58:47.964+07:00Yes
X-SIGNATUREString(64)Signature. For details please check Data Signing RulesYes
X-PARTNER-IDString(20)Merchant IDYes
X-REQUEST-IDString(64)Unique ID for each requestYes

Body

ParameterTypeRequiredRemarks
requestIdString(64)YesUnique identifier on every request
merchantIdString(20)YesUnique ID provided by payment gateway to merchant
storeIdString(30)NoOnly if using branch ID
paymentTypeString(20)YesPayment type, see Payment Type
payerString(60)YesPayer name
beUsedForString(100)NoStatic VA usage (recorded into productName)
notifyUrlString(200)NoCallback URL on payment success

paymentType

Payment TypeCode
StaticVAStaticMandiriVA,StaticBCAVA

Static VA Response Parameters

Header

Data Signing Rules

Field NameTypeValueRequired
Content-TypeString(30)Fixed value "application/json;charset=utf-8"Yes
X-TIMESTAMPString(29)Current time, format 2022-09-16T16:58:47.964+07:00Yes
X-SIGNATUREString(64)Signature. For details please check Data Signing RulesYes
X-PARTNER-IDString(20)Merchant IDYes
X-REQUEST-IDString(64)Unique ID for each requestYes

Body

Error Code

ParameterTypeRequiredRemarks
requestIdString(64)YesUnique identifier on every request
errCodeString(32)Yes0 means success, otherwise see Error Code
errCodeDesString(128)NoError description
merchantIdString(20)YesMerchant ID
storeIdString(30)NoOnly if using branch ID
paymentTypeString(20)YesPayment type
createTimeString(16)NoyyyyMMddHHmmss
vaCodeString(32)NoVirtual Account Number
expiredTimeString(16)NoyyyyMMddHHmmss. 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"
}