💳 Pagamentos de Pedido
📋 Visão Geral
O módulo de Pagamentos de Pedido expõe os endpoints utilizados para consultar, capturar e cancelar pagamentos vinculados a pedidos da plataforma.
As operações permitem gerenciar o ciclo de vida do pagamento após a criação do pedido — desde a consulta do status atual na operadora até a captura ou cancelamento manual.
🔄 Entidades Envolvidas
Cada pagamento de pedido (OrderPayment) está associado a um grupo de pedido e a uma integração de pagamento.
Os Logs de Pagamento (PaymentLog) registram erros e eventos gerados durante as operações, úteis para diagnóstico e auditoria de transações com falha.
🏦 Depósito Interno (internal-deposit)
Pagamentos do tipo depósito interno representam transferências bancárias manuais. Ao criar um pedido com esta modalidade, o campo internalDepositBank é preenchido com os dados da conta bancária selecionada pelo cliente no checkout:
| Campo | Descrição |
|---|---|
name | Nome do titular da conta |
bankName | Nome do banco |
bank | Número/código do banco |
agency | Agência bancária |
account | Número da conta |
operation | Operação da conta |
document | Documento do titular |
bank-account-map.📌 Notas e Considerações
- As operações de captura, cancelamento e consulta aceitam até 100 pagamentos por requisição.
- Operações de leitura exigem o escopo
TRANSACTIONS_READ; captura, cancelamento e consulta de atualização exigem tambémORDER_WRITE. - Logs de erro exigem adicionalmente o escopo
PAYMENT_ERROR_READ. - Pagamentos
internal-depositnão transitam pela operadora externa — o campointernalDepositBanksubstitui os dados de PIX, boleto e cartão.
📋 Listagem de Pagamentos de Pedido
/orders/payments
Lista os pagamentos de pedidos da plataforma com suporte a filtros, ordenação e paginação
📋 Descrição
Endpoint responsável por listar os pagamentos de pedidos registrados na plataforma, retornando dados completos de cada transação — incluindo tipo de pagamento, status atual, dados da opção de pagamento e o grupo de pedido vinculado.
Cada registro representa um OrderPayment — a transação financeira associada a um pedido. Um grupo pode ter múltiplos pagamentos em cenários de reprocessamento, parcelamento ou múltiplos meios.
Os campos retornados variam conforme o tipo de pagamento:
- PIX —
pixQrCode,pixEmvepaymentExpirationDatesão preenchidos; campos de boleto, cartão e depósito ficamnull - Boleto —
billetBarCode,billetDigitableLineebilletUrlsão preenchidos; PIX, cartão e depósito ficamnull - Cartão —
cardMasked,cardFlag,cardExpirationecardAutomaticCapturesão preenchidos; PIX, boleto e depósito ficamnull - Depósito Interno —
internalDepositBanké preenchido com os dados da conta bancária selecionada; demais campos específicos ficamnull UserAuth— autenticação do usuário administrativoTRANSACTIONS_READ— escopo de permissão para leitura de transações financeiras e pagamentos
🔐 Permissão
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
💡 Exemplo de Requisição
1curl --request GET \2 --url '{{MAIN_URL}}/orders/payments' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": {4 "registers": [5 {6 "id": 1,7 "orderGroupId": 1,8 "orderId": 1,9 "customerCardId": null,10 "paymentType": "internal-deposit",11 "paymentProof": "",12 "paymentExpirationDate": null,13 "paymentOptionId": 1,14 "parentPaymentOptionId": null,15 "paymentOptionLabel": "Depósito Bancário",16 "paymentOptionDetail": "Transferência ou depósito bancário",17 "integrationName": "Internal",18 "transactionId": "uappi-1234567890-abc123",19 "currentStatus": "waiting-payment",20 "paymentAntiFraudId": null,21 "paymentAntiFraudCredentialId": null,22 "antiFraudStatus": null,23 "pixQrCode": null,24 "pixEmv": null,25 "billetBarCode": null,26 "billetDigitableLine": null,27 "billetUrl": null,28 "cardAutomaticCapture": false,29 "cardMasked": null,30 "cardFlag": null,31 "cardExpiration": null,32 "internalDepositBank": {33 "name": "Razão Social da Empresa LTDA",34 "bankName": "Itaú Unibanco",35 "bank": "341",36 "agency": "0001",37 "account": "12345-6",38 "operation": "",39 "document": "00.000.000/0001-00"40 },41 "value": 160,42 "installment": null,43 "installmentValue": 0,44 "fee": 0,45 "orderGroup": {46 "id": 1,47 "code": "2353d908-0000-0000-0000-000000000000",48 "subtotalValue": 150,49 "additionValue": 0,50 "shippingValue": 10,51 "discountValue": 0,52 "totalValue": 16053 },54 "logs": []55 }56 ],57 "pagination": {58 "limit": 10,59 "offset": 0,60 "pages": 1,61 "registers": 162 }63 }64}📊 Campos da Resposta
| Campo | Descrição |
|---|---|
id | ID do pagamento |
orderGroupId | ID do grupo de pedido vinculado |
orderId | ID da remessa (pedido) vinculada |
customerCardId | ID do cartão salvo do cliente |
paymentType | Tipo de pagamento — pix, boleto, credit-card, debit-card, internal-deposit |
paymentProof | Comprovante de pagamento |
paymentExpirationDate | Data de expiração — preenchida para PIX e boleto |
paymentOptionId | ID da opção de pagamento configurada |
parentPaymentOptionId | ID da opção pai (para sub-opções) |
paymentOptionLabel | Nome da opção exibida ao cliente — ex: PIX, Boleto Bancário |
paymentOptionDetail | Detalhe da opção — ex: Pagamento instantâneo via PIX |
integrationName | Nome da integração de pagamento utilizada |
transactionId | ID da transação retornado pela operadora |
currentStatus | Status atual do pagamento — ex: waiting-payment, approved, cancelled |
paymentAntiFraudId | ID da análise antifraude vinculada |
paymentAntiFraudCredentialId | ID da credencial antifraude utilizada |
antiFraudStatus | Status da análise antifraude — ex: approved, review, rejected |
pixQrCode | QR Code PIX em formato texto — apenas para paymentType: pix |
pixEmv | Código EMV do PIX — apenas para paymentType: pix |
billetBarCode | Código de barras do boleto — apenas para paymentType: boleto |
billetDigitableLine | Linha digitável do boleto — apenas para paymentType: boleto |
billetUrl | URL para visualização do boleto — apenas para paymentType: boleto |
cardAutomaticCapture | Se a captura do cartão é automática |
cardMasked | Número mascarado do cartão — ex: 5678 — apenas para cartão |
cardFlag | Bandeira do cartão — ex: visa, mastercard — apenas para cartão |
cardExpiration | Data de expiração do cartão — apenas para cartão |
internalDepositBank | Dados da conta bancária selecionada — apenas para paymentType: internal-deposit |
internalDepositBank.name | Nome do titular da conta |
internalDepositBank.bankName | Nome do banco |
internalDepositBank.bank | Número/código do banco |
internalDepositBank.agency | Agência bancária |
internalDepositBank.account | Número da conta |
internalDepositBank.operation | Operação da conta |
internalDepositBank.document | Documento do titular |
value | Valor total do pagamento |
installment | Número de parcelas — null para pagamentos à vista |
installmentValue | Valor por parcela |
fee | Taxa aplicada ao pagamento |
orderGroup | Dados resumidos do grupo de pedido vinculado |
orderGroup.id | ID do grupo |
orderGroup.code | Código único do grupo de pedido |
orderGroup.subtotalValue | Valor dos produtos |
orderGroup.additionValue | Acréscimos |
orderGroup.shippingValue | Valor do frete |
orderGroup.discountValue | Descontos aplicados |
orderGroup.totalValue | Valor total do grupo |
logs | Logs de erro registrados para este pagamento |
⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
Este endpoint não possui erros de aplicação específicos além da autenticação.
🚫 Cancelamento de Pagamentos de Pedido
/orders/payments/cancel
Cancela ou estorna pagamentos de pedidos na operadora
📋 Descrição
Endpoint responsável por cancelar ou estornar pagamentos de pedidos diretamente na operadora de pagamento.
- Cancelamento — aplicado quando o pagamento ainda não foi capturado (pré-autorização)
- Estorno — aplicado quando o pagamento já foi capturado (cobrança realizada)
UserAuth— autenticação do usuário administrativoTRANSACTIONS_READ— escopo de permissão para leitura de transações financeiras e pagamentosORDER_WRITE— escopo de permissão para operações de escrita em pedidos
A operação executada depende do status atual do pagamento na operadora. Aceita até 100 pagamentos por requisição.
🔐 Permissão
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
Content-Type | application/json | Tipo do conteúdo |
📦 Parâmetros do Corpo
| Campo | Obrigatório | Descrição |
|---|---|---|
payments | ✅ Sim | Lista de pagamentos a cancelar/estornar — máximo 100 |
payments[].orderPaymentId | ✅ Sim | ID do pagamento (OrderPayment.id) |
payments[].value | ✅ Sim | Valor do cancelamento/estorno — pode ser parcial ou total |
1{2 "payments": [3 { "orderPaymentId": 76, "value": 337.40 }4 ]5}💡 Exemplo de Requisição
1curl --request PUT \2 --url '{{MAIN_URL}}/orders/payments/cancel' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "payments": [7 { "orderPaymentId": 76, "value": 337.40 }8 ]9 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": [4 {5 "orderPaymentId": 76,6 "currentStatus": "cancelled",7 "error": null8 }9 ]10}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
Erros por Pagamento (campo error)
| Código do Erro | Descrição |
|---|---|
UAPPI_STORE_ORDER_PAYMENT_NOT_FOUND | ❌ Pagamento não encontrado com o ID informado |
UAPPI_STORE_ORDER_PAYMENT_INVALID_STATUS | ❌ Status atual do pagamento não permite cancelamento/estorno — ex: pagamento já cancelado |
UAPPI_STORE_ORDER_PAYMENT_INTEGRATION_ERROR | ❌ Erro na integração — a operadora retornou uma falha ao tentar cancelar ou estornar o pagamento |
💰 Captura de Pagamentos de Pedido
/orders/payments/capture
Captura pagamentos pré-autorizados na operadora de pagamento
📋 Descrição
Endpoint responsável por capturar pagamentos pré-autorizados, confirmando a cobrança junto à operadora de pagamento.
Utilizado em fluxos onde a autorização e a captura são etapas separadas — a autorização ocorre no checkout e a captura é feita manualmente, ex: após separação do pedido.
Aceita até 100 pagamentos por requisição.
🔐 Permissão
UserAuth— autenticação do usuário administrativoTRANSACTIONS_READ— escopo de permissão para leitura de transações financeiras e pagamentosORDER_WRITE— escopo de permissão para operações de escrita em pedidos
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
Content-Type | application/json | Tipo do conteúdo |
📦 Parâmetros do Corpo
| Campo | Obrigatório | Descrição |
|---|---|---|
payments | ✅ Sim | Lista de pagamentos a capturar — máximo 100 |
payments[].orderPaymentId | ✅ Sim | ID do pagamento (OrderPayment.id) |
payments[].value | ✅ Sim | Valor a capturar — pode ser parcial ou total |
1{2 "payments": [3 { "orderPaymentId": 76, "value": 337.40 },4 { "orderPaymentId": 78, "value": 150.00 }5 ]6}💡 Exemplo de Requisição
1curl --request PUT \2 --url '{{MAIN_URL}}/orders/payments/capture' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "payments": [7 { "orderPaymentId": 76, "value": 337.40 }8 ]9 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": [4 {5 "orderPaymentId": 76,6 "currentStatus": "approved",7 "error": null8 }9 ]10}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
Erros por Pagamento (campo error)
| Código do Erro | Descrição |
|---|---|
UAPPI_STORE_ORDER_PAYMENT_NOT_FOUND | ❌ Pagamento não encontrado com o ID informado |
UAPPI_STORE_ORDER_PAYMENT_INVALID_STATUS | ❌ Status atual do pagamento não permite captura — somente pagamentos pré-autorizados podem ser capturados |
UAPPI_STORE_ORDER_PAYMENT_INTEGRATION_ERROR | ❌ Erro na integração — a operadora retornou uma falha ao tentar capturar o pagamento |
🔍 Consulta de Pagamentos de Pedido
/orders/payments/consult
Consulta e atualiza o status dos pagamentos diretamente na operadora
📋 Descrição
Endpoint responsável por consultar o status atualizado dos pagamentos diretamente na operadora e atualizar os registros da plataforma com o resultado.
Útil para sincronizar o status de pagamentos que podem ter mudado externamente — ex: aprovação automática após confirmação bancária.
Aceita até 100 pagamentos por requisição.
🔐 Permissão
UserAuth— autenticação do usuário administrativoTRANSACTIONS_READ— escopo de permissão para leitura de transações financeiras e pagamentosORDER_WRITE— escopo de permissão para operações de escrita em pedidos
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
Content-Type | application/json | Tipo do conteúdo |
📦 Parâmetros do Corpo
| Campo | Obrigatório | Descrição |
|---|---|---|
payments | ✅ Sim | Lista de pagamentos a consultar — máximo 100 |
payments[].orderPaymentId | ✅ Sim | ID do pagamento (OrderPayment.id) |
1{2 "payments": [3 { "orderPaymentId": 76 },4 { "orderPaymentId": 77 }5 ]6}💡 Exemplo de Requisição
1curl --request PUT \2 --url '{{MAIN_URL}}/orders/payments/consult' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "payments": [7 { "orderPaymentId": 76 }8 ]9 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
Retorna um resultado por pagamento. Pagamentos com falha na consulta terão error preenchido.
1{2 "status": true,3 "data": [4 {5 "orderPaymentId": 76,6 "currentStatus": "approved",7 "error": null8 },9 {10 "orderPaymentId": 77,11 "currentStatus": null,12 "error": "UAPPI_STORE_ORDER_PAYMENT_NOT_FOUND"13 }14 ]15}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
Erros por Pagamento (campo error)
| Código do Erro | Descrição |
|---|---|
UAPPI_STORE_ORDER_PAYMENT_NOT_FOUND | ❌ Pagamento não encontrado com o ID informado |
UAPPI_STORE_ORDER_PAYMENT_INVALID_STATUS | ❌ Status atual do pagamento não permite consulta na operadora |
UAPPI_STORE_ORDER_PAYMENT_INTEGRATION_ERROR | ❌ Erro na integração — a operadora retornou uma falha ao consultar o pagamento |
📄 Logs de Erro de Pagamento
/orders/payments/logs
Lista os logs de erro gerados durante operações de pagamento
📋 Descrição
Endpoint responsável por listar os logs de erro registrados durante operações de pagamento — capturas, cancelamentos, consultas e webhooks que resultaram em falha.
Útil para diagnóstico e auditoria de transações com problema, permitindo identificar a causa do erro e o contexto da operação.
🔐 Permissão
UserAuth— autenticação do usuário administrativoTRANSACTIONS_READ— escopo de permissão para leitura de transações financeiras e pagamentosPAYMENT_ERROR_READ— escopo de permissão para leitura de logs de erro de pagamento
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
💡 Exemplo de Requisição
1curl --request GET \2 --url '{{MAIN_URL}}/orders/payments/logs' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": {4 "registers": [5 {6 "id": 12,7 "orderPaymentId": 76,8 "origin": "capture",9 "errorCode": "GATEWAY_TIMEOUT",10 "message": "The gateway did not respond in time.",11 "createdAt": "2026-04-10 14:32:01"12 }13 ],14 "pagination": {15 "limit": 10,16 "offset": 0,17 "pages": 2,18 "registers": 1519 }20 }21}📊 Campos da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | integer | ID do log de erro |
orderPaymentId | integer | ID do pagamento vinculado ao log |
origin | string | Origem da operação que gerou o erro — ex: capture, cancel, consult, webhook |
errorCode | string | Código de erro retornado pela operadora |
message | string | Mensagem descritiva do erro |
createdAt | string | Data e hora do registro |
⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
Este endpoint não possui erros de aplicação específicos além da autenticação.
🔎 Detalhe de Log de Erro de Pagamento
/orders/payments/logs/{paymentLogId}
Retorna o detalhe completo de um log de erro de pagamento
📋 Descrição
Endpoint responsável por retornar o detalhe completo de um log de erro de pagamento, incluindo o payload enviado e a resposta recebida da operadora.
Útil para diagnóstico aprofundado de falhas em transações.
🔐 Permissão
UserAuth— autenticação do usuário administrativoTRANSACTIONS_READ— escopo de permissão para leitura de transações financeiras e pagamentosPAYMENT_ERROR_READ— escopo de permissão para leitura de logs de erro de pagamento
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
🔗 Parâmetros de URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
paymentLogId | integer | ✅ Sim | ID do log de erro a ser consultado |
💡 Exemplo de Requisição
1curl --request GET \2 --url '{{MAIN_URL}}/orders/payments/logs/12' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": {4 "id": 12,5 "orderPaymentId": 76,6 "origin": "capture",7 "errorCode": "GATEWAY_TIMEOUT",8 "message": "The gateway did not respond in time.",9 "request": { "amount": 33740, "currency": "BRL" },10 "response": { "error": "timeout", "code": 408 },11 "createdAt": "2026-04-10 14:32:01"12 }13}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
| Código do Erro | HTTP | Descrição |
|---|---|---|
UAPPI_STORE_PAYMENT_LOG_NOT_FOUND | 404 | Log de pagamento não encontrado com o ID informado |