PSP FISERV - API Pix

Este documento tem o intuito de explicar a API de Pix Fiserv para facilitar a integração com os parceiros para as operações envolvendo clientes, contas, cobranças e pagamentos via Pix. As principais funcionalidades incluem:

  • Autenticação: Obtenção de token para todas as operações
  • Gestão de Clientes: Adicione, atualize, consulte e delete clientes
  • Gestão de Contas: Adicione, atualize, consulte e delete contas.
  • Geração de Cobranças Pix: Crie cobranças Pix de forma eficiente e segura, permitindo que seus clientes realizem pagamentos via Pix.
  • Consulta de Pagamentos Pix: Consulte status e detalhes de pagamentos realizados via Pix para maior controle e transparência.
  • Devolução: Realize devolução de pagamentos via Pix de maneira eficiente, assegurando a satisfação dos seus clientes.
  • Liquidação: Saída dos valores obtidos de forma automática ou manual.
  • Gestão de Webhooks: Registre webhooks para receber notificações automáticas sobre eventos importantes como cadastro de cliente e confirmações de transações.
  • Relatórios: Gere relatórios detalhados das transações Pix e das liquidações, facilitando a conciliação e acompanhamento das operações

¹ KYC - "Know your Customer" processo de validação do cliente


Ambientes#

Produção

https://connect.latam.fiservapis.com/gateway

Testes

https://connect-cert.latam.fiservapis.com/gateway


Conteúdo#

📍Autenticação#

📍Gestão de Webhooks#

            🔻Callbacks#

📍Cadastro de clientes#

📍Cadastro de contas#

📍Transações#

📍Cash-out#

📍Relatórios#

📍Informações adicionais#

        🔻Objeto padrão de erros#
        🔻Header padrão#
        🔻Cálculo do HMAC#
        🔻Para Testes#

#

Autenticação#

🔒 /token#

POST#

Endpoint de geração de Token de autenticação, necessário para todas as chamadas. Obtenha o token de autenticação através de um client_secret e client_id, envie através de application/x-www-form-urlencoded e utilize o token Bearer nas requisições subsequentes.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
Exemplo de Request#

application/x-www-form-urlencoded

CampoValor
client_iduser1234
client_secretuserPassword@123
Responses#
CódigoDescrição
200Retorna o token de acesso e as informações de expiração
Exemplo de Response#
{
"access_token": "your-access-token",
"expires_in": 300
}

#

Webhook#

/v1/webhook#

Configura (cria) o webhook do integrador para recebimento de notificações de cadastro de cliente, pagamento e devolução de cobranças. Aqui deve ser informado url do endpoint que fica do lado do integrador; este endpoint receberá notificações quando alguma da etapa assincrona for concluída. Os exemplos de Callback estão descrito mais abaixo.

⚠️ ATENÇÃO: Para que a URL possa ser utilizada, é necessário solicitar ao time Fiserv, por ser necessário liberar a URL no proxy.

PUT#

Configurar o Webhook do Integrador, que é a URL do endpoint que irá receber a notificação.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
webhookUrlbodyURL que será chamada no callbacksimstring
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)

Exemplo de Request#

{
"webhookUrl": "https://pix.example.com/api/webhook/"
}
Responses#
CódigoDescrição
204Webhook que notificará o integrador
400Requisição com formato inválido
503Serviço indisponível

GET#

Exibe a URL de Webhook do Integrador, lembrando que ela só irá receber callbacks se estiver liberada pelo time da Fiserv.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
Responses#
CódigoDescrição
200Dados do Webhook
503Serviço indisponível
Exemplo de Response#
{
"webhookUrl": "https://pix.example.com/api/webhook/"
}

DELETE#

Exclui a URL do Webhook do Integrador, que não receberá mais notificações de processos assíncronos após a exclusão. Só será possível voltar a receber notificação se cadastrar uma nova URL e solicitar a liberação ao time da Fiserv

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
Responses#
CódigoDescrição
204Webhook para notificações do Pix cancelado
503Serviço indisponível

#

CALLBACKS#

Cliente#
POST /client#

Após o cadastro do cliente, acontece o processo de KYC de forma assíncrona, ao ser finalizado, a URL cadastrada no para o webhook receberá a notificação abaixo:

{
"protocolId":"347acdf2-7b01-4191-acff-36bd23639e43",
"externalProtocolId":"8dd562ee4a7a",
"omniClientId":"f932d207-573c-439c-b444-6ca26afff066",
"document":{
"type":"CNPJ",
"number":"60664745000187"
},
"status":"DONE",
"errors ":[ {
"code":"FEP_123",
"message":"string"
}
]
}

⚠️ Por se tratar de ambiente de testes, o KYC tem regras de aprovação/reprovação diferentes do ambiente produtivo, por tanto se faz necessário enviar ao time da Fiserv o(s) CNPJ(s) já aprovados no KYC para facilitar o desenvolvimento.

⚠️ Quando Status = DONE, indica que o processamento foi finalizado; o status final do KYC e a consulta de cliente pode ser realizada. status e kycStatus são diferentes. O primeiro indica o status do processamento, enquanto o segundo indica o status de aprovação.

Transações#
POST /v1/apm/pix/charges#

Após a finalização da transação de cobrança, a URL cadastrada no webhook recebe a notificação abaixo:

{
"Pix": {
"endToEndId":"D13207930202410252046wrzeq7wrQZ8",
"txid":"D13207930202410252034KgylGnIt2T3",
"chave":"ac2ce947-fa51-4dd1-a4f9-52181bcc971f",
"Status":1,
"OperationType":2
}
}
CampoTipoDescrição
Pix.endToEndIdstringEnd to End da confirmação de pagamento
Pix.txidstringId da transação
Pix.chavestringChave Pix da conta
Pix.StatusstringStatus da Transação Valores possíveis : 0-ATIVA/PENDENTE;1 - CONCLUIDA/CONFIRMADO; 2 -CANCELADO
Pix.OperationTypestringTransaction Type (0 – Charge, 1- Refund, 2 – Reverse, 7 - Manual Payment Order)
PUT /v1/apm/pix/{endToEndId}/reverse/{txid} .#

Após a finalização da transação de devolução, a URL cadastrada no webhook recebe a notificação abaixo:

{
"Pix": {
"endToEndId":"D13207930202410252046wrzeq7wrQZ8",
"txid":"D13207930202410252034KgylGnIt2T3",
"chave":"ac2ce947-fa51-4dd1-a4f9-52181bcc971f",
"Status":1,
"OperationType":2
}
}
CampoTipoDescrição
Pix.endToEndIdstringEnd to End da confirmação de pagamento
Pix.txidstringId da transação
Pix.chavestringChave Pix da conta
Pix.StatusstringStatus da Transação Faltou o status: Valores possíveis : 0-PENDENTE;1 - CONFIRMADO; 2 - CANCELADO
Pix.OperationTypestringTransaction Type (0 – Charge, 1- Refund, 2 – Reverse, 7 - Manual Payment Order)

