curl --request POST \
--url https://sandbox.4seletpay.com.br/api/v2/invoices/{id}/pay \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"payment": {
"type": "card",
"card": {
"token": "9b2f5c8e-3a1d-4f7b-8c6e-2d9a1b4c5e6f"
}
}
}
'{
"id": "719305",
"object": "invoice",
"subscription": "sub_4Hn8Qw2Rt6Yp1Zx3",
"number": 1,
"status": "processing",
"currency": "brl",
"amount": 9000,
"attempts": 123,
"items": [
{
"code": "SKU-SUB",
"description": "Assinatura",
"quantity": 1,
"amount": 10000
}
],
"discounts": [
{
"type": "fixed",
"value": 1000,
"invoice_number": 1
}
],
"increments": [
{
"type": "fixed",
"value": 1000,
"invoice_number": 1
}
],
"payments": [
{
"id": "cha_8Kq2Lm9XvB3nT7pZ",
"object": "payment_intent",
"status": "requires_action",
"amount": 10000,
"amount_refunded": 0,
"currency": "brl",
"payment_method_details": {
"type": "card",
"card": {
"brand": "visa",
"last_four": "1111",
"holder_name": "João Silva"
},
"pix": {
"qr_code": "00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"qr_code_url": "https://pix.exemplo.com.br/qr/cha_8Kq2Lm9XvB3nT7pZ",
"expires_at": "2026-09-14T16:00:00.000000Z"
}
}
}
],
"next_action": {
"type": "pix_display_qr_code",
"pix": {
"qr_code": "00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"qr_code_url": "https://pix.exemplo.com.br/qr/cha_8Kq2Lm9XvB3nT7pZ",
"expires_at": "2026-09-14T16:00:00.000000Z"
},
"otp": {
"confirmation_id": "5f1c2a9e-7b3d-4e8f-9a6c-1d2e3f4a5b6c",
"expires_at": "2026-09-14T12:15:00.000000Z"
}
},
"created_at": "<string>",
"failure_reason": {
"code": "card_declined",
"message": "O cartão não possui saldo suficiente para concluir o pagamento.",
"customer_message": "Não foi possível concluir o pagamento. Revise os dados informados ou tente outro meio de pagamento.",
"merchant_message": "O pagamento não foi concluído. Oriente o comprador a revisar os dados informados ou tentar outro meio de pagamento."
}
}Pagar fatura
Cobra uma fatura que ainda não foi paga, por exemplo uma fatura recusada ou em atraso, com um cartão novo, um cartão salvo ou PIX. Se o pagamento for recusado, a resposta é 402 com failure_reason.
curl --request POST \
--url https://sandbox.4seletpay.com.br/api/v2/invoices/{id}/pay \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"payment": {
"type": "card",
"card": {
"token": "9b2f5c8e-3a1d-4f7b-8c6e-2d9a1b4c5e6f"
}
}
}
'{
"id": "719305",
"object": "invoice",
"subscription": "sub_4Hn8Qw2Rt6Yp1Zx3",
"number": 1,
"status": "processing",
"currency": "brl",
"amount": 9000,
"attempts": 123,
"items": [
{
"code": "SKU-SUB",
"description": "Assinatura",
"quantity": 1,
"amount": 10000
}
],
"discounts": [
{
"type": "fixed",
"value": 1000,
"invoice_number": 1
}
],
"increments": [
{
"type": "fixed",
"value": 1000,
"invoice_number": 1
}
],
"payments": [
{
"id": "cha_8Kq2Lm9XvB3nT7pZ",
"object": "payment_intent",
"status": "requires_action",
"amount": 10000,
"amount_refunded": 0,
"currency": "brl",
"payment_method_details": {
"type": "card",
"card": {
"brand": "visa",
"last_four": "1111",
"holder_name": "João Silva"
},
"pix": {
"qr_code": "00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"qr_code_url": "https://pix.exemplo.com.br/qr/cha_8Kq2Lm9XvB3nT7pZ",
"expires_at": "2026-09-14T16:00:00.000000Z"
}
}
}
],
"next_action": {
"type": "pix_display_qr_code",
"pix": {
"qr_code": "00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"qr_code_url": "https://pix.exemplo.com.br/qr/cha_8Kq2Lm9XvB3nT7pZ",
"expires_at": "2026-09-14T16:00:00.000000Z"
},
"otp": {
"confirmation_id": "5f1c2a9e-7b3d-4e8f-9a6c-1d2e3f4a5b6c",
"expires_at": "2026-09-14T12:15:00.000000Z"
}
},
"created_at": "<string>",
"failure_reason": {
"code": "card_declined",
"message": "O cartão não possui saldo suficiente para concluir o pagamento.",
"customer_message": "Não foi possível concluir o pagamento. Revise os dados informados ou tente outro meio de pagamento.",
"merchant_message": "O pagamento não foi concluído. Oriente o comprador a revisar os dados informados ou tentar outro meio de pagamento."
}
}payment (cartão ou PIX). Cobranças ainda pendentes da fatura são canceladas antes da nova tentativa.active, past_due e suspended são aceitas). Faturas pagas, canceladas, estornadas ou aguardando código de verificação retornam 422 (invoice_not_payable).200 com a fatura atualizada, ou 402 quando a nova cobrança é recusada (com o motivo em failure_reason). 200 não significa pago: com cartão, a fatura costuma ficar em processing até a confirmação; com PIX, fica em requires_action com o QR Code em next_action.422 card_token_invalid (cartão salvo de outra conta) e 422 acquirer_feature_not_supported (a conta não tem adquirente para o meio escolhido). Envie Idempotency-Key para evitar cobrança duplicada em reenvios.Authorizations
Chave de API (secret key) da conta, no formato sk_live_... (produção) ou sk_test_... (Dev mode). Envie no header Authorization: Bearer <chave>. Autentica todas as rotas da API v2 e as rotas de Análise de Fraude. A chave identifica a conta, então a API v2 não usa o header account. Uma chave só é aceita no ambiente em que foi criada. Gere a sua no dashboard em Configurações → Chaves de API.
Headers
Chave de idempotência opcional e recomendada. Tem até 128 caracteres e vale por 24 horas, por conta. A mesma chave com o mesmo corpo devolve a resposta original (mesmo status e mesmo corpo), sem processar de novo. Só respostas 2xx ficam guardadas: depois de um erro, a mesma chave pode ser reutilizada. A mesma chave com um corpo diferente retorna 422 (idempotency_key_conflict), uma requisição original ainda em andamento retorna 409 (idempotency_key_in_use) e uma chave com mais de 128 caracteres retorna 400 (idempotency_key_invalid).
128"pedido-1024-tentativa-1"
Path Parameters
Identificador do recurso (o campo id devolvido pela API)
Body
Response
Pagamento processado. Confira o status da fatura
Fatura de um ciclo da assinatura. processing: em processamento. requires_action: PIX aguardando pagamento ou verificação por código (veja next_action). paid: paga. failed: recusada (veja failure_reason). canceled: cancelada. refunded e partially_refunded: estornada. chargeback: contestada.
"719305"
invoice "sub_4Hn8Qw2Rt6Yp1Zx3"
Número da fatura na assinatura
1
processing, requires_action, paid, failed, canceled, refunded, partially_refunded, chargeback "brl"
Valor da fatura, em centavos, já com descontos e acréscimos
9000
Tentativas de cobrança
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
O que precisa acontecer para o pagamento seguir. pix_display_qr_code: exiba o QR Code para o pagador. otp_confirmation: a análise de fraude pediu verificação — nada é cobrado até o código ser confirmado na rota /confirm.
Show child attributes
Show child attributes
Motivo da recusa. Presente só quando o status é failed
Show child attributes
Show child attributes
