Cobrar um pedido
Inicia o pagamento de um pedido e acompanha a transação.
Com o pedido criado, o cliente paga. POST /payments escolhe a forma e dispara a cobrança; GET /payments/{id} acompanha o resultado. Ambas exigem o token do cliente dono do pedido. Para pagar sem token (visitante), veja os gateways em Gateways de pagamento.
Iniciar um pagamento
Cobra o pedido pela forma escolhida, no gateway configurado na loja: gera o Pix, o boleto ou autoriza o cartão. Formas offline e faturadas apenas registram uma transação pendente, sem chamar gateway. O pedido precisa ser do cliente do token.
/api/v1/storefront/paymentsClienteCobra o saldo de um pedido pela forma de pagamento escolhida
Corpo da requisição
order_iduuidobrigatóriopayment_method_codestringobrigatóriocode de uma forma elegível para o pedido (pix, boleto, credit_card...). Se vários métodos ativos tiverem o mesmo código, vale o que casa com o slug e tem gateway online.amountintegerobrigatóriocurrencystringobrigatórioBRL.customer_emailstringobrigatóriocustomer_namestringcustomer_cpfstringcustomer_cnpjstringcustomer_phonestringbilling_addressobjectEndereço de cobrança. O Pagar.me exige para boleto; se faltar, vem do pedido.
line_1stringline_2stringcitystringstatestringzip_codestringinstallmentsintegercard_referencestringExemplo de requisição
curl -X POST "$BASE_URL/api/v1/storefront/payments" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"order_id": "3f73310d-bfdd-4713-a664-305c08eda58b",
"payment_method_code": "pix",
"amount": 22500,
"currency": "BRL",
"customer_email": "maria.souza@example.com",
"customer_name": "Maria Souza",
"customer_cpf": "12345678909",
"customer_phone": "11987654321"
}'Resposta
{
"id": "baf48a29-9120-4729-93ef-3adc1738a6cc",
"tenant_id": "",
"order_id": "3f73310d-bfdd-4713-a664-305c08eda58b",
"payment_method_id": "02000000-0000-0000-0000-000000000001",
"status": "P",
"amount": 22500,
"currency": "BRL",
"transaction_id": "ch_Kx9QzR2mVn3LdY7a",
"pix_code": "00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890520400005303986540522.505802BR5913MINHA LOJA6009SAO PAULO62070503***6304ABCD",
"pix_qr_code": "https://api.pagar.me/core/v5/transactions/tran_xxxx/qrcode?payment_method=pix",
"expires_at": "2026-10-11T15:32:11Z",
"created_at": "2026-10-11T15:02:11Z",
"updated_at": "2026-10-11T15:02:11Z"
}Campos da resposta
iduuidGET /payments/{id}).tenant_idstringorder_iduuidpayment_method_iduuidstatusstringP pendente (aguardando o cliente ou o gateway), C concluído, F falhou, R reembolsado. A confirmação final costuma chegar depois, por webhook; releia a transação ou o pedido.amountintegercurrencystringBRL).transaction_idstringgateway_responseobjectpix_codestringpix_qr_codestringboleto_urlstringboleto_barcodestringexpires_atstringpaid_atstringrefunded_atstringcreated_atstringupdated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Falta order_id, payment_method_code ou amount maior que zero. | {"error":"order_id is required"} |
| 400 | amount diferente do saldo devido. | {"error":"amount_mismatch","message":"amount must be the order's balance due","amount_due":22500,"amount_sent":20000} |
| 401 | Sem token de cliente no cabeçalho Authorization. | {"error":"missing authorization header"} |
| 403 | O pedido é de outro cliente. | {"error":"you do not have permission to create payments for this order"} |
| 404 | Pedido inexistente. | {"error":"order not found"} |
| 409 | A forma não está disponível para este pedido. | {"error":"payment_method_not_allowed","message":"payment method is not available for this order"} |
| 409 | O pedido já está pago. | {"error":"order_already_paid","message":"this order is already paid"} |
| 500 | Falha no gateway, bloqueio antifraude ou forma de pagamento inexistente. A causa vem em detail. | {"error":"failed to create payment","detail":"..."} |
Consultar um pagamento
Devolve uma transação criada em Iniciar um pagamento. Use para acompanhar um Pix ou boleto pendente (consultando a cada poucos segundos, com limite) até status virar C. Só funciona para transações de pedidos do próprio cliente.
/api/v1/storefront/payments/{id}ClienteEstado de uma transação de pagamento
Parâmetros de caminho
iduuidobrigatórioid devolvido ao iniciar).Exemplo de requisição
curl "$BASE_URL/api/v1/storefront/payments/baf48a29-9120-4729-93ef-3adc1738a6cc" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "baf48a29-9120-4729-93ef-3adc1738a6cc",
"tenant_id": "",
"order_id": "3f73310d-bfdd-4713-a664-305c08eda58b",
"payment_method_id": "02000000-0000-0000-0000-000000000001",
"status": "C",
"amount": 22500,
"currency": "BRL",
"transaction_id": "ch_Kx9QzR2mVn3LdY7a",
"pix_code": "00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890520400005303986540522.505802BR5913MINHA LOJA6009SAO PAULO62070503***6304ABCD",
"pix_qr_code": "https://api.pagar.me/core/v5/transactions/tran_xxxx/qrcode?payment_method=pix",
"expires_at": "2026-10-11T15:32:11Z",
"created_at": "2026-10-11T15:02:11Z",
"updated_at": "2026-10-11T15:02:11Z",
"paid_at": "2026-10-11T15:04:40Z"
}Campos da resposta
(corpo)objectErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token de cliente no cabeçalho Authorization. | {"error":"missing authorization header"} |
| 403 | A transação é de um pedido de outro cliente. | {"error":"you do not have permission to view this transaction"} |
| 404 | Transação inexistente. | {"error":"transaction not found"} |
| 500 | id que não é um UUID válido, ou falha de leitura. | {"error":"failed to get transaction","detail":"..."} |