---
title: "Criar link de pagamento"
url: "https://devcenter.stone.com.br/apis/v5-docs-legacy/versions/b9aaff36-6dcc-4353-8398-836d6c13dfa5/operations/create-link"
---

> Full API specification: https://devcenter.stone.com.br/apis/v5-docs-legacy/versions/b9aaff36-6dcc-4353-8398-836d6c13dfa5.md

# Criar link de pagamento

`POST` `/paymentlinks`

Operation ID: `create-link`

## Request body

Content types: `application/json`

## Responses

- `200` - 200
- `400` - 400

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Pagar.me v5 API (Legado)
  version: 5.0.0
servers:
  - url: https://api.stone.com.br/core/v5
paths:
  /paymentlinks:
    post:
      summary: Criar link de pagamento
      description: ""
      operationId: create-link
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - type
                - payment_settings
                - cart_settings
              properties:
                is_building:
                  type: boolean
                  description: Define se o link de pagamento será criado com o status building ou
                    ativo, em caso de envio do campo true tal permite que você
                    ative um link em determinado momento posteriormente, para
                    realizar uma ação promocional, por exemplo;
                  default: false
                name:
                  type: string
                  description: Nome que será exibido na dashboard e ao buscar o link de pagamento
                    através da API. Máximo de 64 caracteres.
                type:
                  type: string
                  description: Define o tipo do link de pagamento a ser criado, podendo ser
                    "order", para criação de pedidos, ou "subscription", para
                    recorrências.
                expires_at:
                  type: string
                  description: Define a data de expiração do link de pagamento. Formato ISO 8601.
                    Caso não seja enviado o link não terá expiração por tempo.
                    Não deve ser enviado caso o campo expires_in seja enviado.
                  format: date
                expires_in:
                  type: integer
                  description: Define o tempo de expiração do link de pagamento em minutos após o
                    mesmo estar ativo. Tempo em minutos. Caso não seja enviado,
                    o link não terá expiração por tempo. Não deve ser enviado
                    caso o campo expires_at seja enviado.
                  format: int32
                max_sessions:
                  type: integer
                  description: Define o máximo de pedidos que o link de pagamento pode gerar,
                    sejam eles pagos ou não. Caso não seja enviado, não haverá
                    limite de pedidos criados.
                  format: int32
                max_paid_sessions:
                  type: integer
                  description: Define o máximo de pedidos pagos que o link de pagamento pode
                    gerar. Caso não seja enviado, não haverá limite de
                    pagamentos.
                  format: int32
                payment_settings:
                  type: object
                  description: Configurações de pagamento do link.
                  properties:
                    accepted_payment_methods:
                      type: array
                      description: 'Define os métodos de pagamento aceitos. Valores permitidos:
                        "credit_card", "boleto" e "pix".'
                      items:
                        type: string
                    statement_descriptor:
                      type: string
                      description: Define o identificador que irá aparecer na fatura do comprador.
                        Limite de 13 caracteres.
                    credit_card_settings:
                      type: object
                      description: Define as configurações de pagamento quando cartão de crédito for
                        selecionado. Obrigatório quando enviado "credit_card" em
                        "accepted_payment_methods".
                      properties:
                        operation_type:
                          type: string
                          description: Indica se a transação deve ser capturada ("auth_and_capture") ou
                            apenas autorizada ("auth_only").
                        delay_to_capture:
                          type: integer
                          description: Tempo pré-definido para a captura do pagamento após autorização.
                            Valor em xxx.
                          format: int32
                        installments:
                          type: array
                          description: Configurações de parcelamento do link. Não deverá ser enviado caso
                            o campo "installments_setup" seja definido.
                          items:
                            properties:
                              number:
                                type: integer
                                description: Número de parcelas
                                format: int32
                              total:
                                type: integer
                                description: Valor total que será cobrado caso essa opção de parcelamento seja
                                  selecionada, em centavos.
                                format: int32
                            required:
                              - number
                              - total
                            type: object
                        installments_setup:
                          type: object
                          description: Configurações de parcelamento do link. Não deverá ser enviado caso
                            o campo "installments" seja definido.
                          properties:
                            max_installments:
                              type: integer
                              description: Número máximo de parcelas permitido.
                              format: int32
                            amount:
                              type: integer
                              description: Valor total que será cobrado pelo link, em centavos.
                              format: int32
                            interest_type:
                              type: string
                              description: Tipo de cálculo utilizado para a inclusão de acréscimo de juros no
                                parcelamento, se aplicável.
                              default: simple
                            interest_rate:
                              type: integer
                              description: Valor percentual que será utilizado para o acréscimo de juros no
                                parcelamento.
                              format: int32
                            customer_fee:
                              type: boolean
                              description: Define se as taxas deverão ser automaticamente repassadas no
                                parcelamento do link. Para clientes PSP, caso
                                esse campo seja "true", os campos
                                "interest_type" e "interest_rate" não devem ser
                                enviados.
                            free_installments:
                              type: integer
                              description: Número de parcelas que não terão acréscimo de juros.
                              format: int32
                            brand:
                              type: string
                              description: Define a bandeira para recuperar as taxas do lojista. Caso o campo
                                "customer_fee" seja "true", e os campos
                                "interest_type" e "interest_rate" não forem
                                informados. Apenas para clientes PSP.
                    boleto_settings:
                      type: object
                      description: Define as configurações de pagamento quando boleto for selecionado.
                        Obrigatório quando enviado "boleto" em
                        "accepted_payment_methods".
                      properties:
                        due_at:
                          type: string
                          description: Define a data de expiração do boleto gerado. Formato ISO 8601. Não
                            deverá ser enviado caso o campo "due_in" seja
                            definido.
                          format: date
                        due_in:
                          type: integer
                          description: Define quantidade de tempo para expiração do boleto a partir do
                            momento que o mesmo é gerado. Valor em dias. Não
                            deverá ser enviado caso o campo "due_in" seja
                            definido.
                          format: int32
                        discount:
                          type: integer
                          description: Valor de desconto a ser aplicado ao boleto, em centavos. Não deve
                            ser enviado caso o campo "discount_percentage" seja
                            definido.
                          format: int32
                        discount_percentage:
                          type: number
                          description: Valor de desconto a ser aplicado ao boleto, em porcentagem. Não
                            deve ser enviado caso o campo "discount" seja
                            definido.
                          format: double
                        instructions:
                          type: string
                          description: Instruções do boleto. Máximo 255 caracteres.
                    pix_settings:
                      type: object
                      description: Define as configurações de pagamento quando pix for selecionado.
                        Obrigatório quando enviado "pix" em
                        "accepted_payment_methods".
                      properties:
                        expires_in:
                          type: integer
                          description: Define quantidade de tempo para expiração do pix a partir do
                            momento que o mesmo é gerado. Valor em segundos. Não
                            deverá ser enviado caso o campo "expires_at" seja
                            definido.
                          format: int32
                        expires_at:
                          type: string
                          description: Define a data de expiração do pix gerado. Formato ISO 8601. Não
                            deverá ser enviado caso o campo "expires_in" seja
                            definido.
                          format: date
                        discount:
                          type: integer
                          description: Valor de desconto a ser aplicado ao pix, em centavos. Não deve ser
                            enviado caso o campo "discount_percentage" seja
                            definido.
                          format: int32
                        discount_percentage:
                          type: number
                          description: Valor de desconto a ser aplicado ao pix, em porcentagem. Não deve
                            ser enviado caso o campo "discount" seja definido.
                          format: double
                        additiona_information:
                          type: object
                          description: Objeto chave/valor utilizado para adicionar informações sobre o
                            pagamento. Esses dados serão visíveis para o
                            consumidor na hora do pagamento.
                          properties:
                            Name:
                              type: string
                              description: Nome utilizado para adicionar informações sobre o pagamento.
                            Value:
                              type: string
                              description: Valor utilizado para adicionar informações sobre o pagamento.
                customer_settings:
                  type: object
                  description: Define os dados do cliente, se aplicável.
                  properties:
                    customer_id:
                      type: string
                      description: Código do cliente.
                    customer:
                      type: object
                      description: Dados do cliente. Não deverá ser enviado caso o campo "customer_id"
                        seja definido.
                      required:
                        - name
                      properties:
                        name:
                          type: string
                          description: "Nome do cliente. Max: 64 caracteres."
                        type:
                          type: string
                          description: "Tipo de cliente. Valores possíveis: individual (pessoa física) ou
                            company (pessoa jurídica). Obrigatório, caso o
                            document seja enviado."
                        email:
                          type: string
                          description: "E-mail do cliente. Max: 64 caracteres."
                        code:
                          type: string
                          description: "Código de referência do cliente no sistema da loja. Max: 52
                            caracteres."
                        document:
                          type: string
                          description: "CPF, CNPJ ou PASSAPORTE do cliente. Max: 16 caracteres para CPF e
                            CNPJ e Max: 50 caracteres para PASSAPORTE."
                        document_type:
                          type: string
                          description: 'Tipo de documento. Valores possíveis: "CPF", "CNPJ" ou
                            "PASSPORT".'
                        gender:
                          type: string
                          description: "Sexo do cliente . Valores possíveis: male ou female."
                        address:
                          type: object
                          description: Endereço do cliente.
                          properties:
                            country:
                              type: string
                              description: País (Código do país no formato ISO 3166-1 alpha-2)(2 digitos)
                            state:
                              type: string
                              description: Estado (Código do estado no formato ISO 3166-2).
                            city:
                              type: string
                              description: Cidade.
                            zip_code:
                              type: string
                              description: Código Postal (CEP) (Apenas numérico).
                            line_1:
                              type: string
                              description: Dados principais do endereço. Neste campo deve ser informado
                                Número, Rua, Bairro, nesta ordem e separados por
                                vírgula.
                            line_2:
                              type: string
                              description: Dados complementares do endereço. Neste campo pode ser informado
                                complemento, referências.
                        phones:
                          type: object
                          description: Telefone residencial do cliente.
                          properties:
                            home_phone:
                              type: object
                              description: Telefone residencial do cliente.
                              properties:
                                country_code:
                                  type: string
                                  description: Código do País (Apenas numérico).
                                area_code:
                                  type: string
                                  description: Código da área (Apenas numérico).
                                number:
                                  type: string
                                  description: Número do telefone (Apenas numérico).
                            mobile_phone:
                              type: object
                              description: Telefone celular do cliente.
                              properties:
                                country_code:
                                  type: string
                                  description: Código do País (Apenas numérico).
                                area_code:
                                  type: string
                                  description: Código da área (Apenas numérico).
                                number:
                                  type: string
                                  description: Número do telefone (Apenas numérico).
                        birthdate:
                          type: string
                          description: Data de nascimento do cliente.
                          format: date
                        metadata:
                          type: string
                          description: Objeto chave/valor utilizado para armazenar informações adicionais
                            sobre o cliente.
                cart_settings:
                  type: object
                  description: Define os dados do carrinho que será pago pelo link de pagamento.
                  properties:
                    shipping_cost:
                      type: integer
                      description: Valor de entrega, em centavos
                      format: int32
                    items:
                      type: array
                      description: Define os itens que estão inclusos no carrinho que será pago pelo
                        link.
                      items:
                        properties:
                          name:
                            type: string
                            description: Nome do item.
                          description:
                            type: string
                            description: Descrição do item. Máximo de xxx caracteres
                          amount:
                            type: integer
                            description: Valor unitário do item, em centavos.
                            format: int32
                          shipping_cost:
                            type: integer
                            description: Valor de entrega do item, em centavos.
                            format: int32
                          default_quantity:
                            type: integer
                            description: Quantidade de itens.
                            format: int32
                        required:
                          - name
                          - amount
                          - default_quantity
                        type: object
                    recurrences:
                      type: array
                      description: Define as configurações da recorrência que será gerada a partir do
                        pagamento do link.
                      items:
                        properties:
                          plan_id:
                            type: string
                            description: Id do plano com as configurações da assinatura que será gerada.
                          plan:
                            type: object
                            description: Dados do plano da assinatura que será gerada. Não deverá ser
                              enviado caso o campo "plan_id" seja definido.
                          start_in:
                            type: integer
                            description: Data de início da assinatura, em dias. Não deverá ser enviado caso
                              o campo "start_at" seja definido.
                            format: int32
                          start_at:
                            type: string
                            description: Data de início da assinatura. Não deverá ser enviado caso o campo
                              "start_in" seja definido.
                            format: date
                        type: object
                layout_settings:
                  type: object
                  description: Dados de layout.
                  properties:
                    image_url:
                      type: string
                      description: Logo que será utilizado no checkout.
                    primary_color:
                      type: string
                      description: Cor primária que será aplicada no checkout, em hexadecimal.
                    secondary_color:
                      type: string
                      description: Cor secundária que será aplicada no checkout.
                order_code:
                  type: string
                  description: Permite ao lojista informar um identificador de sua plataforma para
                    correlação
                split_settings:
                  type: object
                  description: Define as regras de split de pagamento
                  properties:
                    rules:
                      type: array
                      description: Regras de split a serem enviadas no link de pamganeto
                      items:
                        properties:
                          recipient_id:
                            type: string
                            description: "Código do recebedor. Formato: re_XXXXXXXXXXXXXXXX."
                          amount:
                            type: integer
                            description: Valor destinado ao recebedor.
                            format: int32
                          type:
                            type: string
                            description: Tipo de divisão. Os valores possíveis são flat ou percentage.
                            default: percentage
                            enum:
                              - flat
                              - percentage
                          options:
                            type: object
                            description: Informações da responsabilidade do recebedor na transação.
                            properties:
                              liable:
                                type: boolean
                                description: Indica se o recebedor é responsável pela transação em caso de
                                  chargeback.
                                default: true
                              charge_processing_fee:
                                type: boolean
                                description: Indica se o recebedor vinculado à regra será cobrado pelas taxas da
                                  transação
                                default: true
                              charge_remainder_fee:
                                type: boolean
                                description: Indica se o recebedor vinculado à regra irá receber o restante dos
                                  recebíveis após uma divisão
                                default: true
                        type: object
                flow_settings:
                  type: object
                  properties:
                    success_url:
                      type: string
                      default: ""
                      description: Define a url de redirecionamento ao final do checkout para permitir
                        o comprador retornar a loja
                  description: ""
            examples:
              Link de pedido:
                value:
                  payment_settings:
                    accepted_payment_methods:
                      - credit_card
                    credit_card_settings:
                      operation_type: auth_and_capture
                      installments:
                        - number: 1
                          total: 12000
                        - number: 2
                          total: 12000
                  cart_settings:
                    items:
                      - amount: 12000
                        name: Banner
                        default_quantity: 1
                  name: Banner N12345
                  type: order
              Link de pedido (com acréscimo de juros):
                value:
                  payment_settings:
                    accepted_payment_methods:
                      - pix
                      - boleto
                      - credit_card
                    credit_card_settings:
                      operation_type: auth_and_capture
                      installments_setup:
                        max_installments: 12
                        amount: 10000
                        interest_type: simple
                        interest_rate: 2
                        free_installments: 1
                  cart_settings:
                    items:
                      - amount: 5000
                        name: Banner
                        description: Banner personalizado
                        default_quantity: 2
                  name: "Banner N67890 "
                  type: order
              Link de Recorrência:
                value:
                  max_paid_sessions: 1
                  payment_settings:
                    accepted_payment_methods:
                      - credit_card
                    credit_card_settings:
                      operation_type: auth_and_capture
                  customer_settings:
                    customer_id: cus_8ka4RGDF9F7MvemD
                  expires_at: 2024-05-12T19:44:39.5870000Z
                  cart_settings:
                    recurrences:
                      - start_in: 1
                        plan_id: plan_odzJgEyf9fqgR7Kj
                  name: Banner mensal N135
                  type: subscription
      responses:
        "200":
          description: "200"
          content:
            application/json:
              examples:
                Result:
                  value: >-
                    {
                        "payment_settings": {
                            "accepted_payment_methods": [
                                "credit_card"
                            ],
                            "credit_card_settings": {
                                "operation_type": "auth_and_capture",
                                "installments": [
                                    {
                                        "number": 1,
                                        "total": 12000
                                    },
                                    {
                                        "number": 2,
                                        "total": 12000
                                    }
                                ]
                            }
                        },
                        "cart_settings": {
                            "items": [
                                {
                                    "amount": 12000,
                                    "name": "Banner",
                                    "default_quantity": 1
                                }
                            ],
                           "items_total_cost": 12000,
                           "total_cost": 12000,
                           "shipping_cost": 0,
                           "shipping_total_cost": 0
                        },
                        "name": "Banner N12345",
                        "type": "order",
                        "total_sessions": 0,
                        "max_paid_sessions": 0,
                        "total_paid_sessions": 0,
                        "max_sessions": 0,
                        "created_at": "2024-05-13T01:09:40.6331583Z",
                        "url": "https://payment-link.pagar.me/pl_GNe8zkaO2MlBxxGcJcv0BALq9Pon514W",
                        "updated_at": "2024-05-13T01:09:40.6331583Z",
                        "id": "pl_GNe8zkaO2MlBxxGcJcv0BALq9Pon514W",
                        "expires_in": 0,
                        "status": "active"
                    }
        "400":
          description: "400"
          content:
            application/json:
              examples:
                Result:
                  value: "{}"
              schema:
                type: object
                properties: {}
      deprecated: false
security:
  - sec0: []
components:
  securitySchemes:
    sec0:
      type: http
      scheme: basic
```