Cash-out#

POST /v2/apm/pix/cashout#

Após a solicitação de um cashout, a URL cadastrada no webhook recebe a notificação abaixo:

{
"pix": [
{
"txid": "bec7e05d-484e-4814-a432-dde637f84408",
"endToEndId": null,
"createdAt": "2025-01-16 09:33:01.573Z",
"confirmedAt": "2025-01-16 09:33:01.573Z",
"pixKey": "883f75da-1f69-48c4-9444-c32b4bcb3553",
"receiverDocument": "3626416467",
"receiverPixKey": "pix-key-receiver@mail.com",
"amount": 99.99,
"confirmationKey": "4826e6ec-9bd2-4045-b030-f10e519d584a",
"status": 2,
"operationType": 7
}
]
}
CampoTipoDescrição
Pix.txidstringId da transação
Pix.endToEndIdstringEnd to End da confirmação de pagamento; sempre será nulo até a confirmação do saque
Pix.createdAtDateTime (ISO 8601)Data e hora da solicitação
Pix.confirmedAtDateTime (ISO 8601)Data e hora da confirmação
Pix.pixKeystringChave Pix da conta Fiserv (origem)
Pix.receiverDocumentstringDocumento da conta destino
Pix.receiverPixKeystringChave Pix da conta destino
Pix.amountdecimalValor do cash-out
Pix.confirmationKeystringChave aleatória para a confirmação do saque
Pix.StatusstringStatus da Transação Faltou o status: Valores possíveis : 0-ATIVA/PENDENTE;1 - CONCLUIDA/CCONFIRMADA; 2 - REMOVIDA_PELO_USUARIO_RECEBEDOR/CANCELADO
Pix.OperationTypestringTransaction Type (0 – Charge, 1- Refund, 2 – Reverse, 7 - Manual Payment Order)
Callback de Cashout ocorre em duas etapas conforme descritas abaixo:#

⚠️ Após solicitar uma operação de saque, algumas validações serão realizadas de forma assíncrona, e a solicitação ainda pode ser negada. O resultado dessa validação, juntamente com a chave de confirmação necessária para a solicitação de confirmação, serão enviados ao webhook.

⚠️ Uma vez que a chave de confirmação é recebida da notificação, a solicitação de confirmação (/cashout/confirm) deve ser chamada para confirmar o saque. Após a confirmação, o saque ainda pode falhar em alguns cenários, portanto, uma nova notificação será enviada para o webhook configurado para informar se o saque foi concluído com sucesso (status 1). O payload de confirmação tem a mesma estrutura que o payload da solicitação de saque, a única diferença principal será no "status" e no "confirmed_at" preenchido.


Client#

#

/v1/client#

#

POST#

Adiciona um cliente.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
address.citybodyCidade do clientesimstring
address.countrybodyPaís do cliente (ISO 3166-1 alpha-2)simstring
address.localitybodyDistrito, colônia, vila ou bairro do clientesimstring
address.numberbodyNúmero do endereço do clientenãostring
address.postalCodebodyCEP do clientesimstring
address.provincebodyEstado do cliente (ISO 3166-2 standard)simstring
address.streetbodyLogradouro do clientesimstring
address.subNumberbodyComplemento do endereçonãostring
document.numberbodyNúmero do Documentosimstring
document.typebodyTipo do documento. Valores possíveis: CNPJsimenum
contact.emailbodyE-mail do clientesimstring
contact.phonebodyNúmero de Telefone do clientesimstring
legalNamebodyRazão social do clientesimstring
tradeNamebodyNome fantasiasimstring
averageTicketbodyTicket médiosimint
Exemplo de Request#
{
"address": {
"city": "string",
"country": "str",
"locality": "string",
"number": "153",
"postalCode": "string",
"province": "string",
"street": "string",
"subNumber": "string"
},
"document": {
"number": "60.664.745/0001-87",
"type": "CNPJ"
},
"contact": {
"email": "user@example.com",
"phone": "string"
},
"legalName": "Fiserv Inc",
"tradeName": "Fiserv",
"averageTicket": 100.00
}
Responses#
NomeDescriçãoTipo
clientIdIdentificador único do clientestring
protocolIdProtocolo da requisiçãostring

⚠️ Se houver um webhook cadastrado, e liberado pela Fiserv, após a conclusão do processo de KYC do cliente, é enviada uma notificação no endereço cadastrado , com o status do processamento e o protocolId.

Exemplo de Response#
{
"clientId": "bb41c1e6-654f-4263-83f4-36e37678f548",
"protocolId": "Request protocol"
}
CódigoDescrição
200OK
400Bad Request
403Forbidden
404Not Found
500Internal Server Error
503Service Unavailable
504Gateway Timeout

/v1/client/{clientId}#

#

GET#

Localiza os detalhes do cliente.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
clientIdpathClientId do cliente (disponibilizado ao adicionar um novo cliente)simstring
Exemplo de response#
{
"kycStatus": "Approved"
}

O KycSytatus pode ser um dos seguintes:
🔸 APPROVED
🔸 PENDING
🔸 PROCESSING
🔸 REFUSED
🔸 ERROR

⚠️ Somente o status APPROVED permite a continuação do processo de credenciamento e a criação de uma Conta Pix

Responses#
CódigoDescrição
200OK
400Bad Request
403Forbidden
404Not Found
500Internal Server Error
503Service Unavailable
504Gateway Timeout

Pix Account#

Informações gerais sobre a gestão de contas#

pixFee#

Pix fee, ou taxa do Pix, é a taxa que é cobrada a cada transação realizada. Ela pode ser do tipo valor fixo (amount) ou MDR - Merchant Discount Rate (percentage) quando o modelo comercial for comissionamento. Ou não possui valor nenhum quando o modelo comercial for faturamento.

Exemplo modelo comercial comissionamento com valor fixo#

Taxa cadastrada para conta: R$ 0,85

Cobrança realizada: R$ 30,00

Taxa na cobranca: R$ 0,85

Valor líquido: R$ 29,15

Exemplo modelo comercial comissionamento com valor MDR#

Taxa cadastrada para conta: 1%

Cobrança realizada: R$ 22,00

Taxa na cobranca: R$ 0,22

Valor líquido: R$ 21,78

Para utilizar taxa zerada, utilizar fee.amount = 0


/v1/client/{clientId}/apm/pix/account#

#

POST#

Adiciona uma conta Pix.

