Capturar Transação

Captura uma transação pré-autorizada de cartão de crédito (card-not-present).

Quando Usar

Use este endpoint quando você criou uma transação com capture: false e agora deseja capturar o valor pré-autorizado.

Fluxo típico:

  1. Cliente faz pedido → Cria transação com capture: false

  2. Produto é separado/confirmado → Captura a transação

  3. Pagamento é processado → Cliente é cobrado

⚠️ IMPORTANTE:

  • Apenas transações com status pre_authorized podem ser capturadas

  • Prazo para captura: 5 dias corridos após pré-autorização

  • Após o prazo, a pré-autorização é cancelada automaticamente

Endpoint

POST /v1/marketplaces/{marketplace_id}/transactions/{transaction_id}/capture

Parâmetros de Path

Parâmetro
Tipo
Descrição

marketplace_id

string

ID do marketplace

transaction_id

string

ID da transação pré-autorizada

Request Body (Opcional)

Você pode capturar um valor diferente do pré-autorizado (menor):

Campo
Tipo
Obrigatório
Descrição

amount

integer

Não

Valor a capturar em centavos (deve ser ≤ valor pré-autorizado)

on_behalf_of

string

Sim

ID do vendedor

Request

Captura Total (Valor Completo)

cURL

PHP

Captura Parcial (Valor Menor)

Python

Response

Status: 200 OK - Captura Total

Status: 200 OK - Captura Parcial

Observações sobre captura parcial:

  • amount: Valor efetivamente capturado

  • original_amount: Valor pré-autorizado original

  • released_amount: Valor liberado de volta ao limite do cartão

Casos de Uso

1. E-commerce - Captura Após Separação

2. Marketplace - Captura com Ajuste de Valor

3. Reserva de Hotel - Captura Diferenciada

Erros

400 Bad Request - Já Capturada

Solução: Esta transação já foi capturada anteriormente.

400 Bad Request - Status Inválido

Solução: Apenas transações com status pre_authorized podem ser capturadas.

400 Bad Request - Valor Maior

Solução: O valor de captura deve ser menor ou igual ao pré-autorizado.

Boas Práticas

✅ Recomendado

  • Capture assim que possível após confirmação

  • Use captura parcial quando valor final for menor

  • Configure webhooks para monitorar expiração

  • Cancele explicitamente se não for capturar

❌ Evite

  • Deixar pré-autorizações sem ação por dias

  • Tentar capturar valores maiores que o pré-autorizado

  • Capturar sem verificar disponibilidade de estoque

  • Ignorar erros de captura

Próximos Passos

Atualizado