curl --request GET \
--url https://api.sandbox.z2pay.com/v1/wallets/owner/{ownerId}/summary \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.z2pay.com/v1/wallets/owner/{ownerId}/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/wallets/owner/{ownerId}/summary"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"recipientId": "rec_t8wq4hz2mxk9rpf5snc7ydv3b",
"data": [
{
"currency": "BRL",
"byType": [
{
"type": "sale",
"total": 1800000,
"credits": 1800000,
"debits": 0,
"count": 42
},
{
"type": "fee",
"total": -90000,
"credits": 0,
"debits": -90000,
"count": 42
},
{
"type": "refund",
"total": -120000,
"credits": 0,
"debits": -120000,
"count": 3
},
{
"type": "withdrawal",
"total": -500000,
"credits": 0,
"debits": -500000,
"count": 2
}
],
"totalCredits": 1800000,
"totalDebits": -710000,
"net": 1090000
}
]
}{
"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"
}
}Resumo do extrato por período
Totais do extrato agrupados por moeda e por natureza do lançamento.
curl --request GET \
--url https://api.sandbox.z2pay.com/v1/wallets/owner/{ownerId}/summary \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.z2pay.com/v1/wallets/owner/{ownerId}/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/wallets/owner/{ownerId}/summary"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"recipientId": "rec_t8wq4hz2mxk9rpf5snc7ydv3b",
"data": [
{
"currency": "BRL",
"byType": [
{
"type": "sale",
"total": 1800000,
"credits": 1800000,
"debits": 0,
"count": 42
},
{
"type": "fee",
"total": -90000,
"credits": 0,
"debits": -90000,
"count": 42
},
{
"type": "refund",
"total": -120000,
"credits": 0,
"debits": -120000,
"count": 3
},
{
"type": "withdrawal",
"total": -500000,
"credits": 0,
"debits": -500000,
"count": 2
}
],
"totalCredits": 1800000,
"totalDebits": -710000,
"net": 1090000
}
]
}{
"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 /wallets/owner/:ownerId/summary
Faz parte do recurso Carteiras — o modelo de saldo e liberação está lá.
Devolve, para cada moeda, quanto entrou e quanto saiu em cada tipo de lançamento no período. É a
leitura de fechamento: responde “de onde veio e para onde foi”, sem percorrer o
extrato linha a linha.
total já vem com sinal. Entradas são positivas e saídas negativas — taxa, estorno e saque
aparecem com valor negativo. Somar os total de todos os tipos dá o resultado líquido do período;
somar os valores absolutos não dá nada.credits e debits separam os dois sentidos dentro do mesmo tipo, e count diz quantos
lançamentos entraram na conta. Um tipo com credits e debits preenchidos teve movimento nos
dois sentidos no período./balance. Um período fechado com net positivo pode
conviver com saldo disponível zero, se o dinheiro já foi sacado.startDate e endDate em ISO 8601 com fuso. Sem eles, o resumo cobre todo o histórico.Exemplo
curl -G https://api.sandbox.z2pay.com/v1/wallets/owner/rec_v57bi6ruyolouw3cpaq2ofy1k/summary \
-H "x-api-key: SUA_CHAVE_DE_SANDBOX" \
-d startDate=2026-08-01T00:00:00-03:00 \
-d endDate=2026-08-31T23:59:59-03:00
{
"recipientId": "rec_v57bi6ruyolouw3cpaq2ofy1k",
"data": [
{
"currency": "BRL",
"byType": [
{ "type": "sale", "total": 1800000, "credits": 1800000, "debits": 0, "count": 42 },
{ "type": "fee", "total": -90000, "credits": 0, "debits": -90000, "count": 42 },
{ "type": "refund", "total": -120000, "credits": 0, "debits": -120000, "count": 3 },
{ "type": "withdrawal", "total": -500000, "credits": 0, "debits": -500000, "count": 2 }
]
}
]
}
1090000 — R$ 10.900,00 — somando os quatro total.Authorizations
API Key da Credential (gerada no Backoffice)
Path Parameters
ID do recebedor
Query Parameters
Natureza do lançamento: sale, refund, chargeback, chargeback_reversal, pending_refund, pending_refund_reversal, anticipation, fee, withdrawal, adjustment, manual ou transfer. Aceita vários valores separados por vírgula e tem precedência sobre type.
sale, refund, chargeback, chargeback_reversal, pending_refund, pending_refund_reversal, anticipation, fee, withdrawal, adjustment, manual, transfer Direção do lançamento: credit (entrada) ou debit (saída). Débitos vêm com amount negativo — o sinal e o flow contam a mesma coisa.
credit, debit Origem do lançamento: psp_import (recebido do adquirente), platform_calc (calculado na liquidação) ou manual (ajuste lançado por um operador).
psp_import, platform_calc, manual Moeda no padrão ISO 4217 (ex.: BRL). Um valor por requisição.
Disponibilidade do valor: released (já disponível para saque) ou pending (ainda a liberar).
released, pending Traz lançamentos criados a partir deste instante (ISO 8601 com timezone), inclusive.
Traz lançamentos criados até este instante (ISO 8601 com timezone), inclusive.
Retorna os lançamentos originados desta transação (txn_). Correspondência exata — útil para reconstruir venda, taxas e estornos de um mesmo pedido.
1