Parâmetros#
CampoLocalizado emTipoObrigatórioDescrição
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
Authorizationheaderstring (bearerToken)simBearer Token usado para autenticação
clientIdpathstringsimClient Id
namebodystringnãonome da conta, se não informado assume valor default
Settlement.pixKeybodystringsimSomente a chave domicílio ou os dados da conta devem ser informados, nunca ambos
Settlement.bankAccount.typebodyintegersim(enum) 0. Conta Corrente, 1. Conta Depósito 2. Conta de Pagamento 3. Poupança
Settlement.bankAccount.BankCompeCodebodystringsimCódigo COMPE (Sistema de Compensação de Cheques e Outros Papéis)
Settlement.bankAccount.agencybodystringsimNúmero da agência
Settlement.bankAccount.accountNumberbodystringsimNúmero da Conta
Settlement.bankAccount.document.numberbodystringsimCNPJ da conta. Deve ter a mesma raiz do CNPJ cadastrado
Settlement.bankAccount.document.typebodystringsimInformar sempre “CNPJ”
Settlement.holdSettlementbodyboolnãoIndicador para manter dinheiro da cobrança na conta sem liquidar, ou liquidar.(Para alterar por transação verificar endpoint holdSettlement)
pixFee.amountbodydecimalnãoNão pode ser maior que 0 se a porcentagem for informada
pixFee.percentagebodydecimalnãoNão pode ser maior que 0 se o valor for informado
pixFee.minbodydecimalnãoPode ser zero; Não pode ser negativo
pixFee.maxbodydecimalnãoSó pode ser enviado caso exista o min; Não pode ser zero; Não pode ser negativo Nunca poderá ser menor ou igual ao min
userTermsAccept.number.numberbodystringsimCPF da pessoa que está realizando o aceite
userTermsAccept.document.typebodystringsimTipo do documento. Sempre “CPF”
userTermsAccept.ipbodystringsimIP da máquina que deu o termo de aceite
hasAutomaticSettlementbodybooleansimIndicador que realiza liquidação dos valores automaticamente
Exemplo de Request#
{
"name" : "account name",
"settlement": {
"pixKey": "26770318000145",
"bankAccount": {
"accountNumber": "12345-1",
"agency": "1234",
"bankCompeCode": "341",
"document": {
"number": "60.664.745/0001-87",
"type": "CNPJ"
},
"type": 1
},
"holdSettlement": true
},
"pixFee": {
"amount": 0,
"percentage": 2,
"max": 0,
"min": 0
},
"userTermsAccept": {
"document": {
"number": "631.313.010-31",
"type": "CPF"
},
"ip": "198.51.100.42"
},
"hasAutomaticSettlement": true
}
Exemplo de Response#
{
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd",
"pspClientId": "7a2a1ed1-aa51-4a71-9b18-0ba6f6bcfee1",
"pspClientSecret": "2ccd83fc-34ba-4a21-97ca-bef027cc2c70"
}
Responses#
CódigoDescrição
200OK
400Bad Request
401Unauthorized
422Client Error
500Server Error
Possíveis erros:#
Código de erroErro
154A taxa deve ter um único valor
158Conta não encontrada.
161A conta não está ativa
162A chave PixKey deve ser diferente da chave AddressPixKey
169A conta domicílio informada é inválida
170A conta domicílio é obrigatória
171Não é possível informar duas contas domicílio
174O CNPJ da conta de liquidação é inválido
176Não é possível alterar as informações para liquidação desta conta
177Não é possível alterar a taxa desta conta
178O código ISPB ou o código COMPE deve ser preenchido.
187A taxa máxima deve ser maior que a taxa mínima.
188A taxa mínima deve ser informada devido à taxa máxima ter sido informada.
189A taxa mínima deve ser maior ou igual a zero.
190A taxa máxima deve ser maior que zero.
191A taxa mínima e máxima só devem ser informadas em caso de taxa MDR.

/v1/client/{clientId}/apm/pix/account/{pixKey} .#

GET#

Consulta uma conta com base na chave PIX.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
clientIdpathIdentificador do clientesimstring
pixKeypathChave PIX da contasimstring
Response#
CampoTipoObservações
namestringRazão Social da conta
documentNumberstringCNPJ da conta
pixKeystringChave Pix da conta. Utilizado para geração de cobranças
statusintStatus da conta
settlementobjetoDados de liquidação
settlement.pixKeystringChave pix da conta domicílio, ou seja, a conta para recebimento dos valores referentes às cobranças
settlement.bankAccountobjetoDados bancários da conta domicílio, ou seja, a conta para recebimento dos valores referentes às cobranças
settlement.bankAccount.accountNumberstringNúmero da conta
settlement.bankAccount.agencystringAgencia da conta
settlement.bankAccount.bankCompeCodestringCódigo de três dígios do Sistema de Compensação bancária. COMPE
settlement.bankAccount.typestringTipo da conta
settlement.bankAccount.documentobjetoDados do documento
settlement.bankAccount.document.numberstringNúmero do documento
settlement.bankAccount.document.typestringTipo do documento.
settlement.bankAccount.holdSettlementbooleanIndica se as cobranças nascem travadas e não devem ser liquidadas.
pixFee.objetoInformação sobre taxas
pixFee.amountdecimalTxa fixa
pixFee.percentagedecimalTaxa percentual
pixFee.maxdecimalTaxa máxima
pixFee.mindecimalTaxa mínima
hasAutomaticSettlementbooleanIndicador se a conta transfere os valores automáticamente uma vez ao dia para a conta domicílio.
pspClientIdstringClient id da conta no PSP
pspClientSecretstringClient secret da conta no PSP
Exemplo de Response#
{
"name": "Store Nome",
"documentNumber": "40486138000167",
"pixKey": "d60e6246-4885-471f-bab7-a3482f48d68b",
"status": 1,
"settlement": {
"pixKey": "26770318000145",
"bankAccount": {
"accountNumber": "12345-1",
"agency": "1234",
"bankCompeCode": "341",
"document": {
"number": "60.664.745/0001-87",
"type": "CNPJ"
},
"type": 1
},
"holdSettlement": true
},
"pixFee": {
"amount": 0,
"percentage": 2,
"max": 0,
"min": 0
},
"hasAutomaticSettlement": true,
"pspClientId": "7a2a1ed1-aa51-4a71-9b18-0ba6f6bcfee1",
"pspClientSecret": "2ccd83fc-34ba-4a21-97ca-bef027cc2c70"
}
Responses#
CódigoDescrição
200Success
400Bad Request
401Unauthorized
422Client Erro
500Server Erro

⚠️ Todos os dias de durante a madrugada ocorre a liquidação automática dos valores para as contas que tem o HasAutomaticSettlemnt = true. Para casos onde o valor está "false" o resgate de valores da conta ocorre de forma manual via os endpoints de Cash-out

/v1/client/{clientId}/apm/pix/account/{pixKey} .#

PUT#

