Pular para o conteúdo principal

Capturando uma transação

Sobre captura tardia#

Por padrão, uma cobrança criada com auto_capture: true é autorizada e capturada de forma automática. Quando a cobrança é criada com auto_capture: false, o valor é apenas reservado na carteira do cliente (autorização sem captura) e precisa ser capturado em uma segunda chamada.

Use esse fluxo quando precisar confirmar o valor exato da compra após a autorização — por exemplo, em casos de entrega com frete variável.

Atenção

Transações no estado authorized (aguardando captura) devem ser capturadas dentro do prazo de 6 dias. Após esse prazo, a transação passa automaticamente para EXPIRED e a reserva é liberada.

Endpoint#

POST https://ecommerce-api.svc.picpay.com/v1/payments/capture

Exemplo de requisição#

curl --location --request POST 'https://ecommerce-api.svc.picpay.com/v1/payments/capture' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'x-Idempotency-Key: {{idempotency_key}}' \
--header 'Content-Type: application/json' \
--data '{
"transaction_id": "bdc7bfd7-98bc-4910-801e-99206076947d",
"reference_id": "dfecee7e-2414-4966-8911-104f6389b071",
"value": 99.99
}'

Parâmetros do body#

CampoTipoObrigatórioDescrição
transaction_idstringSim*Identificador da transação gerado pelo PicPay no momento da cobrança
reference_idstringSim*Identificador único da transação gerado pelo parceiro
valuenumberSimValor em reais a ser capturado. Pode ser menor ou igual ao valor autorizado

*Ao menos um dos identificadores (transaction_id ou reference_id) deve ser informado.

Resposta de sucesso#

HTTP 204 No Content indica que a captura foi realizada com sucesso. O body de resposta é vazio. A transação passa de AUTHORIZED para PAID.

Erros possíveis#

business_codeHTTPDescrição
TRANSACTION_CANT_BE_CAPTURED409Status não permite captura (já capturada, cancelada ou expirada)
CAPTURED_INVALID_VALUE422Valor inválido (ex: maior que o autorizado)
TRANSACTION_NOT_FOUND404Transação não encontrada

Próximos passos#