Virtual Account

How to use VirtualAccount to submit a payin in Indonesia.

Payin by Wallet

POST https://gateway-test.pagsmile.com/trade/pay

This endpoint allows you to submit a payin by VirtualAccount in Indonesia.

Headers

Name
Type
Description

Content-Type*

string

application/json; chartset=UTF-8

Authorization*

string

Basic Base($app_id:$security_key)

Request Body

Name
Type
Description

app_id*

string

created app's id at dashboard

- Max. 32 chars -

out_trade_no*

string

ID given by the merchant in their system - Max. 64 chars -

notify_url*

string

Where Pagsmile will send notification to

return_url

string

Redirect to Merchant's url when user finished checkout

timestamp*

string

yyyy-MM-dd HH:mm:ss - Max. 19 chars -

method*

string

Fixed value: VirtualAccount

order_amount*

string

payment amount - 10,000.00 - 9,999,999,999,999.99 -

order_currency*

string

Fixed value: IDR

subject*

string

payment reason or item title

- Max. 128 chars -

content

string

payment reason detail or item detail

- Max. 255 chars -

buyer_id*

string

merchant user's id

bank*

string

One of VIRTUAL_ACCOUNT_BANK_CIMB VIRTUAL_ACCOUNT_BSI VIRTUAL_ACCOUNT_BNC VIRTUAL_ACCOUNT_BNI VIRTUAL_ACCOUNT_BRI VIRTUAL_ACCOUNT_BTN VIRTUAL_ACCOUNT_BANK_PERMATA VIRTUAL_ACCOUNT_BANK_DANAMON VIRTUAL_ACCOUNT_BSS

{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010110293900083",
    "out_trade_no": "202201010354006",
    "web_url": "",
    "trade_status": "PROCESSING",
    "pay_url":"https://app.***.com/how-to-pay-v2/virtual-account/bnc/9034*************12"
}

Example

curl --location --request POST 'https://gateway-test.pagsmile.com/trade/pay' \
--header 'Authorization: Basic MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==' \
--header 'Content-Type: application/json' \
--data-raw '{
    * "app_id": "162************38",
    * "out_trade_no": "202201010354006",
    * "method": "VirtualAccount",
    * "order_amount": "10000",
    * "order_currency": "IDR",
    * "subject": "trade pay test",
      "content": "trade pay test content",
    * "notify_url": "http://merchant/callback/success",
      "return_url": "https://www.merchant.com",
    * "buyer_id": "buyer_0101_0001",
    * "timestamp": "2022-01-01 03:54:01",
    * "bank": "VIRTUAL_ACCOUNT_BNC"
      }'

Note: 162************38 is pagsmile's test app id for sandbox, and MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ== is authorization token associated with the test app id.

Last updated

Was this helpful?