Altera uma conta Pix.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
clientIdpathIdentificador do clientesimstring
pixKeypathChave Pix da conta a ser atualizadasimstring
settlement.pixKeybodyChave Pix da conta domicílio. Somente a chave ou os dados da conta domicilio devem ser informados, nunca ambossimstring
settlement.holdSettlementbodyIndicador para manter dinheiro da cobrança na conta sem liquidar, ou liquidar.(Para alterar por transação verificar endpoint holdSettlement)simboolean
settlement.bankAccount.typebody0.Conta Corrente; 1.Conta Depósito; 2.Conta de Pagamento; 3.Poupançasimint (enum)
settlement.bankAccount.BankCompeCodebodyCódigo COMPE (Sistema de Compensação de Cheques e Outros Papéis)simstring
settlement.bankAccount.agencybodyAgência bancáriasimstring
settlement.bankAccount.accountNumberbodyNúmero da contasimstring
settlement.bankAccount.cnpjbodyDeve ter a mesma raíz do cnpj cadastradosimint
pixFee.amountbodyNão pode ser maior que 0 se a porcentagem for informadasimint
pixFee.percentagebodyNão pode ser maior que 0 se o valor for informadosimint
pixFee.minbodyPode ser zero, mas não pode ser negativo.simint
pixFee.maxbodySó pode ser enviado caso exista o min; não pode ser zero; não pode ser negativo; nunca poderá ser menor ou igual ao minsimint
hasAutomaticSettlementbodyIndicador se realiza liquidação dos valores automaticamentesimboolean
Exemplo de Request#
{
"name": "Store name",
"settlement": {
"pixKey": "26770318000145",
"bankAccount": {
"accountNumber": "12345-1",
"agency": "1234",
"bankCompeCode": "341",
"document": {
"number": "60.664.745/0001-87",
"type": "CNPJ"
},
"type": 1
},
"holdSettlement": true
},
"pixFee": {
"amount": 0,
"percentage": 2,
"max": 0,
"min": 0
},
"hasAutomaticSettlement": true
}
Responses#
CódigoDescrição
204No Content
400Bad Request
401Unauthorized
422Client Erro
500Server Erro
Possíveis erros#
Código de erroErro
154A taxa deve ter um único valor
158Conta não encontrada.
161A conta não está ativa
162A chave PixKey deve ser diferente da chave AddressPixKey
169A conta domicílio informada é inválida
170A conta domicílio é obrigatória
171Não é possível informar duas contas domicílio
174O CNPJ da conta de liquidação é inválido
176Não é possível alterar as informações para liquidação desta conta
177Não é possível alterar a taxa desta conta
178O código ISPB ou o código COMPE deve ser preenchido.
187A taxa máxima deve ser maior que a taxa mínima.
188A taxa mínima deve ser informada devido à taxa máxima ter sido informada.
189A taxa mínima deve ser maior ou igual a zero.
190A taxa máxima deve ser maior que zero.
191A taxa mínima e máxima só devem ser informadas em caso de taxa MDR.

/v1/client/{clientId}/apm/pix/account/{pixKey} .#

DELETE#

Deleta uma conta pix.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
pixKeypathChave Pix da contasimstring
clientIdpathIdentificador do clientesimstring
Responses#
CódigoDescrição
204No Content
400Bad Request
401Unauthorized
422Client Error
500Server Error

/v2/client/{clientId}/apm/pix/account/balance/{pixKey} .#

GET#

Consulta o saldo da conta por chave pix.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
clientIdpathIdentificador do clientesimstring
pixKeypathChave Pix da contasimstring
Exemplo de Response#
{
"availableBalance": 2500000.42,
"blockedBalance": 500000.18,
"totalBalance": 3000000.6
}
Responses#
CampoTipoObservações
availableBalancedecimalSaldo disponível na conta
blockedBalancedecimalSaldo bloqueado na conta
totalBalancedecimalSaldo total da conta

/v1/client/{clientId}/apm/pix/accounts#

GET#

Consulta contas de um cliente.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
clientIdpathIdentificador do clientesimstring
pagination.currentPagequeryPágina a ser consultadanãoint
pagination.pageSizequeryNúmero de ítens por páginanãoint
Response#
CampoTipoObservações
contentobjetoConta Pix
content.namestringRzão Social da conta
content.documentNumberstringCNPJ da conta
content.pixKeystringChave Pix da conta. Utilizado para geração de cobranças
content. statusintStatus da conta
content.settlementobjetoDados de liquidação
content.settlement.pixKeystringChave pix da conta domicílio, ou seja, a conta para recebimento dos valores referentes às cobranças
content.settlement.bankAccountobjetoDados bancários da conta domicílio, ou seja, a conta para recebimento dos valores referentes às cobranças
content.settlement.bankAccount.accountNumberstringNúmero da conta
content.settlement.bankAccount.agencystringAgencia da conta
content.settlement.bankAccount.bankCompeCodestringCódigo de três dígios do Sistema de Compensação bancária. COMPE
content.settlement.bankAccount.typestringTipo da conta
content.settlement.bankAccount.documentobjetoDados do documento
content.settlement.bankAccount.document.numberstringNúmero do documento
content.settlement.bankAccount.document.typestringTipo do documento. Informar sempre "CNPJ"
content.settlement.bankAccount.holdSettlementbooleanIndica se as cobranças nascem travadas e não devem ser liquidadas.
content.pixFee.objetoInformação sobre taxas
content.pixFee.amountdecimalTaxa fixa
content.pixFee.percentagedecimalTaxa percentual
content.pixFee.maxdecimalTaxa máxima
content.pixFee.mindecimalTaxa mínima
content.hasAutomaticSettlementbooleanIndicador se a conta transfere os valores automáticamente uma vez ao dia para a conta domicílio.
content.pspClientIdstringClient id da conta no PSP
content.pspClientSecretstringClient secret da conta no PSP
totalElementsintTotal de itens
Exemplo de Response#
{
"content": [
{
"name": "Store name",
"documentNumber": "40486138000167",
"pixKey": "d60e6246-4885-471f-bab7-a3482f48d68b",
"pixFee": {
"amount": 0,
"percentage": 2,
"max": 0,
"min": 0
},
"settlement": {
"bankAccount": {
"accountNumber": "12345-1",
"agency": "1234",
"bankCompeCode": "123",
"document": {
"number": "60.664.745/0001-87",
"type": "CNPJ"
},
"ispb": "00000000",
"type": 1
},
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd"
},
"status": "string",
"hasAutomaticSettlement": true,
"pspClientId": "7a2a1ed1-aa51-4a71-9b18-0ba6f6bcfee1",
"pspClientSecret": "2ccd83fc-34ba-4a21-97ca-bef027cc2c70"
}
],
"totalElements": 10
}
Responses#
CódigoDescrição
200OK
400Bad Request
401Unauthorized
422Client Erro
500Server Erro

/v1/apm/pix/accounts#

GET#

