These docs are for v2. Click to read the latest docs for v5.

Criando uma transação

Para fazer uma cobrança, você deve usar a rota /transactions para criar sua transação, que pode ser feita por cartão de crédito ou por boleto bancário.

No caso de cartão de crédito é possível utilizar um card_id, card_hash ou todos os dados do cartão diretamente, sendo a segunda opção mais indicada por fatores de segurança.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
📘

Boleto em PDF

Além da versão HTML dos boletos retornada pela API, é possível gerar uma versão em PDF. Para tal basta adicionar o sufixo ?format=pdf na url retornada. Segue um exemplo:
URL ORIGINAL: https://api.pagar.me/1/boletos/test_ckj9yiyvy1obb0gm5g9yfpgbw
URL PDF: https://api.pagar.me/1/boletos/test_ckj9yiyvy1obb0gm5g9yfpgbw?format=pdf

📘

Transações recusadas

Em ambiente de teste é possível simular uma transação recusada:

  • pela operadora do cartão usando um cvv iniciado com 6
📘

Campo 'customer.name'

Para transações usando boleto como método de pagamento, o campo 'customer.name' é obrigatório.

📘

Não guardamos CVV

Em nosso card_id, não armazenamos o cvv do cartão. Mas você pode passar o campo na request, para adicionar uma camada de validação e segurança para sua transação.

🚧

card_hash e card_id

Apesar de existir a possibilidade de colocar os dados do cartão diretamente na requisição, sugerimos não faze-lo por motivos de segurança. Por isso, é possível optar por usar o card_hash ou o card_id. Não é necessário informar os ambos, somente um.

🚧

Transação síncrona com postback

Se o parâmetro async for false e você passar uma postback_url, a transação continua sendo síncrona (isto é, a resposta é recebida na hora), mas o seu sistema mesmo assim recebe notificações para a mudança de status da transação.

🚧

card_hash

O card_hash, representação dos dados do cartão encriptados, não pode ser usado mais de uma vez e deve ser consumido em até 5 minutos! Vide

🚧

Antifraude

Todos os dados do cliente(customer) são obrigatórios para transações de cartão de crédito, devido ao antifraude.

❗️

Metadata

A API espera que o schema do metadata enviado seja consistente, ou seja, se em uma transação é enviado um metadado com o formato:

{
  ...
  "metadata": {
    "pedido": 1
  }
}

a seguinte mudança não deve ser feita (mudança do tipo de 'pedido'):

{
  ...
  "metadata": {
    "pedido": "2"
  }
}

Apesar disso não restringimos a adição de novas chaves em transações posteriores como:

{
  ...
  "metadata": {
    "pedido": 3,
    "cliente": 1
  }
}
❗️

Metadata 2

O metadata deve ser um objeto json. Logo os metadados a seguir são inválidos:

{
  ...
  "metadata": ["order", "cart"]
}
{
  ...
  "metadata": "order"
}
Body Params
int32
required
Defaults to 1000

Valor a ser cobrado. Deve ser passado em centavos. Ex: R$ 10.00 = 1000. E deve ser no mínimo 1 real (100)

string
required

Informações do cartão do cliente criptografadas em sua aplicação. OBS: apenas para transações de Cartão de crédito você deve passar o card_hash ou card_id. Caso inclua os dados do cartão diretamente pelo código, esse campo torna-se dispensável.

string
required

Ao realizar uma transação, retornamos o card_id do cartão, para que nas próximas transações ele possa ser utilizado como forma de identificar os dados de pagamento. Exemplo de utilização: One-click buy. OBS: apenas para transações de Cartão de crédito você deve passar o card_hash ou card_id. Caso inclua os dados do cartão diretamente pelo código, esse campo torna-se dispensável.

string
required
Defaults to !NAME!

Nome do portador do cartão. OBS: apenas para transações de Cartão de crédito você deve passar o card_holder_name

string
required
Defaults to !CARD_EXPIRATION_DATE!

Data de validade do cartão no formato MMAA. OBS: apenas para transações de Cartão de crédito você deve passar o card_expiration_date

string
required
Defaults to !CARD_NUMBER!

Número do cartão. OBS: apenas para transações de Cartão de crédito você deve passar o card_number

string
required
Defaults to !CARD_CVV!

Código verificador do cartão. OBS: O card_cvv deve ser passado somente para transações de Cartão de crédito. Esse parâmetro também pode ser passado em conjunto com o card_id, para validarmos seu CVV na criação da transação.

string
required
Defaults to credit_card

Método de pagamento da transação. Aceita dois tipos: credit_card e boleto

string

Endpoint do seu sistema que receberá informações a cada atualização da transação. Caso você defina este parâmetro, o processamento da transação se tornará assíncrono. Máximo de 255 caracteres.

boolean

Utilize false caso queira manter o processamento síncrono de uma transação. Ou seja, a resposta da transação é recebida na hora.

string
Defaults to 1

Número de parcelas da transação, sendo mínimo:1 e Máximo: 12. OBS: Se o pagamento for boleto, o padrão é 1

string

Prazo limite para pagamento do boleto. Pode ser passado nos formatos: Unixtimestamp ou ISODate(e.g: 2017-06-23T03:00:00.000Z). Default: data atual + 7 dias

string

Descrição que aparecerá na fatura depois do nome de sua empresa. Máximo de 13 caracteres, sendo allfanuméricos e espaços.

string
Defaults to true

Após a autorização de uma transação, você pode escolher se irá capturar ou adiar a captura do valor. Caso opte por postergar a captura, atribuir o valor false.

string

Campo instruções do boleto. Máximo de 255 caracteres

split_rules
array of objects

Regras de divisão da transação

split_rules
customer
object

Define os dados do comprador, como: endereço, email, telefone, etc.

json

Você pode passar dados adicionais na criação da transação para facilitar uma futura análise de dados tanto em nossa dashboard, quanto por seus sistemas. Ex: metadata[ idProduto ]=13933139. Deve ser preenchido com no máximo de 1000 caracteres.

string

Valor único que identifica a transação para permitir uma nova tentativa de requisição com a segurança de que a mesma operação não será executada duas vezes acidentalmente.

string
Defaults to Date

Data e hora do dispositivo que está efetuando a transação. Deve ser enviado no seguinte formato: yyyy-MM-dd'T'HH:mm:ss'Z. Por exemplo: 2017-10-31T14:53:00.000Z. OBS.: este campo é necessário para transações de mundo físico (com método de captura EMV e Magstripe)

boleto_fine
object
boleto_interest
object
boleto_rules
array of strings

Combinação de valores que define as regras do boleto emitido. Valores possíveis: 'strict_expiration_date' (restringe o pagamento para até a data de vencimento e apenas o valor exato do documento), 'no_strict' (permite pagamento após o vencimento e valores diferentes do impresso).

boleto_rules
Response

Language
Credentials
Query
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json