1. Recorrência
  2. Assinaturas

Recorrência

Planos

Criando uma Assinatura

O processo de criação de uma assinatura está vinculado à criação da primeira cobrança.

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/recurrence/payment-paycheckout-recurrent-create
HEADERS
Content-Type application/json

O corpo da solicitação consiste em 3 parâmetros e dois objetos aninhados, delineados abaixo:

  • key: Chave gerada no Sistema Bass Pago.
  • externalId: Número de referência ou identificador único da assinatura. Este número deve ser exclusivo para a respectiva chave.
  • externalProductId: Número de identificação do serviço e/ou produto no sistema externo.
  • externalProductName: Nome do serviço e/ou produto no sistema externo.
  • solicitacao: Mensagem de texto para ser mostrada ao cliente.

Objeto devedor*:

  • devedorCep*: CEP do endereço do devedor. Deve conter apenas 8 dígitos.
  • devedorEndereco*: Endereço do devedor, incluindo rua e número.
  • devedorBairro*: Bairro do endereço do devedor.
  • devedorCidade*: Cidade do endereço do devedor.
  • devedorUf*: Estado (UF) do endereço do devedor. Deve conter apenas 2 letras.
  • devedorDdd: DDD do telefone do devedor.
  • devedorTelefone: Número de telefone do devedor.
  • devedorMail: E-mail do usuário que efetua o pagamento. Por meio desse e-mail, o devedor receberá notificações sobre a conclusão do pagamento. (IMPORTANTE: Este parâmetro é opcional. Se fornecido, o Sistema Bass Pago enviará notificações por e-mail ao devedor, informando sobre a nova cobrança criada em seu nome, além de lembretes antes do vencimento da cobrança.)
  • devedorNome*: Nome completo do devedor.
  • devedorInscricaoNacional*: CPF ou CNPJ do devedor. Só dígitos. [CPF: 11 dígitos, CNPJ: 14 dígitos].

Objeto plan:

  • referenceNumber: Caso seja um Plano pré-definido, basta enviar o referenceNumber retornado na criação do plano. No caso de Plano por assinatura, enviar null.
  • externalId: Identificador do Plano dado pelo cliente.
  • name: Nome do Plano. Pode ser mostrado para o cliente na página de pagamento.
  • description: Descrição do produto e/ou serviço apresentados no Plano. Pode ser mostrado para o cliente na página de pagamento.
  • amount: Valor do plano. Esse mesmo valor será cobrado em cada parcela
  • trialDays: Dias de teste do produto e/ou serviço. Antes de fazer o primeiro pagamento
  • installments: Número total de parcelas
  • attempts: Tentativas de cobranças de uma parcela. No caso do CARD, caso o cartão esteja bloqueado ou sem saldo, após completar o número total de tentativas, a assinatura é cancelada.
  • type: Tempo entre as cobranças.[MONTHLY, BIMONTHLY, QUARTERLY, SEMESTERLY, YEARLY, CUSTOM]
  • interval: Se o type for "CUSTOM", será definido em dias.
WARNING

Caso não seja um Plano pré-definido, o restante dos campos do objeto Plan devem ser enviados.

BODY - raw
        {
  "key": "UydmVYUIYdfKmeED1JgdRMvXkeyri7iu",
  "externalId": "ABCD000009",
  "externalProductId": "0001",
  "externalProductName": "Sapatenis",
  "solicitacao": "Compra",
  "devedor": {
    "devedorBairro": "Centro",
    "devedorCep": "98300000",
    "devedorCidade": "Palmeira das Missoes",
    "devedorDdd": "55",
    "devedorEndereco": "Rua Ivo Pedro",
    "devedorInscricaoNacional": "60375093072",
    "devedorMail": "[email protected]",
    "devedorNome": "Pedro Neri",
    "devedorTelefone": "993632535",
    "devedorUf": "RS"
  },
  "plan" :
    {
       "referenceNumber" : null,
       "externalId" : "ABCD000010",
       "name" : "Plan1",
       "description" : "description",
       "amount" : 10.00,
       "trialDays" : null,
       "installments" : 12,
       "attempts" : 3,
       "type" : "MONTHLY",
       "interval" : null
    }
}

      

A resposta:

RESPONSE
        {
    "token": "IGGFTFEH3O6GGX014RXS5XFBRG7JTXZI5FEWEWGXMJU0AHHA",
    "key": "UydmVYUIYdfKmeED1JgdRMvXkeyri7iu",
    "referenceNumber": "PCHELCTHCL9",
    "externalProductId": "0001",
    "amount": 10.0,
    "planReferenceNumber": "PLJD0LFM80",
    "subscriptionReferenceNumber": "SBBAFVJ0A9"
}

      

Na resposta:

  • token: Identificador público único para a cobrança gerado pelo Sistema Bass Pago. É necessário para criar a URL da página de pagamento.
  • referenceNumber: Identificador único para a cobrança gerado Sistema Bass Pago.
  • planReferenceNumber: Identificador único do Plano associado à cobrança.
  • subscriptionReferenceNumber: Identificador único para a assinatura gerado Sistema Bass Pago.
INFO

Neste cenário, o Sistema Bass Pago assume a responsabilidade de proporcionar a interface de usuário durante o processo de pagamento. Acessar no menú da documentação Paycheckout > Checkout por API. Depois Checkout por URL

Consultar lista de Assinaturas

É possível Consultar lista de Assinaturas criadas por chave.

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/recurrence/payment-paycheckout-subscriptions
HEADERS
Content-Type application/json
BODY - raw
        {
    "key": "UydmVYUIYdfKmeED1JgdRMvXkeyri7iu"
}

      