Consulta contas de um integrador.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
pagination.currentPagequeryPágina que será consultadanãoint
pagination.pageSizequeryNúmero de ítens por páginanãoint
Exemplo de Response#
{
"content": [
{
"name": "Store name",
"documentNumber": "40486138000167",
"pixKey": "d60e6246-4885-471f-bab7-a3482f48d68b",
"pixFee": {
"amount": 0,
"percentage": 2,
"max": 0,
"min": 0
},
"settlement": {
"bankAccount": {
"accountNumber": "12345-1",
"agency": "1234",
"bankCompeCode": "123",
"document": {
"number": "60.664.745/0001-87",
"type": "CNPJ"
},
"ispb": "00000000",
"type": 1
},
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd"
},
"status": "string",
"hasAutomaticSettlement": true,
"pspClientId": "7a2a1ed1-aa51-4a71-9b18-0ba6f6bcfee1",
"pspClientSecret": "2ccd83fc-34ba-4a21-97ca-bef027cc2c70"
}
],
"totalElements": 10
}
Responses#
CódigoDescrição
200OK
400Bad Request
401Unauthorized
422Client Error
500Server Error

#

Pix Transaction#

/v1/apm/pix/charge#

#

POST#

Cria uma cobrança imediata.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
amountbodyValor da cobrançasimdecimal
pixKeybodyChave pix da contasimstring
returnQrCodeImagebodyIndicador para retornar a imagem do qrCode ou não (false default)simbool
expirationbodyTempo de expiração do QRcode em segundossimint
Exemplo de Request#
{
"expiration": 3600,
"amount": "18.92",
"returnQrCodeImage": false,
"additionalInfo": [
{
"name": "Title of information",
"value": "Content of information"
}
],
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd",
"payerDocument": "36264164615"
}
Responses#
CampoTipoObservações
txidstringId da transação gerada
locationstringLocalização do QRCode gerado
qrCodeImageboolImagem em base64 do QRcode (Apenas quando informado returnQrCodeImage= true)
statusstringStatus da transação. Valores possíveis : ATIVA; CONCLUIDA; REMOVIDA_PELO_USUARIO_RECEBEDOR
amountdecimalValor da transação
pixCopyPastestringCódigo copia e cola do pix
pixKeystringChave pix utilizada para a transação
CódigoDescrição
200Immediate charge created
400Request with invalid format
404The requested content was not found
503This service is currently unavailable
Exemplo de Response#
{
"txid": "ALzljVvS6DWp9ubnflS3nnCdeVBg7AxVt2p",
"location": "pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002",
"qrCodeImage": null,
"status": "ATIVA",
"amount": "18.92",
"additionalInfo": [
{
"name": "Title of information",
"value": "Content of information"
}
],
"pixCopyPaste": "00020101021226830014BR.GOV.BCB.PIX2561api-h.rendimento.com.br/q/v2/aeafe31da3ef48c295e6353d703415da5204000053039865802BR5915Teste-automacao6009SAO PAULO61081125553262070503***6304BE8A",
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd"
}
Possíveis códigos de erro#
ErroDescrição
157Essa cobrança não possui um valor de taxa
96A data de agendamento da liquidação é menor que a data atual.
153A conta para essa chave pix não está ativa
157Essa cobrança não possui um valor de taxa
158Conta não encontrada.
167Conta suspensa para processamento de cobranças.
193A cobrança não pode ser nula ou negativa.

/v1/apm/pix/charge/{txid} .#

GET#

Consultar cobrança imediata através de um determinado txid.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer token para autenticaçãosimstring (bearerToken)
txidpathId da transaçãosimstring
returnQrCodeImagequeryIndicador se deve ser gerado QrCode em base64 ou nãonãoboolean
Responses#
{
"txid": "string",
"amount": 99.99,
"status": "status",
"location": "string",
"pixCopyAndPaste": "string",
"qrCodeImage": "string"
}
CódigoDescrição
200Dados da cobrança imediata
404Requisição não encontrada
503Serviço indisponível
Exemplo de Response#
{
"expiration": 3600,
"amount": "18.92",
"returnQrCodeImage": false,
"additionalInfo": [
{
"name": "Title of information",
"value": "Content of information"
}
],
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd",
"txid": "ALzljVvS6DWp9ubnflS3nnCdeVBg7AxVt2p",
"location": "pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002",
"qrCodeImage": null,
"status": "PENDING",
"pixCopyPaste": "00020101021226830014BR.GOV.BCB.PIX2561api-h.rendimento.com.br/q/v2/aeafe31da3ef48c295e6353d703415da5204000053039865802BR5915Teste-automacao6009SAO PAULO61081125553262070503***6304BE8A",
"createdAt": "2025-06-06T04:32:06.055Z",
"pix": [
{
"endToEndId": "EDARFlxoxT0zBhFBqEIC6c2QQCo2d54U",
"amount": "231.39",
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd",
"confirmedAt": "2025-06-06T04:32:06.055Z",
"inconsistencyReproval": null,
"reverses": [
{
"txid": "DLzljVvS6DWp9ubnflS3nnCdeVBg7AxVt2h",
"endToEndId": "D12345678202009091000abcde123456",
"amount": "231.39",
"confirmedAt": "2025-06-06T04:32:06.055Z",
"status": "CONCLUIDA"
}
]
}
]
}

/v1/apm/pix/charge/cancel/{txid} .#

PATCH#

Cancela cobrança imediata.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer token para autenticaçãosimstring (bearerToken)
txidpathId da transação a ser consultadasimstring
Responses#
CódigoDescrição
204No Content
400Request with invalid format
404The requested content was not found
503Service Unavailable

/v1/apm/pix/charges#

GET#

Consulta lista de cobranças imediatas através de parâmetros como início, fim, cpf, cnpj e status.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer token para autenticaçãosimstring (bearerToken)
startDatequeryData de início para filtrar a consultasimtimezone (ISO 8601)
endDatequeryData de fim para filtrar a consultasimtimezone (ISO 8601)
pixKeyqueryChave Pix da contanãostring
documentNumberqueryNúmero do CNPJnãostring
statusqueryStatus da cobrança. Valores possíveis : ATIVA; CONCLUIDA; REMOVIDA_PELO_USUARIO_RECEBEDORnãostring
pagination.currentPagequeryPágina que será consultadanãoint
pagination.pageSizequeryNúmero de ítens por páginanãoint
Responses#
CódigoDescrição
200Lista de cobranças imediatas
503Serviço indisponível
Exemplo de response#
{
"criteria": {
"startDate": "2020-04-01T00:00:00Z",
"endDate": "2020-04-01T17:00:00Z",
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd",
"documentNumber": "27574383000168",
"status": 1
},
"results": [
{
"expiration": 3600,
"amount": "18.92",
"returnQrCodeImage": false,
"additionalInfo": [
{
"name": "Title of information",
"value": "Content of information"
}
],
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd",
"txid": "ALzljVvS6DWp9ubnflS3nnCdeVBg7AxVt2p",
"location": "pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002",
"qrCodeImage": null,
"status": "PENDING",
"pixCopyPaste": "00020101021226830014BR.GOV.BCB.PIX2561api-h.rendimento.com.br/q/v2/aeafe31da3ef48c295e6353d703415da5204000053039865802BR5915Teste-automacao6009SAO PAULO61081125553262070503***6304BE8A",
"createdAt": "2025-06-06T04:35:23.707Z",
"pix": [
{
"endToEndId": "EDARFlxoxT0zBhFBqEIC6c2QQCo2d54U",
"amount": "231.39",
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd",
"confirmedAt": "2025-06-06T04:35:23.707Z",
"inconsistencyReproval": null,
"reverses": [
{
"txid": "DLzljVvS6DWp9ubnflS3nnCdeVBg7AxVt2h",
"endToEndId": "D12345678202009091000abcde123456",
"amount": "231.39",
"confirmedAt": "2025-06-06T04:35:23.707Z",
"status": "CONCLUIDA"
}
]
}
]
}
],
"pagination": {
"currentPage": 1,
"pageSize": 1,
"totalPages": 1,
"totalItems": 1
}
}

