> 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.

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`.

### 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="232.64453125">Parameter</th><th width="92.93359375">Type</th><th width="120.77734375">Required</th><th>Constraints</th><th>Description</th></tr></thead><tbody><tr><td><code>app_id</code></td><td>string</td><td>Required</td><td>Max length: 32</td><td>The merchant application ID assigned by Pagsmile.</td></tr><tr><td><code>timestamp</code></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><code>notify_url</code></td><td>string</td><td>Required</td><td>Valid URL</td><td>The URL to receive Virtual Account payment notifications.</td></tr><tr><td><code>method</code></td><td>string</td><td>Required</td><td>Fixed value: <code>BankTransfer</code></td><td>Payment method.</td></tr><tr><td><code>region</code></td><td>string</td><td>Required</td><td>Fixed value: <code>ARG</code></td><td>Country or region code.</td></tr><tr><td><code>customer.buyer_id</code></td><td>string</td><td>Required</td><td>Maximum length: 128 characters.</td><td>Merchant-side user ID.</td></tr><tr><td><code>customer.username</code></td><td>string</td><td>Optional</td><td>Max length: 128</td><td>Customer name.</td></tr><tr><td><code>customer.identify.type</code></td><td>string</td><td>Optional</td><td>Example: <code>CUIT</code></td><td>Customer identification type.</td></tr><tr><td><code>customer.identify.number</code></td><td>string</td><td>Optional</td><td>Maximum length: 64 characters.</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"
}
```

After the Virtual Account is created successfully, use the returned `account_number` to instruct the payer to complete the bank transfer.

### 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

<table><thead><tr><th width="116.8515625">Parameter</th><th width="83.03515625">Type</th><th width="112.75390625">Required</th><th>Constraints</th><th>Description</th></tr></thead><tbody><tr><td><code>app_id</code></td><td>string</td><td>Required</td><td>Max length: 32</td><td>The merchant application ID assigned by Pagsmile.</td></tr><tr><td><code>timestamp</code></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><code>account_id</code></td><td>string</td><td>Required</td><td>Max length: 64</td><td>The Virtual Account ID returned by the Create Virtual Account API.</td></tr></tbody></table>

#### 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="298.046875">Parameter</th><th width="102.18359375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>amount</code></td><td>string</td><td>Payment amount received.</td></tr><tr><td><code>out_trade_no</code></td><td>string</td><td>Pagsmile-generated transaction reference.</td></tr><tr><td><code>method</code></td><td>string</td><td>Payment method. Fixed value: <code>BankTransfer</code>.</td></tr><tr><td><code>trade_status</code></td><td>string</td><td>Transaction status. Example: <code>SUCCESS</code>.</td></tr><tr><td><code>trade_no</code></td><td>string</td><td>Pagsmile transaction number.</td></tr><tr><td><code>currency</code></td><td>string</td><td>Payment currency. Fixed value: <code>ARS</code>.</td></tr><tr><td><code>app_id</code></td><td>string</td><td>The merchant application ID assigned by Pagsmile.</td></tr><tr><td><code>user.buyer_id</code></td><td>string</td><td>Merchant-side user ID used when creating the Virtual Account.</td></tr><tr><td><code>user.email</code></td><td>string</td><td>User's email address used when creating the Virtual Account.</td></tr><tr><td><code>user.identification.number</code></td><td>string</td><td>User identification number used when creating the Virtual Account.</td></tr><tr><td><code>user.identification.type</code></td><td>string</td><td>User identification type used when creating the Virtual Account. Example: <code>CUIT</code>.</td></tr><tr><td><code>timestamp</code></td><td>string</td><td>Notification timestamp.</td></tr><tr><td><code>transfer_account.account_id</code></td><td>string</td><td>Virtual Account ID.</td></tr><tr><td><code>transfer_account.account_number</code></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": "1784538679",
  "transfer_account": {
    "account_id": "VC***DJ",
    "account_number": "00***659"
  }
}
```

Use the asynchronous notification as the final transaction result. The payer may complete the bank transfer after the Virtual Account is created.