A resposta:

RESPONSE
        [
    {
        "referenceNumber": "SBUTF9P2S9",
        "devedorMail": "[email protected]",
        "devedorInscricaoNacional": "60375093072",
        "devedorNome": "Pedro Neri",
        "devedorCep": "98300000",
        "devedorUf": "RS",
        "devedorCidade": "Palmeira das Missoes",
        "devedorBairro": "Centro",
        "devedorEndereco": "Rua Ivo Pedro",
        "devedorTelefone": "993632535",
        "createdAt": "2024-08-23T16:51:31.707458Z",
        "updatedAt": "2024-08-23T16:51:33.870700Z",
        "status": "CREATED",
        "planReferenceNumber": "PLCX0KXLG3",
        "planName": "Plan1",
        "description": "description",
        "amount": 10.0,
        "trialDays": null,
        "interval": null,
        "installments": 12,
        "attempts": 3,
        "planType": "MONTHLY"
    }
]

      

Na resposta:

  • referenceNumber: Identificador único para a assinatura gerado Sistema Bass Pago.
  • status: Status da assinatura.

Estados de uma assinatura:

  • CREATED: A assinatura e a primeira cobrança foram criadas. O cliente tem 20 minutos para inserir os dados de pagamento.
  • REJECTED: O cliente não completou as informações de pagamento ou foi rejeitado.
  • PENDING: Os dados de pagamento foram validados e configurado "trialsDays" na assinatura. Até a conclusão dos dias de prova e a primeira cobrança ser feita.
  • ACTIVE: As cobranças estão sendo realizadas corretamente.
  • CANCELLED: A assinatura é cancelada via API ou sistema.
  • CANCELLED_BY_ATTEMPTS: Ao tentar executar uma cobrança, todas as tentativas definidas no campo “tentativas” são consumidas (as tentativas são feitas uma vez por dia).
  • CLOSED: Todas as cobranças definidas no campo “installments” foram realizadas corretamente
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 Planos 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/recurrence/payment-paycheckout-subscriptions?page=0&size=10&sort=createdAt,asc

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/recurrence/payment-paycheckout-subscriptions?page=0&size=10&sort=createdAt,asc&status.in=CREATED,PENDING&createdAt.greaterThanOrEqual=2024-03-07T00:00:00.000Z&createdAt.lessThanOrEqual=2024-03-11T23:59:59.999Z

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
INFO

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

Obter detalhe de uma Assinatura

É possível Consultar o detalhe de uma Assinatura pelo referenceNumber no parámetro da URL.

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/recurrence/payment-paycheckout-subscriptions/"referenceNumber"
HEADERS
Content-Type application/json
BODY - raw
        {
    "key": "UydmVYUIYdfKmeED1JgdRMvXkeyri7iu"
}

      
        https://serviceappi.com/basspago-sandbox/api/public/payments/recurrence/payment-paycheckout-plans/SBBAFVJ0A9

      

A resposta:

RESPONSE
        {
    "referenceNumber": "SBBAFVJ0A9",
    "devedorMail": "[email protected]",
    "devedorInscricaoNacional": "60375093072",
    "devedorNome": "Pedro Neri",
    "devedorCep": "98300000",
    "devedorUf": "RS",
    "devedorCidade": "Palmeira das Missoes",
    "devedorBairro": "Centro",
    "devedorEndereco": "Rua Ivo Pedro",
    "devedorTelefone": "993632535",
    "createdAt": "2024-08-26T15:35:58.021271Z",
    "updatedAt": "2024-08-26T15:55:00.162314Z",
    "status": "CANCELLED",
    "planReferenceNumber": "PLJD0LFM80",
    "planName": "Plan1",
    "description": "description",
    "amount": 10.0,
    "trialDays": null,
    "interval": null,
    "installments": 12,
    "attempts": 3,
    "planType": "MONTHLY"
}

      

Cancelar uma Assinatura

Ao cancelar uma Assinatura, caso haja alguma cobrança pendente, a mesma também será cancelada. Bem como o restante das futuras parcelas dessa assinatura.

URL
https://serviceappi.com/basspago-sandbox/api/public/payments/recurrence/payment-paycheckout-subscriptions-cancel/"referenceNumber"
HEADERS
Content-Type application/json
BODY - raw
        {
    "key": "UydmVYUIYdfKmeED1JgdRMvXkeyri7iu"
}

      
        https://serviceappi.com/basspago-sandbox/api/public/payments/recurrence/payment-paycheckout-subscriptions-cancel/SBBAFVJ0A9

      

A resposta:

RESPONSE
        {
    "referenceNumber": "SBBAFVJ0A9",
    "devedorMail": "[email protected]",
    "devedorInscricaoNacional": "60375093072",
    "devedorNome": "Pedro Neri",
    "devedorCep": "98300000",
    "devedorUf": "RS",
    "devedorCidade": "Palmeira das Missoes",
    "devedorBairro": "Centro",
    "devedorEndereco": "Rua Ivo Pedro",
    "devedorTelefone": "993632535",
    "createdAt": "2024-08-26T15:35:58.021271Z",
    "updatedAt": "2024-08-26T17:41:37.343562Z",
    "status": "CANCELLED",
    "planReferenceNumber": "PLJD0LFM80",
    "planName": "Plan1",
    "description": "description",
    "amount": 10.0,
    "trialDays": null,
    "interval": null,
    "installments": 12,
    "attempts": 3,
    "planType": "MONTHLY"
}