1. Paycheckout
  2. APIs de Conciliação

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:

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/checkout/obtain-paycheckout
HEADERS
Content-Type application/json
BODY - raw
        {
	"token": "QUWV8V6W9ZGZEBJ8Q25MIV0ZY7MUTOY0WTULIVA3XW2HPYNP"
}

      

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.
RESPONSE
        {
	"referenceNumber": "PCHN3OQDFTP",
	"externalId": "ABCD00039",
	"externalProductId": "P00001",
	"externalProductName": "Paquete",
	"amount": 2.0,
	"totalAmount": 2.0,
	"key": "xm9RSLfh3QW4PvFkIaDItbdjkdzyo2kZ",
	"devedorMail": "[email protected]",
	"status": "APPROVED",
	"merchantName": "EMPRESA PAGAMENTOS LTDA",
	"createdAt": "2023-08-15T13:45:28.825249Z",
	"keyCurrencyCode": "BRL",
	"payment": {
		"paymentType": "PIX",
		"amountPayed": 1.99,
		"amountCredited": 0.99,
		"valorDesconto": 0.5,
		"valorJuros": 0.25,
		"valorMulta": 0.25,
		"dataPayment": "2023-08-15T13:46:58Z",
		"pagadorNome": "FABIO CARLOS ALVARES LIMA",
		"pagadorInscricaoNacional": "60375093072"
	}
}

      
ERROR
        {
	"message": "notValidKey"
}

      

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.

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/checkout/obtain-paycheckouts-api-list
HEADERS
Content-Type application/json
Encrypted-Security-Code 585709243631817c3125e41747a96782e06b1dedd5eb6d7cfc430189e5384b888531dbda
BODY - raw
        {
	"key": "BYJ0ZzDl9NtM59jaGPJVLVCEb5qR5Wp7"
}

      

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:

        key=CHAVE_PUBLICA

      

Um exemplo seria:

        key=xm9RSLfh3QW4PvFkIaDItbdjkdzyo2kZ

      

Uma vez assinado com SHA-512 HMAC permanece com este formato:

        585709243631817c3125e41747a96782e06b1dedd5eb6d7cfc430189e5384b888531dbda

      

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.
RESPONSE
        [
    {
        "referenceNumber": "PCHH051EX9Z",
        "externalId": "ABCD00002",
        "externalProductId": "P00001",
        "status": "APPROVED",
        "type": "PIX"
    },
    {
        "referenceNumber": "PCH64YBCN5Z",
        "externalId": "ABCD00001",
        "externalProductId": "P00001",
        "status": "APPROVED",
        "type": "PIX"
    }
]

      
INFO

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:

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/checkout/obtain-paycheckouts-api-list?page=0&size=10

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

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/checkout/obtain-paycheckouts-api-list?page=0&size=10&sort=createdAt,asc&status.equals=APPROVED&createdAt.greatherThanOrEqual=2024-03-10T23:59:59Z

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)
INFO

Para mais opções de gerenciamento de filtros, recomendamos consultar a documentação a seguir: https://www.jhipster.tech/entities-filtering/