> 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/venezuela/pago-movil.md).

# Pago Móvil

Use this endpoint to submit a Pago Móvil payment in Venezuela. After the payment request is created, redirect the customer to the returned `pay_url` to complete the payment.

Payments are confirmed in real time after the customer completes the payment.

{% hint style="warning" %}
Refunds are not supported for this payment method.
{% endhint %}

### Endpoint

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

### Request headers

<table><thead><tr><th width="171.3359375">Header</th><th width="123.65625">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>Content-Type</code></td><td>Yes</td><td>Fixed value: <code>application/json; charset=UTF-8</code>.</td></tr><tr><td><code>Authorization</code></td><td>Yes</td><td>Basic authentication using <code>Base64(app_id:security_key)</code>.</td></tr></tbody></table>

### Request body

<table><thead><tr><th>Parameter</th><th width="103.19921875">Type</th><th width="124.3125">Required</th><th>Constraints</th><th>Description</th></tr></thead><tbody><tr><td><code>app_id</code></td><td>string</td><td>Yes</td><td>Maximum length: 32 characters.</td><td>Merchant application ID assigned by Pagsmile.</td></tr><tr><td><code>out_trade_no</code></td><td>string</td><td>Yes</td><td>Maximum length: 64 characters. Must be unique for the merchant application.</td><td>Merchant order number.</td></tr><tr><td><code>method</code></td><td>string</td><td>Yes</td><td>Fixed value: <code>PagoMovil</code>.</td><td>Payment method.</td></tr><tr><td><code>order_currency</code></td><td>string</td><td>Yes</td><td>Fixed value: <code>VES</code>.</td><td>Payment currency.</td></tr><tr><td><code>region</code></td><td>string</td><td>Conditional</td><td>Fixed value: <code>VEN</code>. Required when using a Global app.</td><td>ISO 3166-1 alpha-3 code for Venezuela.</td></tr><tr><td><code>order_amount</code></td><td>decimal</td><td>Yes</td><td>May contain up to two decimal places. No method-specific minimum or maximum is currently specified.</td><td>Payment amount in VES.</td></tr><tr><td><code>subject</code></td><td>string</td><td>Yes</td><td>Maximum length: 128 characters.</td><td>Payment subject or order title.</td></tr><tr><td><code>content</code></td><td>string</td><td>No</td><td>Maximum length: 255 characters.</td><td>Payment description or order details.</td></tr><tr><td><code>timestamp</code></td><td>string</td><td>Yes</td><td>Format: <code>yyyy-MM-dd HH:mm:ss</code>. Maximum length: 19 characters.</td><td>Time at which the request is sent.</td></tr><tr><td><code>notify_url</code></td><td>string</td><td>Yes</td><td>Must be a valid URL. HTTPS is recommended.</td><td>Merchant endpoint that receives asynchronous payment notifications.</td></tr><tr><td><code>buyer_id</code></td><td>string</td><td>Yes</td><td>Maximum length: 128 characters.</td><td>Merchant-side customer ID.</td></tr><tr><td><code>bank</code></td><td>string</td><td>Yes</td><td>Provide a supported Venezuelan bank code, such as <code>0174</code>.</td><td>Code of the customer's bank used for the Pago Móvil payment. See <a href="https://docs.pagsmile.com/reference/payout/banklist/bank-in-venezuela">Bank in Venezuela</a> for the complete list of supported bank codes.</td></tr><tr><td><code>customer.phone</code></td><td>string</td><td>Yes</td><td>Provide the customer's mobile phone number in the format supported by the selected bank.</td><td>Customer phone number used for the Pago Móvil payment.</td></tr></tbody></table>

### Request example

```json
{
  "app_id": "17****534",
  "out_trade_no": "out_trade_no_501***375",
  "order_currency": "VES",
  "method": "PagoMovil",
  "region": "VEN",
  "order_amount": "123",
  "subject": "pagsmile test",
  "content": "pagsmile test",
  "timestamp": "2024-07-04 18:50:42",
  "notify_url": "https://merchant.example.com/payment/notify",
  "buyer_id": "buyer123",
  "bank": "0174",
  "customer": {
    "phone": "584***567"
  }
}
```

### Response example

```json
{
  "code": "10000",
  "msg": "Success",
  "prepay_id": "Tm****-6F2c84",
  "trade_no": "2026***118",
  "out_trade_no": "out_trade_no_501****6375",
  "pay_url": "https://checkout-test.pagsmile.com/checkout?prepay_id=Tm****-6F2c84D2",
  "web_url": "",
  "trade_status": "PROCESSING",
  "beneficiary": {
    "bank_id": "0138",
    "bank_name": "BANCO PLAZA",
    "number": "0416****000",
    "name": "J0050****970"
  }
}
```

The `beneficiary` object contains the receiving account information generated for the payment. Always use the values returned for the current transaction; do not hardcode them.

### Complete the payment

1. Redirect the customer to the complete `pay_url` returned by Pagsmile.
2. Allow the customer to complete the Pago Móvil payment using the information displayed on the checkout page.
3. Use the payment notification or the Payin Detail API to determine the final payment status.

{% hint style="warning" %}
A response with `code=10000` confirms that the payment request was created. `trade_status=PROCESSING` does not mean that payment has been completed. Confirm the final successful status before delivering goods or services.
{% endhint %}
