> For the complete documentation index, see [llms.txt](https://docs.pagsmile.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pagsmile.com/reference/payin/submit-a-payin/argentina/virtual-account.md).

# Virtual Account

This section describes how to create a Virtual Account, query the Virtual Account status, and receive payment notifications for Argentina Virtual Account payments.

Argentina Virtual Account payments use `BankTransfer` as the payment method.

{% hint style="info" %}
For Argentina Virtual Account payments, the Virtual Account is created first. After the payer transfers funds to the assigned account number, Pagsmile sends an asynchronous notification to the merchant's `notify_url`.
{% endhint %}

### Create Virtual Account

Use this endpoint to create a Virtual Account for Argentina.

<mark style="color:green;">POST</mark> `https://gateway-test.pagsmile.com/virtual-account/create`

#### Request Body

<table><thead><tr><th width="200.1171875">Parameter</th><th>Type</th><th>Required</th><th>Constraints</th><th>Description</th></tr></thead><tbody><tr><td>app_id</td><td>string</td><td>Required</td><td>Max length: 32</td><td>The merchant application ID assigned by Pagsmile.</td></tr><tr><td>timestamp</td><td>string</td><td>Required</td><td>Format: <code>yyyy-MM-dd HH:mm:ss</code>; max length: 19</td><td>Request timestamp.</td></tr><tr><td>notify_url</td><td>string</td><td>Required</td><td>Valid URL</td><td>The URL to receive Virtual Account payment notifications.</td></tr><tr><td>method</td><td>string</td><td>Required</td><td>Fixed value: <code>BankTransfer</code></td><td>Payment method.</td></tr><tr><td>region</td><td>string</td><td>Required</td><td>Fixed value: <code>ARG</code></td><td>Country or region code.</td></tr><tr><td>customer.buyer_id</td><td>string</td><td>Required</td><td>Max length: 64</td><td>Merchant-side user ID.</td></tr><tr><td>customer.username</td><td>string</td><td>Optional</td><td>Max length: 128</td><td>Customer Name</td></tr><tr><td>customer.identify.type</td><td>string</td><td>Optional</td><td>Example: <code>CUIT</code></td><td>Customer identification type.</td></tr><tr><td>customer.identify.number</td><td>string</td><td>Optional</td><td>-</td><td>Customer identification number.</td></tr></tbody></table>

#### Request Sample

```json
{
  "app_id": "165***62",
  "timestamp": "2026-07-21 11:11:11",
  "notify_url": "http://demo.gemini-tiger.cn/callback/success",
  "method": "BankTransfer",
  "region": "ARG",
  "customer": {
    "buyer_id": "19***1",
    "username": "User Name",
    "identify": {
      "type": "CUIT",
      "number": "2***20"
    }
  }
}
```

#### Response Sample

```json
{
  "code": "10000",
  "msg": "Success",
  "account_id": "VC***DJ",
  "account_number": "00***659",
  "buyer_id": "19***41",
  "status": "ACTIVE",
  "notify_url": "http://demo.gemini-tiger.cn/callback/success",
  "method": "BankTransfer"
}
```

{% hint style="info" %}
After the Virtual Account is created successfully, use the returned `account_number` to instruct the payer to complete the bank transfer.
{% endhint %}

### Query Virtual Account

Use this endpoint to query the Virtual Account information and status.

<mark style="color:green;">POST</mark> `https://gateway-test.pagsmile.com/virtual-account/query`

#### Request Body

| Parameter   | Type   | Required | Constraints                                   | Description                                                        |
| ----------- | ------ | -------- | --------------------------------------------- | ------------------------------------------------------------------ |
| app\_id     | string | Required | Max length: 32                                | The merchant application ID assigned by Pagsmile.                  |
| timestamp   | string | Required | Format: `yyyy-MM-dd HH:mm:ss`; max length: 19 | Request timestamp.                                                 |
| account\_id | string | Required | Max length: 64                                | The Virtual Account ID returned by the Create Virtual Account API. |

#### Request Sample

```json
{
  "app_id": "165***462",
  "timestamp": "2026-07-21 11:11:11",
  "account_id": "VC***DJ"
}
```

#### Response Sample

```json
{
  "code": "10000",
  "msg": "Success",
  "account_id": "VC***DJ",
  "account_number": "00***659",
  "buyer_id": "19***1",
  "status": "ACTIVE",
  "notify_url": "http://demo.gemini-tiger.cn/callback/success",
  "method": "BankTransfer"
}
```

### Notification

After the payer completes the bank transfer, Pagsmile sends an asynchronous notification to the merchant's `notify_url`.

#### Notification Body

<table><thead><tr><th width="291.42578125">Parameter</th><th width="95.234375">Type</th><th>Description</th></tr></thead><tbody><tr><td>amount</td><td>string</td><td>Payment amount received.</td></tr><tr><td>out_trade_no</td><td>string</td><td>Pagsmile-generated transaction reference.</td></tr><tr><td>method</td><td>string</td><td>Payment method. Fixed value: <code>BankTransfer</code>.</td></tr><tr><td>trade_status</td><td>string</td><td>Transaction status. Example: <code>SUCCESS</code>.</td></tr><tr><td>trade_no</td><td>string</td><td>Pagsmile transaction number.</td></tr><tr><td>currency</td><td>string</td><td>Payment currency. Fixed value: <code>ARS</code>.</td></tr><tr><td>app_id</td><td>string</td><td>The merchant application ID assigned by Pagsmile.</td></tr><tr><td>user.buyer_id</td><td>string</td><td>Merchant-side user ID used when creating the Virtual Account.</td></tr><tr><td>user.email</td><td>string</td><td>User's email address used when creating the Virtual Account.</td></tr><tr><td>user.identification.number</td><td>string</td><td>User identification number used when creating the Virtual Account.</td></tr><tr><td>user.identification.type</td><td>string</td><td>User identification type used when creating the Virtual Account. Example: <code>CUIT</code>.</td></tr><tr><td>timestamp</td><td>string</td><td>Notification timestamp.</td></tr><tr><td>transfer_account.account_id</td><td>string</td><td>Virtual Account ID.</td></tr><tr><td>transfer_account.account_number</td><td>string</td><td>Virtual Account number.</td></tr></tbody></table>

#### Notification Sample

```json
{
  "amount": "11.22",
  "out_trade_no": "16113d91aa0044048670d*****",
  "method": "BankTransfer",
  "trade_status": "SUCCESS",
  "trade_no": "202607200911******",
  "currency": "ARS",
  "app_id": "1659332*****",
  "user": {
    "buyer_id": "19***1",
    "email": "TEST780917000@test.com",
    "identification": {
      "number": "2***20",
      "type": "CUIT"
    }
  },
  "timestamp": "2026-07-21 11:11:11",
  "transfer_account": {
    "account_id": "VC***DJ",
    "account_number": "00***659"
  }
}
```

{% hint style="info" %}
Use the asynchronous notification as the final transaction result. The payer may complete the bank transfer after the Virtual Account is created.
{% endhint %}
