---
description: Como usar a Lotérica para cria um Payin no Brasil.
---

# Lotérica

## Payin pela Lotérica

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

Este endpoint permite submeter um pagamento por Lotérica no Brasil.

#### 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>App Id criado no dashboard</p><p>- Max. 32 chars -</p>                                                                                                                                              |
| customer.phone<mark style="color:red;">\*</mark>           | string | Telefone do usuário                                                                                                                                                                                    |
| customer.email<mark style="color:red;">\*</mark>           | string | E-mail do usuário                                                                                                                                                                                      |
| customer.identify.number<mark style="color:red;">\*</mark> | string | <p>Número de identificação do usuário<br>- 11 dígitos se CPF ou 14 dígitos se CNPJ -</p>                                                                                                               |
| method<mark style="color:red;">\*</mark>                   | string | Valor fixo: Lottery                                                                                                                                                                                    |
| out\_trade\_no<mark style="color:red;">\*</mark>           | string | <p>ID fornecido pelo merchant em seu sistema<br>- Max. 64 chars - </p>                                                                                                                                 |
| notify\_url<mark style="color:red;">\*</mark>              | string | Para onde a Pagsmile enviará a notificação                                                                                                                                                             |
| customer.identify.type<mark style="color:red;">\*</mark>   | string | <p>Tipo de identificação do usuário</p><p>- CPF ou CNPJ -</p>                                                                                                                                          |
| customer.name<mark style="color:red;">\*</mark>            | string | <p>Nome do usuário</p><p>- Max. 40 chars -</p>                                                                                                                                                         |
| 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>motivo do pagamento ou título do item</p><p>- Max. 128 chars -</p>                                                                                                                                  |
| order\_amount<mark style="color:red;">\*</mark>            | string | <p>montante do pagamento<br>- 4~2000 BRL -</p>                                                                                                                                                         |
| order\_currency<mark style="color:red;">\*</mark>          | string | Valor fixo: BRL                                                                                                                                                                                        |
| content<mark style="color:red;">\*</mark>                  | string | <p>detalhes do motivo do pagamento ou detalhes do item. Isso será mostrado na fatura do banco.</p><p>- Max. 255 chars -</p>                                                                            |
| buyer\_id<mark style="color:red;">\*</mark>                | string | ID do usuário do merchant                                                                                                                                                                              |
| address.zip\_code<mark style="color:red;">\*</mark>        | string | código postal                                                                                                                                                                                          |
| website\_url                                               | string | <p>URL do site do comerciante</p><p>- Max. 128 chars -</p>                                                                                                                                             |
| address.street                                             | string | <p>rua</p><p>'- Necessário se o código postal não for fornecido -</p>                                                                                                                                  |
| address.street\_number                                     | string | <p>número da rua</p><p>'- Necessário se o código postal não for fornecido -</p>                                                                                                                        |
| address.city                                               | string | <p>cidade</p><p>'- Necessário se o código postal não for fornecido -</p>                                                                                                                               |
| address.state                                              | string | <p>estado<br>'- Necessário se o código postal não for fornecido -</p>                                                                                                                                  |
| return\_url                                                | string | Redireccionar para a url do Merchant quando o usuário terminar o checkout                                                                                                                              |
| cancellation\_express                                      | string | <p>m(minutos), h(horas), d(dias). O valor deve ser um número inteiro. Ex: 90m<br>O valor deve ser maior do que o timeout_express.</p><p>Utilizado para controlar o tempo de expiração da Lotérica.</p> |
| timeout\_express                                           | string | Usado para controlar o tempo de expiração do envio de um pedido (do início ao processamento). (90m no padrão, máximo 15d)                                                                              |

{% tabs %}
{% tab title="200 enviado com sucesso" %}
```
{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010106532400030",
    "out_trade_no": "202201010354003",
    "web_url": "",
    "barcode": "10499647359216218774123156548721787200000011649",
    "bank_no": "10850221",
    "pay_url": "https://checkout-testv2.pagsmile.com/checkout?prepay_id=T3c0bUM5VDdQc1M4MThjeDlEVHBiZG5yNEc4V0hBZ3pEMlY2d3A0N2F6UT0=-B20807a4",
    "trade_status": "PROCESSING"
}
```
{% endtab %}

{% tab title="400 out_trade_no duplicado" %}
```
{
    "code": "40002",
    "msg": "Business Failed",
    "sub_code": "duplicate-out_trade_no",
    "sub_msg": "out_trade_no is duplicate"
}
```
{% endtab %}
{% endtabs %}

{% hint style="info" %}
**Dicas de pagamento**

* Os usuários só precisam usar o valor do bank\_no para finalizar o pagamento na lotérica.
* O fornecimento de um localizador poderia ajudar o usuário a encontrar uma loja mais rapidamente. Pode vinculá-lo a https://www.google.com/maps/search/loterias/
{% endhint %}

## Exemplo

```
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": "202201010354003",
    "method": "Lottery",
    "order_amount": "12.01",
    "order_currency": "BRL",
    "subject": "trade pay test",
    "content": "trade pay test conent",
    "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" : {
        "identify": {
            "type": "CPF",
            "number": "50284414727"
        },
        "name": "Test User Name",
        "email": "test@pagsmile.com",
        "phone": "75991435892"
    },
    "address" : {
        "zip_code": "38082365",
    }'
```

{% hint style="info" %}
Importante:  **162\*\*\*\*\*\*\*\*\*\*\*\*38** é o App Id de teste da pagsmile para o ambiente sandbox, e **MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==** é o token de autorização associado ao App Id de teste.
{% endhint %}

{% hint style="danger" %}
Use seu próprio app\_id e gere seu próprio token de autorização ao testar.
{% endhint %}
