# All-In-One Checkout

## Payin by using Pagsmile checkout page

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

This endpoint allows you to submit a payin by using Pagsmile checkout page

#### 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                                            | string | Add this object to show only the selected method. For instance, “method”: “PIX” will only show the PIX method. To show all the methods do not add this object in the request body. Check [here](https://docs.pagsmile.com/payin/data/payment-method) for all methods. |
| 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>                                                                                                                                                                                                          |
| order\_amount<mark style="color:red;">\*</mark>   | string | <p>order amount<br>- 0.01 \~ 999999999 -</p><p>(refer to amount limit for different <a href="data/payment-method">methods</a>)</p>                                                                                                                                    |
| order\_currency<mark style="color:red;">\*</mark> | string | <p>order currency<br>- Max. 3 chars -<br>Check <a href="data/payment-method">here</a> for all methods.</p>                                                                                                                                                            |
| content<mark style="color:red;">\*</mark>         | string | <p>payment reason detail or item detail. This will be shown on the bank bill.</p><p>- Max. 255 chars -</p>                                                                                                                                                            |
| buyer\_id<mark style="color:red;">\*</mark>       | string | merchant user's id                                                                                                                                                                                                                                                    |
| channel                                           | string | only use when method = Wallet                                                                                                                                                                                                                                         |
| trade\_type<mark style="color:red;">\*</mark>     | string | fixed value: WEB                                                                                                                                                                                                                                                      |
| return\_url                                       | sring  | web redirect url when payment is finish                                                                                                                                                                                                                               |
| timeout\_express                                  | string | <p>m(minutes), h(hours), d(days), c(always end in current day). </p><p>Used to control the expiration time of <strong>submitting</strong> an order (from initial to processing).  (90m in default, max 15d)</p>                                                       |
| cancellation\_express                             | string | <p>m(minutes), h(hours), d(days). The value must be an integer. </p><p>Used to cancel an order. Ex: 90m Used to control the expiration time of a processing order.</p>                                                                                                |
| regions                                           | array  | <p>regions of the payment. Required if using Global App. The format is ISO 3166-1 alpha-3<br>- ARG, BRA, etc. Check <a href="data/country-code">here</a> - </p>                                                                                                       |

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

```
{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010110293900083",
    "out_trade_no": "202201010354003",
    "web_url": "http://checkout-testv2.pagsmile.com?prepay_id=123456",
    "prepay_id":"123456"
}
```

{% 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 %}

## Options

All-In-One Checkout is for querying Pagsmile checkout page (payment wall) to present one or all available payment methods to users. It is the most sample way for integrating for all countries and methods of Pagsmile.

* [**General**](https://docs.pagsmile.com/payin/checkout-page/general)
  * More detailed examples for querying Pagsmile checkout page for general merchants.
* [**E-Commerce**](https://docs.pagsmile.com/payout/submit-a-payout/paypal)
  * More detailed examples for querying Pagsmile checkout page for E-com merchants.