#

/v1/apm/pix/{endToEndId}/reverse/{txid}'#

PUT#

Solicita uma devolução.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer token para autenticaçãosimstring (bearerToken)
endToEndIdpathCódigo end to end da transaçãosimstring
txidpathId da transaçãosimstring
Exemplo de Request#
{
"amount": "231.39"
}
Responses#
CódigoDescrição
200Dados requisitados
400Requisição com formato inválido
404Requisição não encontrada
503Serviço indisponível
Exemplo de Response#
{
"txid": "DLzljVvS6DWp9ubnflS3nnCdeVBg7AxVt2h",
"endToEndId": "D12345678202009091000abcde123456",
"amount": "231.39",
"confirmedAt": "2025-06-06T04:37:07.173Z",
"status": "ATIVA"
}

GET#

Consulta devolução através de um End To End ID do Pix e do ID da devolução.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
endToEndIdpathCódigo End To End do pagamentosimstring
txidpathIdentificador da transaçãosimstring
Responses#
CódigoDescrição
200Dados da devolução
404Requisição não encontrada
503Serviço indisponível
Exemplo de Response#
{
"txid": "DLzljVvS6DWp9ubnflS3nnCdeVBg7AxVt2h",
"endToEndId": "D12345678202009091000abcde123456",
"amount": "231.39",
"confirmedAt": "2025-06-06T04:40:25.725Z",
"status": "ATIVA"
}

/v1/apm/pix/charge/settlement/hold/{txid}'#

PATCH#

Bloqueia a liquidação da cobrança do Pix até que ela seja desbloqueada.

Parâmetros#

NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring
txidpathId da transaçãosimstring
Responses#
CódigoDescrição
204No Content
400Request with invalid format
404Request content not found
503Service unavailable

/v1/apm/pix/charge/settlement/release/{txid}'#

Parâmetros#

NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring
txidpathId da transaçãosimstring
Responses#
CódigoDescrição
204No Content
400Request with invalid format
404Request content not found
503Service unavailable

/v1/apm/pix/charge/settlement/release/{txid}#

PATCH#

Permite que a cobrança do pix seja liquidada na próxima janela de liquidação.

Parâmetros#

NomeLocalizado emDescriçãoObrigatórioTipo
AuthorizationheaderBearer Token usado para autenticaçãosimstring
txidpathCharge unique identifiersimstring
Responses#
CódigoDescrição
204No Content
400Request with invalid format
404Request content not found
503Service unavailable

#

Cashout#

/v2/apm/pix/cashout#

POST#

Cria a solicitação de cash-out (saque manual).

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring
pixKeyqueryChave pix da conta origemsimstring
amountbodyValor do cashout (BRL)simdecimal
receiverPixKeybodyChave pix do recebedorsimbool
receiverDocumentbodyDocumento do recebedor. Será validado e deve ser da mesma titularidade da chave pix.simstring
Exemplo de Request#
{
"pixKey": "tec7e05d-484e-4814-a432-dde637f84402",
"receiverDocument": "36264164615",
"receiverPixKey": "pix-key-receiver@mail.com",
"amount": 99.99
}
Responses#
CampoTipoObservações
txidstringIndentificador do cashout
Exemplo de Response#
{
"txid": "2a2cc743-3913-48ea-91fe-13256ab3c3d2"
}

Após solicitar com sucesso a operação de saque, algumas validações serão realizadas de forma assíncrona, e o saque ainda pode ser negado. O resultado dessa validação, juntamente com a chave de confirmação necessária para a solicitação de confirmação (cashout/confirm), será enviado para o webhook, conforme detalhado abaixo.

GET#

Localiza solicitações de saques manuais.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring
pixKeyqueryChave Pix da contasimstring
startDatequeryData Inicial do filtrosimDateTime (ISO 8601)
endDatequeryData final do filtrosimDateTime (ISO 8601)
statusqueryStatus do cashout.simValores possíveis: 0 - Pendente (Aguardando confirmação) 1 – Processando (Processando pagamento) 2 - Confirmado (pago) 3 - Falhou (Pagamento falhou) 4 - Expirado (Confirmação expirada)
Responses#
CampoTipoObservações
result.txidstringIdentificador único da operação de cashout
result.endToEndIdstringEnd To End da transação, Será sempre nulo até a confirmação da solicitação.
result.createdAtDateTime (ISO 8601)Data e hora da solicitação de saque
result.confirmedAtDateTime (ISO 8601)Data e hora da confirmação de saque
result.pixKeystringChave pix da conta Fiserv (origem)
result.receiverDocumentstringDocumento da conta destino
result.receiverPixKeystringChave Pix da conta destino
result.amountdecimalValor do saque (BRL)
result.statusint (enum)Status do saque Valores possíveis: 0 - Pendente (Aguardando confirmação) 1 – Processando (Processando pagamento) 2 - Confirmado (pago) 3- Falhou (Pagamento falhou) 4- Expirado (Confirmação expirada) 5 – Solicitado (Solicitado)
result.failReasonInt(enum)Tipo de falha (Somente quando o status for de falha) 1 - Sem Limite 2 - Sem Saldo 3 - Expirado 4 - Concorrência 5 - Falha de processamento 6 - Inconsistência de dados
criteria.pixKeystringChave Pix da conta utilizada nos filtros
criteria.startDateDateTime (ISO 8601)Data inicial utilizada para os filtros
criteria.endDateDateTime (ISO 8601)Data final utilizada para os filtros
criteria.statusint (enum)Status do saque Valores possíveis: 0 - Pendente (Aguardando confirmação) 1 – Processando (Processando pagamento) 2 - Confirmado (pago) 3 - Falhou (Pagamento falhou) 4 - Expirado (Confirmação expirada) 5 – Solicitado (Solicitado)
pagination.currentPageintPágina atual
pagination.pageSizeintTamanho da página
pagination.totalPagesintTotal de páginas
pagination.totalItemsintTotal de itens
Exemplo de Response#
{
"criteria": {
"startDate": "2025-01-16 09:33:01.573Z",
"endDate": "2025-01-16 09:33:01.573Z",
"pixKey": "b57c7b3c-976b-41f6-a5f6-7cccd86549bd",
"status": 2
},
"result": [
{
"txid": "bec7e05d-484e-4814-a432-dde637f84408",
"endToEndId": "E144654798498498465123",
"createdAt": "2025-01-16 09:33:01.573Z",
"confirmedAt": "2025-01-16 09:33:01.573Z",
"pixKey": "883f75da-1f69-48c4-9444-c32b4bcb3553",
"receiverDocument": "36264164615",
"receiverPixKey": "pix-key-receiver@mail.com",
"amount": 999.99,
"status": 2,
"failReason": 1
}
],
"pagination": {
"currentPage": 1,
"pageSize": 10,
"totalPages": 1,
"totalItems": 1
}
}

