Esse guia descreve como criar e pagar um pedido com cartão caso você seja esteja em confirmidade com as regras PCI. Esse fluxo de criação e pagamento aceita como meio de pagamento cartões de crédido e débito.
Para a utilização dessa solução você deverá ter realizado o processo de homologação e ter apresentado o certificado PCI ao PagBank. Do contrário, você não conseguirá gerar transações com o cartão aberto. Caso você ainda não tenha homologado sua integração, acesse a página Solicitar homologação.
Restrições para a criação de pedido
Para a criação de pedidos, você deve ser precisa estar em confirmidade com as regras PCI e não deve violar os valores limites para cada operação. A tabela a seguir define valores mínimos por transação e parcela definidos pelas bandeiras de Cartão de Crédito.
Forma de Pagamento | Bandeira | Valor mínimo (R$) | Valor mínimo da parcela (R$) |
---|---|---|---|
Cartão de Crédito | Visa | 1,00 | 5,00 |
Cartão de Crédito | Mastercard | 0,20 | 5,00 |
Cartão de Crédito | American Express | 0,20 | 5,00 |
Cartão de Crédito | Demais bandeiras | 0,20 | 5,00 |
Recomendações de segurança
Recomendamos fortemente que você implemente recursos adicionais de segurança na tela de checkout do seu site. Uma medida eficaz é a utilização de um reCaptcha, que ajuda a prevenir ataques de robôs e validação de cartões fraudulentos, protegendo suas vendas e o seu negócio de possíveis impactos negativos. A adoção dessa medida de segurança reduz as chances de fraudes e contribui para aumentar a confiança dos clientes em seu site.
Crie e pague o pedido
Com os dados do cartão e do pedido, você pode criar o pedido utilizando o endpoint Criar pedido.
Para realizar a requisição ao endpoint Criar pedido, você precisa fornecer no corpo da requisição os dados descritos no Objeto Order. Os dados do pagamento devem ser adicionados ao objeto charge
. A página Objeto Charge descreve em detalhes cada um dos parâmetros que devem ser incluídos.
Os dados do cartão utilizado no pagamento devem ser adicionados ao objeto charges.payment_method.card
. Você deve identificar o meio de pagamento através do parâmetro charges.payment_method.type
com o valor CREDIT_CARD
ou DEBIT_CARD
. Por fim, 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 um exemplo de requisição e resposta ao endpoint Criar pedido.
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",
"tax_id": "65544332211"
},
"store": false
}
}
}
]
}'
{
"id": "ORDE_1B946E10-A183-4F80-BA82-E4D10BA75574",
"reference_id": "ex-00001",
"created_at": "2023-02-08T15:01:09.068-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_89EFFBA8-69F5-42FC-88F9-2E9BAA26A4F3",
"reference_id": "referencia da cobranca",
"status": "PAID",
"created_at": "2023-02-08T15:01:09.313-03:00",
"paid_at": "2023-02-08T15:01:10.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": {
"brand": "visa",
"first_digits": "411111",
"last_digits": "1111",
"exp_month": "12",
"exp_year": "2026",
"holder": {
"name": "Jose da Silva",
"tax_id": "65544332211"
},
"store": false
},
"soft_descriptor": "IntegracaoPagsegu"
},
"links": [
{
"rel": "SELF",
"href": "https://sandbox.api.pagseguro.com/charges/CHAR_89EFFBA8-69F5-42FC-88F9-2E9BAA26A4F3",
"media": "application/json",
"type": "GET"
},
{
"rel": "CHARGE.CANCEL",
"href": "https://sandbox.api.pagseguro.com/charges/CHAR_89EFFBA8-69F5-42FC-88F9-2E9BAA26A4F3/cancel",
"media": "application/json",
"type": "POST"
}
]
}
],
"notification_urls": [
"https://meusite.com/notificacoes"
],
"links": [
{
"rel": "SELF",
"href": "https://sandbox.api.pagseguro.com/orders/ORDE_1B946E10-A183-4F80-BA82-E4D10BA75574",
"media": "application/json",
"type": "GET"
},
{
"rel": "PAY",
"href": "https://sandbox.api.pagseguro.com/orders/ORDE_1B946E10-A183-4F80-BA82-E4D10BA75574/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.