> 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/chile/webpay.md).

# Webpay

## Payin by Webpay

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

This endpoint allows you to submit a payin by Webpay in Chile.

#### Headers

| Name                                            | Type   | Description                                |
| ----------------------------------------------- | ------ | ------------------------------------------ |
| Content-Type<mark style="color:red;">\*</mark>  | string | application/json; chartset=UTF-8           |
| Authorization<mark style="color:red;">\*</mark> | string | Basic Base($app\_*id:$security\_*&#x6B;ey) |

#### Request Body

| Name                                              | Type   | Description                                                          |
| ------------------------------------------------- | ------ | -------------------------------------------------------------------- |
| app\_id<mark style="color:red;">\*</mark>         | string | <p>created app's id at dashboard</p><p>- Max. 32 chars -</p>         |
| method<mark style="color:red;">\*</mark>          | string | Fixed value: Webpay                                                  |
| out\_trade\_no<mark style="color:red;">\*</mark>  | string | <p>ID given by the merchant in their system<br>- Max. 64 chars -</p> |
| notify\_url<mark style="color:red;">\*</mark>     | string | Where Pagsmile will send notification to                             |
| timestamp<mark style="color:red;">\*</mark>       | string | <p>yyyy-MM-dd HH:mm:ss<br>- Max. 19 chars -</p>                      |
| subject<mark style="color:red;">\*</mark>         | string | <p>payment reason or item title</p><p>- Max. 128 chars -</p>         |
| content<mark style="color:red;">\*</mark>         | string | <p>payment reason detail or item detail</p><p>- Max. 255 chars -</p> |
| order\_amount<mark style="color:red;">\*</mark>   | string | <p>payment amount<br>- 1 \~ 1,000,000</p><p>(Only Integer) -</p>     |
| order\_currency<mark style="color:red;">\*</mark> | string | Fixed value: CLP                                                     |
| buyer\_id<mark style="color:red;">\*</mark>       | string | merchant user's id                                                   |
| website\_url                                      | string | <p>merchant website URL</p><p>- Max. 128 chars -</p>                 |
| return\_url                                       | string | Redirect to Merchant's url when user finished checkout               |
| address.zip\_code                                 | string | <p>zip code<br>- 7 digits -</p>                                      |
| address.street                                    | string | street                                                               |
| address.street\_number                            | string | street number                                                        |
| address.city                                      | string | city                                                                 |
| address.state                                     | string | state                                                                |

{% tabs %}
{% tab title="200 submit successfully" %}

```
{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010110293900083",
    "out_trade_no": "202201010354006",
    "web_url": "",
    "pay_url":"https://checkout.pagsmile.com/checkout?prepay_id=",
    "trade_status": "PROCESSING"
}
```

{% endtab %}

{% tab title="400 duplicate out\_trade\_no" %}

```
{
    "code": "40002",
    "msg": "Business Failed",
    "sub_code": "duplicate-out_trade_no",
    "sub_msg": "out_trade_no is duplicate"
}
```

{% endtab %}
{% endtabs %}

## Example of identify

{% hint style="info" %}

* RUT / RUN numbers have eight digits, plus a verification digit, and are generally written in this format: xxxxxxxx-z. Z can be a digit or the letter K. For example 3\*\*\*\*\*\*7-K, 7\*\*\*\*\*\*8-5. **Only send alphanumeric values in the API**, like 3\*\*\*\*\*\*7K.
* For individuals, RUT is the same as RUN. For businesses, they only have RUT.
  {% endhint %}

<table><thead><tr><th width="154">Identify Type</th><th width="160">Identify Number</th><th width="135">Description</th><th width="405"></th><th></th></tr></thead><tbody><tr><td>RUN</td><td>7******85</td><td>9 digits</td><td>A RUN <em>(Rol Único Nacional)</em> is a unique identification number given to every Chilean resident, foreign resident, and anyone who stays in Chile on anything other than a tourist visa</td><td></td></tr><tr><td>RUT</td><td>7******85</td><td>9 digits</td><td>A RUT <em>(Rol Único Tributario)</em> is the individual tax ID number</td><td></td></tr></tbody></table>

## 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": "WebPay",
    "order_amount": "2500",
    "order_currency": "CLP",
    "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",
    "timeout_express": "1c",
    "customer": {}
}'
```

{% hint style="info" %}
Note: **162\*\*\*\*\*\*\*\*\*\*\*\*38** is pagsmile's test app id for sandbox, and **MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==** is authorization token associated with the test app id.
{% endhint %}

{% hint style="danger" %}
Please use your own **app\_id** and generate your own **authorization token** when testing.
{% endhint %}
