Paycheckout
APIs de Conciliação
Verificação do Status do Checkout via API
Embora o Sistema Bass Pago envie automaticamente um WebHook (se configurado no módulo de Gerenciamento de Chaves) assim que o processo de pagamento for finalizado, com status APPROVED ou REJECTED, é possível verificar o status e os detalhes do Checkout a qualquer momento por meio de uma solicitação à seguinte API:
Campos de Resposta Detalhados:
- referenceNumber: Um identificador exclusivo gerado pelo Sistema Bass Pago.
- externalId: Número de referência ou identificador exclusivo da transação. Este número não pode ser repetido para a mesma chave.
- externalProductId*: Número de identificação do produto no sistema externo.
- externalProductName*: Nome do produto no sistema externo.
- amount: Valor a ser pago de acordo com o tipo de operação.
- totalAmount: Valor total a ser pago.
- key: Chave pública gerada pelo Sistema Bass Pago.
- devedorMail: E-mail do usuário que realiza o pagamento.
- status: Status atual do pagamento. (PENDING, APPROVED, REJECTED)
- merchantName: Nome da empresa.
- createdAt: Data de criação do Checkout.
- keyCurrencyCode: Código da moeda.
- payment: Objeto contendo detalhes do pagamento. Se o pagamento não foi efetuado (Status diferente de APPROVED), este objeto será retornado como NULL.
Esses campos fornecem uma visão abrangente dos detalhes associados a um Checkout, permitindo compreender o estado do pagamento, os valores envolvidos e outros dados relevantes para uma gestão eficiente das transações.
Objeto payment:
- type: Tipo de pagamento efetuado.
- amountPayed: Valor pago pelo usuário.
- amountCredited: Valor creditado na conta da empresa.
- valorDesconto: Valor do desconto aplicado (se configurado).
- valorJuros: Valor de juros aplicados (se configurado)
- valorMulta: Valor da multa aplicada (se configurado).
- dataPayment: Data em que o pagamento foi realizado.
- pagadorNome: Nome do pagador.
- pagadorInscricaoNacional: CPF/CNPJ do pagador.
Esse objeto "payment" oferece informações cruciais sobre os detalhes financeiros do Checkout efetuado, incluindo o valor, tipo de Checkout, descontos, juros, multas e informações do pagador, permitindo uma visão abrangente e organizada do processo de transação.
Consultar lista de Checkout
É possível conciliar Checkouts recebidos de uma Chave.
O header "Encrypted-Security-Code", é uma assinatura HMAC gerada através de uma cadeia criada com a chave publica, deixando essa cadeia pronta para ser assinada com o SHA-512 HMAC, conforme o seguinte processo:
Um exemplo seria:
Uma vez assinado com SHA-512 HMAC permanece com este formato:
A resposta é uma lista com paginação. Os campos do objeto são:
- referenceNumber: Um identificador exclusivo gerado pelo Sistema Bass Pago.
- externalId: Número de referência ou identificador exclusivo da transação. Este número não pode ser repetido para a mesma chave.
- externalProductId*: Número de identificação do produto no sistema externo.
- status: Status atual do Checkout. (PENDING, APPROVED, REJECTED)
- type: Tipo de Checkout efetuado.
No header da resposta, tem o campo X-Total-Count, que retorna o valor total dos elementos na consulta. O que permite percorrer a paginação, até o último elemento
Aplicando paginação e filtros à consulta
Quando a quantidade dos Checkouts em uma consulta é muito grande, o ideal é paginar a resposta. Isso evita sobrecarga de memória e também resposta lenta. O número máximo de elementos por página no sistema é 50 (o padrão é 10 elementos).
Paginar a resposta:
Campos do paginado:
- page: Aponte para a página onde a solicitação está sendo feita. A primeira página está sempre no valor 0.
- size: Número de elementos que a consulta retornará.
Filtros:
É possível aplicar filtros à consulta, bem como ordená-la
Ordenar:
- sort: É possível ordenar por campo, Crescente (Asc) ou Decrescente (Desc)
Filtrar:
- createdAt: Data de criação do Checkout
- updatedAt: Data da última atualização de Checkout
- status: Status do Checkout(PENDING, APPROVED, REJECTED)
Para mais opções de gerenciamento de filtros, recomendamos consultar a documentação a seguir: https://www.jhipster.tech/entities-filtering/