/v2/apm/pix/cashout/confirm#

POST#

Confirma a solicitação de cash-out com o código de confrimação.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring
txidbodyIndentificador do cashoutsimstring
confirmationKeybodyChave de confirmação fornecida no payload de notificação do webhooksimstring
Exemplo de Request#
{
"txid": "bec7e05d-484e-4814-a432-dde637f84408",
"confirmationKey": "4826e6ec-9bd2-4045-b030-f10e519d584a"
}

Após a confirmação, o saque ainda pode falhar em alguns cenários, portanto, uma nova notificação será enviada para o webhook configurado para informar se o saque foi concluído com sucesso.

Response#
CódigoDescrição
204No Content

/v2/apm/pix/cashout/{txid}#

GET#

Recupera os dados do saque com o txid. Em caso de atraso ou falha na notificação do webhook, este endpoint pode ser utilizado para verificar o status do saque.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring
txidpathCashouts unique identifiersimstring
Responses#
CampoTipoObservações
txidstringIdentificador do cashout
endToEndIdstringEnd To End da transação, Será sempre nulo até a confirmação da solicitação
createdAtDateTime (ISO 8601)Data e hora da solicitação de saque
confirmedAtDateTime (ISO 8601)Data e hora da confirmação do saque
pixKeystringChave pix da conta Fiserv (origem)
receiverDocumentstringDocumento da conta destino
receiverPixKeystringChave Pix da conta destino
amountdecimalValor do saque (BRL)
statusint (enum)Status do saque Valores possíveis: 0 - Pendente (Aguardando confirmação) 1 – Processando (Processando pagamento) 2 - Confirmado (pago) 3 - Falhou (Pagamento falhou) 4 - Expirado (Confirmação expirada)
result.failReasonint (enum)Tipo de falha (Somente quando o status for de falha) 1 - Sem Limite 2 - Sem Saldo 3 - Expirado 4 - Concorrência 5 - Falha de processamento 6 - Inconsistência de dados
Exemplo de Response#
{
"txid": "bec7e05d-484e-4814-a432-dde637f84408",
"endToEndId": "E144654798498498465123",
"createdAt": "2025-01-16 09:33:01.573Z",
"confirmedAt": "2025-01-16 09:33:01.573Z",
"pixKey": "883f75da-1f69-48c4-9444-c32b4bcb3553",
"receiverDocument": "36264164615",
"receiverPixKey": "pix-key-receiver@mail.com",
"amount": 999.99,
"status": 2,
"failReason": 1
}

#

## Reports

/v1/apm/pix/report/transactions#

GET#

Consulta relatório de transações.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
pixKeyqueryChave Pixnãostring
documentNumberqueryDocumento do clientenãostring
startDatequeryData de inícionãotimezone (ISO 8601)
endDatequeryData de fimnãotimezone (ISO 8601)
settlementStartDatequeryData de início da liquidaçãonãotimezone (ISO 8601)
settlementEndDatequeryData de fim da liquidaçãonãotimezone (ISO 8601)
txidqueryIdentificador da transaçãonãostring
endToEndqueryIdentificador de ponta a ponta da transaçãonãostring
pagination.currentPagequeryPágina atualsiminteger
pagination.pageSizequeryQuantidade de itens por páginasiminteger
Responses#
CódigoDescrição
200Success
400Bad Request
401Unauthorized
422Client Error
500Server Error
Exemplo de Response#
{
"criteria": {
"startDate": "2020-04-01T00:00:00Z",
"endDate": "2020-04-01T17:00:00Z",
"pixKey": "string",
"documentNumber": "string",
"status": "string"
},
"results": [
{
"expiration": 3600,
"amount": "2221.39",
"returnQrCodeImage": true,
"pixKey": "string",
"additionalInfo": [
{
"name": "string",
"value": "string"
}
],
"txid": "69xWbpREB9fvZ5oUr7HPNSlm5r6cclBy3Gk0",
"location": "pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002",
"qrCodeImage": "string",
"status": "ATIVA",
"pixCopyPaste": "string",
"createdAt": "2024-12-17T19:42:50.414Z",
"pix": [
{
"endToEndId": "jt86OxM1YwTvUuMsZpjGIhZlcodBS8GD",
"amount": "52.34",
"pixKey": "string",
"confirmedAt": "2024-12-17T19:42:50.414Z",
"reverses": [
{
"txid": "kXrK2W2mFxOQ8NEXH",
"endToEndId": "D12345678202009091000abcde123456",
"amount": "7163749810.26",
"confirmedAt": "2024-12-17T19:42:50.414Z",
"status": "EM_PROCESSAMENTO"
}
]
}
]
}
],
"pagination": {
"currentPage": 0,
"pageSize": 1,
"totalPages": 1,
"totalItems": 0
}
}

/v2/apm/pix/report/transactions#

GET#

Localiza as operações de entrada e saída.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring
pixKeyqueryChave Pix da contanãostring
documentNumberqueryDocumento da contanãostring
startDatequeryData inicial de filtrosimDateTime (ISO 8601)
endDatequeryData final de filtrosimDateTime (ISO 8601)
txidqueryId da transação a ser filtradonãostring
endToEndIdqueryEnd to end da transação a ser filtradonãostring
pagination.currentPagequeryPágina a ser buscadasimint
pagination.pageSizequeryTamanho de página para a buscasimint
Responses#
CampoTipoObservações
result.txidstringId da transação
result.amountdecimalValor da transação (BRL)
result.movementTypeint (enum)Tipo do movimento Possible values: 0 - Débito 1 - Crédito
result.transactionTypeintTipo da transação Valores possíveis:
  • 0 - Cobrança;
  • 1 – Estorno;
  • 2 - Bloqueio por Movimento de Devolução especial
  • 3 – Desbloqueio de Movimento de Devolução Especial
  • 4 – Movimento de Devolução Especial
  • 5 - Devolução parcial
  • 6 – Transferência bacen Jud
  • 7 - Bloqueio Bacen Jud
  • 8 – Desbloqueio BacenJud
  • 9 – Resgate Programado
  • 10 – Resgate Manual
  • 11 - Tarifa
  • 12 - Estorno de Tarifa
  • 13 - Estorno de Movimento de Devolução Especial
  • 14 - Ajustes Gerenciais
