Formas de pagamento
Lista as formas ativas da loja e as elegíveis para um pedido.
Antes de cobrar, o checkout precisa saber como o cliente pode pagar. Estas duas rotas públicas respondem: o catálogo completo de formas ativas e a lista filtrada pelas regras da loja para um pedido específico.
Listar formas de pagamento
Devolve o catálogo de formas de pagamento ativas, sem aplicar regra nenhuma de elegibilidade. Serve para telas informativas ("aceitamos Pix, cartão e boleto"). Para saber o que este cliente pode usar em este pedido, use formas elegíveis.
/api/v1/storefront/payment-methodsPúblicaTodas as formas de pagamento ativas da loja
Parâmetros de consulta
vendoruuidvendor_idsstringExemplo de requisição
curl "$BASE_URL/api/v1/storefront/payment-methods"Resposta
{
"methods": [
{
"id": "02000000-0000-0000-0000-000000000001",
"name": "PIX",
"code": "pix",
"processor_type": "online",
"gateway": "pix",
"provider": "pix",
"status": "A",
"position": 1,
"uses_credit_limit": false,
"min_order_amount": 0,
"max_order_amount": 0,
"surcharge_fixed": 0,
"surcharge_percent": 0,
"payment_id": "02000000-0000-0000-0000-000000000001",
"payment": "PIX",
"template": "pix",
"processor": "pix",
"payment_category": "online"
},
{
"id": "263a89fd-f437-4486-b7c3-81c7337febf2",
"name": "Boleto",
"code": "boleto",
"processor_type": "online",
"gateway": "pagarme",
"provider": "boleto",
"status": "A",
"position": 3,
"uses_credit_limit": false,
"min_order_amount": 50000,
"max_order_amount": 0,
"surcharge_fixed": 0,
"surcharge_percent": 0,
"payment_id": "263a89fd-f437-4486-b7c3-81c7337febf2",
"payment": "Boleto",
"template": "boleto",
"processor": "pagarme",
"payment_category": "online"
},
{
"id": "02000000-0000-0000-0000-000000000010",
"name": "Pagamento na Entrega (COD)",
"code": "pagamento-na-entrega",
"instructions": "O pagamento será cobrado na entrega do pedido.",
"processor_type": "offline",
"gateway": "",
"provider": "offline",
"status": "A",
"position": 10,
"uses_credit_limit": false,
"min_order_amount": 0,
"max_order_amount": 0,
"surcharge_fixed": 0,
"surcharge_percent": 0,
"payment_id": "02000000-0000-0000-0000-000000000010",
"payment": "Pagamento na Entrega (COD)",
"template": "pagamento-na-entrega",
"processor": "",
"payment_category": "offline"
}
],
"total": 3
}Campos da resposta
methodsarrayposition. Campos abaixo.totalintegermethods.iduuidnamestringcodestringpix, credit_card, boleto. É o valor de payment_method_code ao pagar. O catálogo é da loja: podem existir códigos próprios.descriptionstringinstructionsstringprocessor_typestringonlineofflineinvoicedonline: cobrado por um gateway. offline: a loja confirma o pagamento depois (entrega, transferência). invoiced: boleto faturado, que consome o limite de crédito do cliente.gatewaystringpagarme, pix). Vazio nas formas offline.providerstringpix, boleto, credit_card, offline...).statusstringA (ativa) nesta lista.positionintegeruses_credit_limitbooleantrue quando o método consome o limite de crédito do cliente.vendor_iduuidmin_order_amountinteger0 ou ausente = sem mínimo.max_order_amountinteger0 ou ausente = sem máximo.surcharge_fixedintegersurcharge_percentintegerpix_discount_bpsinteger200 = 2%). Ausente se não configurado.pix_expiry_minutesintegerinstallment_plansarrayinvoiced: planos de prazo habilitados (id, name, terms_days...).credit_limit_centsintegeruses_credit_limit e só na rota de elegíveis, com cliente logado: limite total aprovado, em centavos.credit_available_centsintegercredit_blockedbooleantrue quando o cliente não pode usar o método (sem limite ou limite menor que o pedido).credit_blocked_reasonstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 500 | Falha ao ler as formas de pagamento. | {"error":"failed to get payment methods","detail":"..."} |
Formas de pagamento elegíveis
É a lista que o checkout deve mostrar. Aplica as regras da loja ao pedido: valor mínimo e máximo, forma de envio, estado de entrega, quantidade de itens, grupos de clientes e exceções por cliente. Funciona sem login (visitante) e melhora com o token: logado, os grupos e as exceções do cliente são lidos no servidor e as formas que usam crédito trazem o limite.
/api/v1/storefront/payments/eligiblePúblicaO que este cliente pode usar neste pedido
Parâmetros de consulta
order_totalintegerpadrão: 0shipping_method_iduuidstatestringSP).countrystringBR).item_countintegerpadrão: 0user_group_idsstringvendoruuidvendor_idsstringExemplo de requisição
curl "$BASE_URL/api/v1/storefront/payments/eligible?order_total=60000&state=SP&item_count=3" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"methods": [
{
"id": "02000000-0000-0000-0000-000000000001",
"name": "PIX",
"code": "pix",
"processor_type": "online",
"gateway": "pix",
"provider": "pix",
"status": "A",
"position": 1,
"uses_credit_limit": false,
"min_order_amount": 0,
"max_order_amount": 0,
"surcharge_fixed": 0,
"surcharge_percent": 0,
"payment_id": "02000000-0000-0000-0000-000000000001",
"payment": "PIX",
"template": "pix",
"processor": "pix",
"payment_category": "online"
},
{
"id": "263a89fd-f437-4486-b7c3-81c7337febf2",
"name": "Boleto",
"code": "boleto",
"processor_type": "online",
"gateway": "pagarme",
"provider": "boleto",
"status": "A",
"position": 3,
"uses_credit_limit": false,
"min_order_amount": 50000,
"max_order_amount": 0,
"surcharge_fixed": 0,
"surcharge_percent": 0,
"payment_id": "263a89fd-f437-4486-b7c3-81c7337febf2",
"payment": "Boleto",
"template": "boleto",
"processor": "pagarme",
"payment_category": "online"
},
{
"id": "02000000-0000-0000-0000-000000000010",
"name": "Pagamento na Entrega (COD)",
"code": "pagamento-na-entrega",
"instructions": "O pagamento será cobrado na entrega do pedido.",
"processor_type": "offline",
"gateway": "",
"provider": "offline",
"status": "A",
"position": 10,
"uses_credit_limit": false,
"min_order_amount": 0,
"max_order_amount": 0,
"surcharge_fixed": 0,
"surcharge_percent": 0,
"payment_id": "02000000-0000-0000-0000-000000000010",
"payment": "Pagamento na Entrega (COD)",
"template": "pagamento-na-entrega",
"processor": "",
"payment_category": "offline"
}
],
"total": 3
}Campos da resposta
methodsarraytotalintegermethods.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 500 | Falha ao aplicar as regras. | {"error":"failed to filter payment methods","detail":"..."} |