Este guia descreve como criar e pagar um pedido utilizando o token PagBank associado a um Cartão de Crédito. É importante destacar a criação do token PagBank acontece durante a criação e pagamento utilizando o fluxo convencional descrito aqui, conforme apresentado pelo fluxo abaixo.

Ao optar pela adoção do sistema de token, os dados essenciais do cliente para a efetivação de um pagamento são salvos no sistema do PagBank. Para o gerenciamento de compras futuras, o PagSeguro gera e retorna um token que substitui os dados do cartão. Esse token pode ser utilizado em pagamentos futuros do mesmo cliente, sem a necessidade de confirmar sua identidade. Acesse Pagamento com token PagBank para maiores informações.
Crie um token PagBank
Ao realizar o primeiro request ao endpoint Criar pedido, você deve encaminhar o parâmetro charges.payment_method.store
com o valor true
. Dessa forma você estará indicando que além da cobraça, o sistema PagBank deverá realizar a tokenização do cartão utilizado na compra. Os parâmetros relacionados aos dados do cartão devem ser enviados normalmente.
A response da chamada conterá o token PagBank do cartão utilizado independente se a transação foi aprovada ou rejeitada. Você pode acessar o token através do parâmetro charges.payment_method.card.id
. Você deve salvar o token em seu sistema para futuras transações.
Abaixo você encontra exemplos de request para a criação e pagamento de um pedido onde foi requisitada a criação do token PagBank. Os dados da resposta também são apresentado, contendo o token vinculado ao cartão utilizado.
curl --location --request POST 'https: //sandbox.api.pagseguro.com/orders' \
--header 'Authorization: Bearer {
{TOKEN
}
}' \
--header 'Content-Type: application/json' \
--data-raw '{
"reference_id": "ex-00001",
"customer": {
"name": "Jose da Silva",
"email": "[email protected]",
"tax_id": "12345678909",
"phones": [
{
"country": "55",
"area": "11",
"number": "999999999",
"type": "MOBILE"
}
]
},
"items": [
{
"reference_id": "referencia do item",
"name": "nome do item",
"quantity": 1,
"unit_amount": 500
}
],
"shipping": {
"address": {
"street": "Avenida Brigadeiro Faria Lima",
"number": "1384",
"complement": "apto 12",
"locality": "Pinheiros",
"city": "São Paulo",
"region_code": "SP",
"country": "BRA",
"postal_code": "01452002"
}
},
"notification_urls": [
"https://meusite.com/notificacoes"
],
"charges": [
{
"reference_id": "referencia da cobranca",
"description": "descricao da cobranca",
"amount": {
"value": 500,
"currency": "BRL"
},
"payment_method": {
"type": "CREDIT_CARD",
"installments": 1,
"capture": true,
"card": {
"number": "4111111111111111",
"exp_month": "12",
"exp_year": "2026",
"security_code": "123",
"holder": {
"name": "Jose da Silva"
},
"store": true
}
}
}
]
}'
{
"id": "ORDE_1BD3B260-907B-46D3-99D4-9F646E9CBC6A",
"reference_id": "ex-00001",
"created_at": "2023-02-08T16:10:42.476-03:00",
"customer": {
"name": "Jose da Silva",
"email": "[email protected]",
"tax_id": "12345678909",
"phones": [
{
"type": "MOBILE",
"country": "55",
"area": "11",
"number": "999999999"
}
]
},
"items": [
{
"reference_id": "referencia do item",
"name": "nome do item",
"quantity": 1,
"unit_amount": 500
}
],
"shipping": {
"address": {
"street": "Avenida Brigadeiro Faria Lima",
"number": "1384",
"complement": "apto 12",
"locality": "Pinheiros",
"city": "São Paulo",
"region_code": "SP",
"country": "BRA",
"postal_code": "01452002"
}
},
"charges": [
{
"id": "CHAR_53702DF2-E986-4581-AA66-9C8C199B1906",
"reference_id": "referencia da cobranca",
"status": "PAID",
"created_at": "2023-02-08T16:10:42.946-03:00",
"paid_at": "2023-02-08T16:10:44.000-03:00",
"description": "descricao da cobranca",
"amount": {
"value": 500,
"currency": "BRL",
"summary": {
"total": 500,
"paid": 500,
"refunded": 0
}
},
"payment_response": {
"code": "20000",
"message": "SUCESSO",
"reference": "032416400102"
},
"payment_method": {
"type": "CREDIT_CARD",
"installments": 1,
"capture": true,
"card": {
"id": "CARD_9806D4C1-1A4A-4DD7-8960-1171ECD8DE3D",
"brand": "visa",
"first_digits": "411111",
"last_digits": "1111",
"exp_month": "12",
"exp_year": "2026",
"holder": {
"name": "Jose da Silva"
},
"store": true
},
"soft_descriptor": "IntegracaoPagsegu"
},
"links": [
{
"rel": "SELF",
"href": "https://sandbox.api.pagseguro.com/charges/CHAR_53702DF2-E986-4581-AA66-9C8C199B1906",
"media": "application/json",
"type": "GET"
},
{
"rel": "CHARGE.CANCEL",
"href": "https://sandbox.api.pagseguro.com/charges/CHAR_53702DF2-E986-4581-AA66-9C8C199B1906/cancel",
"media": "application/json",
"type": "POST"
}
]
}
],
"notification_urls": [
"https://meusite.com/notificacoes"
],
"links": [
{
"rel": "SELF",
"href": "https://sandbox.api.pagseguro.com/orders/ORDE_1BD3B260-907B-46D3-99D4-9F646E9CBC6A",
"media": "application/json",
"type": "GET"
},
{
"rel": "PAY",
"href": "https://sandbox.api.pagseguro.com/orders/ORDE_1BD3B260-907B-46D3-99D4-9F646E9CBC6A/pay",
"media": "application/json",
"type": "POST"
}
]
}
Crie e pague um pedido com token PagBank
Depos de ter o token PagBank, para realizar a criação e pagamento de pedidos você irá fornecer o token no lugar dos dados do cartão. O token deve ser informado no parâmetro charges.payment_method.card.id
. Adicionalmente, você pode encaminhar o nome do detentor do cartão e o CVV através do charges.payment_method.card.security_code
.
Para que a captura da cobrança seja feita de forma automática, junto com a criação do pedido, você deve encaminhar o parâmetro charges.payment_method.capture
com o valor true
.
Abaixo você encontra exemplos de requisição e resposta ao endpoint Criar pedido utilizando o token PagBank.
curl --location --request POST 'https://sandbox.api.pagseguro.com/orders' \
--header 'Authorization: Bearer {{BEARER}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"reference_id": "ex-00001",
"customer": {
"name": "Jose da Silva",
"email": "[email protected]",
"tax_id": "12345678909",
"phones": [
{
"country": "55",
"area": "11",
"number": "999999999",
"type": "MOBILE"
}
]
},
"items": [
{
"reference_id": "referencia do item",
"name": "nome do item",
"quantity": 1,
"unit_amount": 500
}
],
"shipping": {
"address": {
"street": "Avenida Brigadeiro Faria Lima",
"number": "1384",
"complement": "apto 12",
"locality": "Pinheiros",
"city": "São Paulo",
"region_code": "SP",
"country": "BRA",
"postal_code": "01452002"
}
},
"notification_urls": [
"https://meusite.com/notificacoes"
],
"charges": [
{
"reference_id": "referencia da cobranca",
"description": "descricao da cobranca",
"amount": {
"value": 500,
"currency": "BRL"
},
"payment_method": {
"type": "CREDIT_CARD",
"installments": 1,
"capture": true,
"card": {
"id": "CARD_9806D4C1-1A4A-4DD7-8960-1171ECD8DE3D",
"security_code": "123",
"holder": {
"name": "Jose da Silva"
},
"store": true
}
}
}
]
}'
{
"id": "ORDE_6AD3E748-A4E4-48D4-B80C-14CE06FC66FB",
"reference_id": "ex-00001",
"created_at": "2023-02-08T16:11:24.170-03:00",
"customer": {
"name": "Jose da Silva",
"email": "[email protected]",
"tax_id": "12345678909",
"phones": [
{
"type": "MOBILE",
"country": "55",
"area": "11",
"number": "999999999"
}
]
},
"items": [
{
"reference_id": "referencia do item",
"name": "nome do item",
"quantity": 1,
"unit_amount": 500
}
],
"shipping": {
"address": {
"street": "Avenida Brigadeiro Faria Lima",
"number": "1384",
"complement": "apto 12",
"locality": "Pinheiros",
"city": "São Paulo",
"region_code": "SP",
"country": "BRA",
"postal_code": "01452002"
}
},
"charges": [
{
"id": "CHAR_BAD68EB1-65B8-47FF-84C6-528496513C82",
"reference_id": "referencia da cobranca",
"status": "PAID",
"created_at": "2023-02-08T16:11:24.663-03:00",
"paid_at": "2023-02-08T16:11:25.000-03:00",
"description": "descricao da cobranca",
"amount": {
"value": 500,
"currency": "BRL",
"summary": {
"total": 500,
"paid": 500,
"refunded": 0
}
},
"payment_response": {
"code": "20000",
"message": "SUCESSO",
"reference": "032416400102"
},
"payment_method": {
"type": "CREDIT_CARD",
"installments": 1,
"capture": true,
"card": {
"id": "CARD_9806D4C1-1A4A-4DD7-8960-1171ECD8DE3D",
"brand": "visa",
"first_digits": "411111",
"last_digits": "1111",
"exp_month": "12",
"exp_year": "2026",
"holder": {
"name": "Jose da Silva"
},
"store": true
},
"soft_descriptor": "IntegracaoPagsegu"
},
"links": [
{
"rel": "SELF",
"href": "https://sandbox.api.pagseguro.com/charges/CHAR_BAD68EB1-65B8-47FF-84C6-528496513C82",
"media": "application/json",
"type": "GET"
},
{
"rel": "CHARGE.CANCEL",
"href": "https://sandbox.api.pagseguro.com/charges/CHAR_BAD68EB1-65B8-47FF-84C6-528496513C82/cancel",
"media": "application/json",
"type": "POST"
}
]
}
],
"notification_urls": [
"https://meusite.com/notificacoes"
],
"links": [
{
"rel": "SELF",
"href": "https://sandbox.api.pagseguro.com/orders/ORDE_6AD3E748-A4E4-48D4-B80C-14CE06FC66FB",
"media": "application/json",
"type": "GET"
},
{
"rel": "PAY",
"href": "https://sandbox.api.pagseguro.com/orders/ORDE_6AD3E748-A4E4-48D4-B80C-14CE06FC66FB/pay",
"media": "application/json",
"type": "POST"
}
]
}
Para verificar se a criação e o pagamento do pedido foram executados com sucesso, verifique os campos charges.status
e charges.payment_response.message
existentes no corpo da resposta.