result.accountCnpjstringCNPJ da conta
result.createdAtDateTime (ISO 8601)Data e hora
result.endToEndIdstringEnd to end
result.inconsistencyReprovalenumEm caso de reprova pelo motor de inconsistência de dados, esse campo vem preenchido: Valores disponíveis: 1 - Inconsistência de dados
result.thirdPartyNamestringNome da outra parte (externa) envolvida na transação
pagination.currentPageintPágina atual
pagination.pageSizeintTamanho da página
pagination.totalPagesintTotal de páginas
pagination.totalItemsintTotal de itens
criteria.startDateDateTime (ISO 8601)Filtro de data inicial utilizado
criteria.endDateDateTime (ISO 8601)Filtro de data final utilizado
criteria.pixKeystringFiltro de chave pix utilizado
criteria.documentNumberstringFiltro de documento utilizado
criteria.txidstringFiltro de Txid utilizado
criteria.endToEndIdstringFiltro de end to end utilizado
summary.sumAmountCreditsdecimalTotal de créditos
summary.sumAmountDebitsdecimalTotal de débitos
Responses#
CódigoDescrição
200Success
400Bad Request
401Unauthorized
422Client Error
500Server Error
Exemplo de Response#
{
"criteria": {
"pixKey": "4d2dd55d-d1ab-492b-868e-6b1a2791dc0b",
"documentNumber": "14821268000107",
"startDate": "2025-01-01",
"endDate": "2029-12-31",
"txid": "2a2cc743-3913-48ea-91fe-13256ab3c3d2",
"endToEndId": "E144654798498498465123"
},
"result": [
{
"createdAt": "2025-06-06T04:57:20.882Z",
"movementType": 1,
"transactionType": 1,
"amount": 99.99,
"endToEndId": "EDARFlxoxT0zBhFBqEIC6c2QQCo2d54U",
"txid": "42474ba2-fd99-43b9-b688-52fb7a74106d",
"accountCnpj": "14821268000107",
"thirdPartyName": "John Mary",
"inconsistencyReproval": 1
}
],
"summary": {
"sumAmountCredits": 99.99,
"sumAmountDebits": 0
},
"pagination": {
"currentPage": 1,
"pageSize": 1,
"totalPages": 1,
"totalItems": 1
}
}

/v1/apm/pix/report/settlements#

GET#

Consulta relatório de liquidações.

Parâmetros#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
pixKeyqueryChave Pixnãostring
documentNumberqueryDocumento do clientenãostring
startDatequeryData de inícionãotimezone (ISO 8601)
endDatequeryData de fimnãotimezone (ISO 8601)
statusqueryStatus da liquidação: 0 – Pendente 1 – Concluída 2 - Falhanãoint
pagination.currentPagequeryPágina atualsimint
pagination.pageSizequeryQuantidade de itens por páginanãoint

#

Status da liquidação que podem ser obtidos#

CódigoStatus
0Pendente
1Confirmado
2Falhou
Responses#
CódigoDescrição
200Success
400Bad Request
401Unauthorized
422Client Erro
500Server Erro
Exemplo de Response#
{
"criteria": {
"pixKey": "string",
"documentNumber": "string",
"startDate": "string",
"endDate": "string",
"status": "string"
},
"results": [
{
"totalAmount": 0,
"totalGrossAmount": 0,
"totalFeeAmount": 0,
"status": 0,
"errorMessage": "string",
"createdAt": "2024-12-17T20:17:24.421Z",
"endToEnd": "string",
"settlement": {
"pixKey": "string",
"bankAccount": {
"accountNumber": "12345-1",
"agency": "1234",
"bankCompeCode": "341",
"document": {
"number": "60.664.745/0001-87",
"type": "CNPJ"
},
"type": 1
}
}
}
],
"pagination": {
"currentPage": 0,
"pageSize": 1,
"totalPages": 1,
"totalItems": 0
}
}

#

Informações adicionais#

#

Header padrão#

Algumas informações são necessárias em todas as solicitações, incluindo:

HeaderDetalhes
AuthorizationToken de autenticação. Para mais informações, consulte o item Token neste documento. Não é necessário incluir o "Bearer" junto ao token
apikeyFornecido pela Fiserv após credenciamento
x-timestampData e hora da solicitação. Também usado para gerar a assinatura HMAC. Para mais informações, consulte Cálculo HMAC neste documento
x-hmac-signatureHMAC gerado. Para mais informações, consulte o item Cálculo HMAC neste documento
x-request-idID aleatório da requisição

#

Calculo HMAC#

O HMAC deve ser calculado usando o algoritmo SHA256 e a chave privada que será fornecida pela Fiserv, contendo os seguintes campos concatenados:

APIKEY + TIMESTAMP + REQUEST_BODY + URL_PATH

Abaixo está o exemplo de um script postman que gera os cabeçalhos indicados de acordo com a especificação:

var CryptoJS = require("crypto-js");
function setHMACAuth(request) {
const currentDate = new Date();
var API_KEY = pm.collectionVariables.get('apikey');
var SECRET = pm.collectionVariables.get('secret');
var requestId = generateUUID();
const timestamp = currentDate.getTime().toString();
rawData=API_KEY+timestamp+request.body.toString()+'/'+pm.request.url.path.toString().replaceAll(',','/');;
var signedValue = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, SECRET).update(rawData).finalize();
hashedStringRequest = CryptoJS.enc.Base64.stringify(signedValue);
pm.request.headers.add({key:"x-timestamp",value:timestamp});
pm.request.headers.add({key:"x-hmac-signature",value:hashedStringRequest});
pm.request.headers.add({key:"requestBody",value:requestId});
}
function generateUUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
setHMACAuth(pm.request);

#

Objeto de erro padrão#

Todos os erros tratados são retornados em um formato padrão, que é o seguinte:

{
"message": "Erro Message",
"details": [
{
"errorCode": 0,
"error": "Erro Descrição"
}
]
}

#

Testes#

PUT /utils/ ordem-pagar#

Efetuar o pagamento de uma transação. Funcional apenas no ambiente de testes.

Parâmetros da requisição#
NomeLocalizado emDescriçãoObrigatórioTipo
apikeyheaderAPI Keysimstring
x-timestampheaderData/hora da solicitação (usada para evitar ataques de repetição)simstring
x-request-idheaderID aleatório usado para identificar a solicitaçãosimstring
x-hmac-signatureheaderAssinatura HMAC gerada pela combinação dos parâmetros da solicitação. Exemplo: HMAC-SHA256( apikey + x-timestamp + requestBody + URL )simstring
AuthorizationheaderBearer Token usado para autenticaçãosimstring (bearerToken)
qrCodebodyCódigo pix copia e cola (QRCode) da cobrnçaSimstring
Exemplo de requisição#
{
"qrCode": "00020101021226830014BR.GOV.BCB.PIX2561api-h.rendimento.com.br/q/v2/28d1eeb09673415ea5ad1c3c2793fbc45204000053039865802BR5914QRCOeAccount6009SAO PAULO61081125553262070503***6304AE83",
}

Revisão 1.3.0 - 01/10/2025#