1. Recorrência
  2. Planos

Recorrência

Planos

Criando um Plano

Existem duas maneiras de criar planos:

  • Plano pré-definido: Plano pré-definido, para o qual se espera ter várias assinaturas, com o mesmo valor, período entre cobranças e a mesma quantidade de cobranças a realizar.
  • Plano por assinatura: Cada assinatura pode ter um valor, período de tempo ou número de parcelas diferente. Normalmente em sites com Carrinhos de Compras onde o usuário seleciona a quantidade de produtos e o tempo de recorrência. Nesta seção vamos cobrir a criação de planos predefinidos.
URL
https://serviceappi.com/basspago-sandbox/api/public/payments/recurrence/payment-paycheckout-plans-create
HEADERS
Content-Type application/json

O corpo da solicitação consiste tem o parâmetro key e o objeto plan:

BODY - raw
        {
    "key" : "UydmVYUIYdfKmeED1JgdRMvXkeyri7iu",
    "plan" :
    {
       "externalId" : "ABCD000001",
       "name" : "Plan de Venda Um",
       "description" : "Plan de Venda Mensal",
       "amount" : 10.00,
       "trialDays" : 1,
       "installments" : 5,
       "attempts" : 3,
       "type" : "MONTHLY",
       "interval" : null
    }
}

      

Campos da consulta:

  • key: Chave pública.

Objeto plan:

  • 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.
RESPONSE
        {
    "key": "UydmVYUIYdfKmeED1JgdRMvXkeyri7iu",
    "plan": {
        "referenceNumber": "PL60M35CF9",
        "externalId": "ABCD000001",
        "name": "Plan de Venda Um",
        "description": "Plan de Venda Mensal",
        "amount": 10.0,
        "trialDays": 1,
        "interval": null,
        "installments": 5,
        "attempts": 3,
        "type": "MONTHLY"
    }
}

      

Na resposta:

  • referenceNumber: Identificador único fornecido pelo Sistema Bass Pago ao plano criado. É necessário ao criar uma assinatura com plano pré-definido.

Consultar lista de Planos

É possível Consultar lista de Planos criados por chave.

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

      

A resposta:

RESPONSE
        [
    {
        "referenceNumber": "PL60M35CF9",
        "externalId": "ABCD000001",
        "name": "Plan de Venda Um",
         "description": "Plan de Venda Mensal",
        "amount": 10.0,
        "trialDays": 1,
        "interval": null,
        "installments": 5,
        "attempts": 3,
        "createdAt": "2024-08-23T16:51:11.084579Z",
        "updatedAt": "2024-08-23T16:51:11.880976Z",
        "isActive": true,
        "planType": "MONTHLY"
    }
]

      
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-plans?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-plans?page=0&size=10&sort=createdAt,asc&planType.in=MONTHLY,YEARLY&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 detale de um Plano

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

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

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

      

A resposta:

RESPONSE
        {
    "referenceNumber": "PL60M35CF9",
    "externalId": "ABCD000001",
    "name": "Plan de Venda Um",
    "description": "Plan de Venda Mensal",
    "amount": 10.0,
    "trialDays": 1,
    "interval": null,
    "installments": 5,
    "attempts": 3,
    "createdAt": "2024-08-26T16:43:31.852098Z",
    "updatedAt": "2024-08-26T16:43:31.852098Z",
    "isActive": true,
    "planType": "MONTHLY"
}