# Overview

The parameters provided here are mandatory for creating the payment link, ensuring that relevant payment methods like Bank Transfer, PIX, PSE, Deuna, and more are automatically presented to shoppers.\
\
In addition to the required parameters, we offer optional fields that can be included to enhance the user experience. These fields allow pre-filled information, such as address, documents, and other personal data, to be automatically transferred, preventing users from having to re-enter them when they reach our payment page.

To access the complete and detailed list of all available parameters, including optional ones, please refer to the [**Overview**](/methods-and-markets/payin/overview.md) page, where you'll find all the foundational elements that apply across different countries and methods.

### <mark style="color:orange;">POST</mark> /v2/transaction/checkout

{% hint style="info" %}
**Request**
{% endhint %}

{% code overflow="wrap" %}

```bash
curl -v --location --request POST 'https://sandbox.smartfastpay.com/v2/transaction/checkout' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <Access-Token>' \
    --data-raw '{
        "customer": {
            "id": "58f0c005-3b7d-4c75-81f3-93b9a6fee864",
            "name": "Richard Roe",
            "email": "richard@roe.com",
            "document": {
                "number": "12345678909",
                "type": "CPF"
            }
        },
        "transaction": {
            "id": "b08e3897-6505-4bb4-81a5-6e3a1d29e277",
            "currency": "BRL",
            "amount": 100.00,
        },
        "branch": "YourCompanyOrBranchName",
        "country": "BRA",
        "notification_url": "https://mysite.com/api/notification",
        "redirect_url": "https://mysite.com/success"
    }'
```

{% endcode %}

{% hint style="info" %}
**Parameters details**
{% endhint %}

<table><thead><tr><th width="291">Parameter</th><th width="120" align="center">Type</th><th width="102" align="center">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>customer.id</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center"><strong>yes</strong></td><td>Unique identifier for the customer in your system. This value should remain consistent across all transactions for the same customer</td></tr><tr><td><code>customer.name</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center"><strong>yes</strong><br><em>optional on (v2/transaction/checkout)</em></td><td>The full name of the customer making the payment. It should match the name on the customer's identification documents</td></tr><tr><td><code>customer.email</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center"><strong>yes</strong><br><em>optional on (v2/transaction/checkout)</em></td><td>The email address of the customer. This will be used for sending payment confirmations and notifications</td></tr><tr><td><code>customer.document.number</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center"><strong>yes</strong><br><em>optional on (v2/transaction/checkout)</em></td><td>The official identification number of the customer. This is typically a national ID, or other government-issued document</td></tr><tr><td><code>customer.document.type</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center"><strong>yes</strong><br><em>optional on (v2/transaction/checkout)</em></td><td>The type of document provided by the customer. Common types include national ID, or driver's license. <a href="/pages/yXqITA9HFiwkUhEhGFNm">List of documents allowed</a>.</td></tr><tr><td><code>transaction.id</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center"><strong>yes</strong></td><td>A unique identifier for the transaction. This ID should be generated by your system to track the specific payment process</td></tr><tr><td><code>transaction.currency</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center"><strong>yes</strong></td><td>The currency in which the transaction is being conducted. Use standard ISO 4217 currency codes (e.g., USD, PEN). <a href="/pages/AV8tyVPt6rJX0yyuYIej">List of currency codes</a>.</td></tr><tr><td><code>transaction.amount</code></td><td align="center"><mark style="color:red;"><code>decimal</code></mark><br><mark style="color:red;"><code>(10,2)</code></mark></td><td align="center"><strong>yes</strong></td><td>The total amount of the transaction in the specified currency. This value should be a numeric amount (use dot instead of comma)<br><mark style="color:red;"><code>Eg: 300.10</code></mark></td></tr><tr><td><code>branch</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center">no</td><td>The specific branch or location identifier where the transaction is being processed, if applicable</td></tr><tr><td><code>country</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center"><strong>yes</strong></td><td>The country code where the transaction is taking place. The format is <code>ISO 3166-1 alpha-3</code> (e.g., BRA for Brazil). <a href="/pages/WEBQfG9FyAw1HF4fdryA">List of country codes.</a></td></tr><tr><td><code>payment_method</code></td><td align="center"><mark style="color:red;"><code>array</code></mark></td><td align="center"><strong>yes</strong></td><td>The method of payment being used for the transaction, such as bank transfer, credit card...</td></tr><tr><td><code>notification_url</code></td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center"><strong>yes</strong></td><td>The URL to which payment notifications will be sent. Ensure this URL is accessible and configured to handle the notification format</td></tr><tr><td>redirect_url</td><td align="center"><mark style="color:red;"><code>string</code></mark></td><td align="center">no</td><td>The URL to which the customer will be redirected after completing the payment. This parameter is optional and typically used for providing a success or failure page</td></tr></tbody></table>

{% hint style="info" %}
**Response**&#x20;
{% endhint %}

{% tabs %}
{% tab title="success" %}

```json
{
    "requestId": "b299549a8e75ead38c176932c3f59da0/13462186452875824120",
    "data": {
        "url": "https://sandbox-checkout.smartfastpay.com/v1/cbfc1b2e-b1d7-42c0-8dc5-ffe94d64938e/cGADUcGFK9DJJvbGV0dyxwaXgsYmFua190cmAODHcg==/eyJkf3j982b2N1bWVuJAH8FHXIiOiIxMjM0NTY3ODkka90F8HJR5cGUiOiJDUEYifSwadhugcmEiOltdfQ=="
        "transaction_id": "4a79f3b4-8d55-428b-a560-984fedd6f78a",
        "expires_in": 1722108649
    }
}
```

{% endtab %}

{% tab title="error" %}

```json
{
    "requestId": "b299549a8e75ead38c176932c3f59da0/13462186452875824120",
    "moreInformation": [
        {
            "code": "INVALID_REQUEST",
            "detail": "The transaction.id field is required."
        }
    ]
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.smartfastpay.com/thesmartway/checkout-experience/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
