curl --request GET \
--url https://api.sandbox.z2pay.com/v1/refunds \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.z2pay.com/v1/refunds', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/refunds"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "rfd_j3cpkaysqmix17mxhcmv8qypl",
"transactionId": "txn_aqbcw2lky42xfidw5pcdss8h1",
"paymentId": "pay_jxt9b5qv1x0h0h8ustleqjgr8",
"amount": 14990,
"currency": "BRL",
"status": "pending",
"reason": "Cliente solicitou cancelamento da compra",
"requestedByType": "api",
"paymentMethod": "credit_card",
"customerId": "cust_lhsmn6ugmjotm5qvnunrr2hz1",
"customerName": "Maria Silva",
"customerEmail": "maria.silva@example.com",
"customerDocument": "12345678909",
"customerDocumentType": "cpf",
"additionalInfo": {
"checkoutLinkId": "chk_byd8p3p79re859jpkmr0j65n3"
},
"failureReason": null,
"reviewedAt": null,
"refundedAt": null,
"createdAt": "2025-06-29T13:45:30.000Z",
"updatedAt": "2025-06-29T13:45:30.000Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 1,
"totalPages": 1
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"issues": [
{
"path": "status",
"message": "Status inválido. Valores aceitos: pending, waiting_payment, paid, refused, canceled, refunded"
},
{
"path": "startDate",
"message": "Data deve ser ISO 8601 com timezone (ex.: 2026-06-24T00:00:00Z)"
}
]
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}Listar reembolsos
Lista paginada dos reembolsos da conta, com filtros por etapa, transação, pagamento, forma de pagamento e período.
curl --request GET \
--url https://api.sandbox.z2pay.com/v1/refunds \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.z2pay.com/v1/refunds', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/refunds"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "rfd_j3cpkaysqmix17mxhcmv8qypl",
"transactionId": "txn_aqbcw2lky42xfidw5pcdss8h1",
"paymentId": "pay_jxt9b5qv1x0h0h8ustleqjgr8",
"amount": 14990,
"currency": "BRL",
"status": "pending",
"reason": "Cliente solicitou cancelamento da compra",
"requestedByType": "api",
"paymentMethod": "credit_card",
"customerId": "cust_lhsmn6ugmjotm5qvnunrr2hz1",
"customerName": "Maria Silva",
"customerEmail": "maria.silva@example.com",
"customerDocument": "12345678909",
"customerDocumentType": "cpf",
"additionalInfo": {
"checkoutLinkId": "chk_byd8p3p79re859jpkmr0j65n3"
},
"failureReason": null,
"reviewedAt": null,
"refundedAt": null,
"createdAt": "2025-06-29T13:45:30.000Z",
"updatedAt": "2025-06-29T13:45:30.000Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 1,
"totalPages": 1
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"issues": [
{
"path": "status",
"message": "Status inválido. Valores aceitos: pending, waiting_payment, paid, refused, canceled, refunded"
},
{
"path": "startDate",
"message": "Data deve ser ISO 8601 com timezone (ex.: 2026-06-24T00:00:00Z)"
}
]
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}GET /refunds
Faz parte do recurso Reembolsos — o objeto, os status e o ciclo estão lá.
Retorna uma lista paginada de todos os reembolsos da conta. Todos os filtros são opcionais e podem
ser combinados. As datas seguem ISO 8601 com timezone (veja Convenções).
?status=xpto responde 400 com
error.issues[] apontando o campo e os valores aceitos.O formato do erro e a lista de códigos estão em Erros.status e paymentMethod aceitam uma lista separada por
vírgula, e o resultado traz qualquer reembolso que case com um dos valores. Ex.:
?status=pending,approved&paymentMethod=boleto,pix.dateField decide sobre qual data o período incide. Com createdAt (o padrão) você pergunta
“o que foi pedido neste mês”; com refundedAt, “quando o dinheiro efetivamente voltou”. A segunda
é a que fecha com o extrato — um reembolso pedido em junho e liquidado em julho aparece em meses
diferentes conforme a escolha.?dateField=refundedAt&startDate=2026-07-01T00:00:00-03:00&endDate=2026-07-31T23:59:59-03:00
?transactionId= e
?paymentId= fazem correspondência exata, e aceitam etapa, período e ordenação na mesma
consulta — ?transactionId=txn_123&status=refunded&dateField=refundedAt.Exemplo
curl -G https://api.sandbox.z2pay.com/v1/refunds \
-H "x-api-key: SUA_CHAVE_DE_SANDBOX" \
--data-urlencode "status=refunded" \
--data-urlencode "dateField=refundedAt" \
--data-urlencode "startDate=2026-06-01T00:00:00-03:00" \
--data-urlencode "endDate=2026-06-30T23:59:59-03:00" \
--data-urlencode "sortDir=desc" \
--data-urlencode "limit=10"
{
"data": [
{
"id": "rfd_j3cpkaysqmix17mxhcmv8qypl",
"transactionId": "txn_aqbcw2lky42xfidw5pcdss8h1",
"paymentId": "pay_jxt9b5qv1x0h0h8ustleqjgr8",
"amount": 14990,
"currency": "BRL",
"status": "refunded",
"reason": "Cliente solicitou cancelamento da compra",
"requestedByType": "api",
"paymentMethod": "credit_card",
"customerId": "cust_lhsmn6ugmjotm5qvnunrr2hz1",
"customerName": "Maria Silva",
"customerEmail": "maria.silva@example.com",
"customerDocument": "12345678909",
"customerDocumentType": "cpf",
"additionalInfo": {
"checkoutLinkId": "chk_byd8p3p79re859jpkmr0j65n3"
},
"failureReason": null,
"reviewedAt": "2026-06-29T14:10:00.000Z",
"refundedAt": "2026-06-29T14:12:45.000Z",
"createdAt": "2026-06-29T13:45:30.000Z",
"updatedAt": "2026-06-29T14:12:45.000Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 1,
"totalPages": 1
}
}
Authorizations
API Key da Credential (gerada no Backoffice)
Query Parameters
Retorna os reembolsos desta transação. Correspondência exata.
Retorna os reembolsos deste pagamento. Correspondência exata.
Forma de pagamento estornada: credit_card, debit_card, boleto ou pix. Aceita vários separados por vírgula.
credit_card, debit_card, boleto, pix Etapa do reembolso. Aceita vários separados por vírgula. Valores: pending, approved, processing, refunded, refused, failed, awaiting_bank_details, bank_details_received, invalid_bank_details, ted_processing.
pending, approved, processing, refunded, refused, failed, awaiting_bank_details, bank_details_received, invalid_bank_details, ted_processing Início do período (ISO 8601 com timezone), inclusive. Aplica-se ao dateField.
Fim do período (ISO 8601 com timezone), inclusive. Aplica-se ao dateField.
Campo a que startDate e endDate se aplicam: createdAt (pedido) ou refundedAt (dinheiro devolvido). Default: createdAt.
createdAt, refundedAt Campo de ordenação: createdAt (pedido) ou refundedAt (dinheiro devolvido). Default: createdAt.
createdAt, refundedAt Direção da ordenação: asc ou desc. Default: desc.
asc, desc Número da página a retornar.
x > 0Quantidade de itens por página.
0 < x <= 100