Histórico de mensagens em assinaturas

EXIBINDO CONVERSAS RECENTES:

Canal: assinaturas
Avatar discord do usuario mayron1806

mayron1806

Ver Respostas

Boa tarde, preciso da opinião de vocês
No meu sistema de assinatura já fiz o código para que o cliente assine, cancele, altere o plano etc
É uma assinatura mensal( como a Netflix por exemplo)
Minha dúvida é se a forma como estou planejando a utilização do webhook está correta
Basicamente recebo a notificação e verifico o último status da assinatura, se ela estiver ativa eu ativo no meu sistema, se estiver desativada eu desativo no meu sistema e bloqueio o acesso
Devo adicionar uma lógica a mais para o pagamento ou só isso já é suficiente?

Avatar discord do usuario guilherme_efi

guilherme_efi

Por nada! Qualquer dúvida, conte com a gente!

Avatar discord do usuario mayron1806

mayron1806

Entendi, muito obrigado @guilherme_efi

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Exatamente. O boleto é enviada 5 dias antes do vencimento.

Avatar discord do usuario mayron1806

mayron1806

Ver Respostas

Ahh sim entendi, só mais uma coisa😅
Quando uma assinatura é criada com boleto, o boleto é enviado todo mês no email automaticamente?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Uma assinatura mensal sempre fica em active até ser cancelada, desde que todas as transações sejam pagas. O status da assinatura não muda todo mês no dia da cobrança, apenas o status da transação. Por exemplo, se você tem uma assinatura mensal que gera uma cobrança todo dia 10, no dia 10 a transação vai para o status new_charge. Se o pagamento for feito no mesmo dia, a transação vai para o status paid e a assinatura continua em active.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Se você criar uma assinatura com pagamento por boleto, ela vai para o status new. Depois, quando uma nova cobrança for gerada, ela vai para o status new_charge. Enquanto o boleto não for pago, a transação vai para o status waiting. Quando o boleto for pago, a transação vai para o status paid e a assinatura vai para o status active.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

As assinaturas vão ter os status da tanto da assinatura quanto os status das transações. Segue um exemplo de notificação de assinatura:

json
{
"code": 200,
"data": [
{
"id": 1,
"type": "subscription",
"custom_id": null,
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 11976
},
"created_at": "2021-07-20 00:20:16"
},
{
"id": 2,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2396478
},
"created_at": "2021-07-20 00:20:16"
},
{
"id": 3,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "waiting",
"previous": "new"
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2396478
},
"created_at": "2021-07-20 00:20:27"
},
{
"id": 4,
"type": "subscription",
"custom_id": null,
"status": {
"current": "active",
"previous": "new"
},
"identifiers": {
"subscription_id": 11976
},
"created_at": "2021-07-20 00:20:28"
},
{
"id": 5,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "paid",
"previous": "waiting"
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2396478
},
"created_at": "2021-07-22 03:19:17",
"value": 12390,
"received_by_bank_at": "2022-03-28" // data do pagamento da cobrança
},
{
"id": 6,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2688053
},
"created_at": "2021-08-20 00:30:09"
},
{
"id": 7,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "waiting",
"previous": "new"
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2688053
},
"created_at": "2021-08-20 00:30:09"
},
{
"id": 8,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "unpaid",
"previous": "waiting"
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2688053
},
"created_at": "2021-08-25 01:32:38"
},
{
"id": 9,
"type": "subscription",
"custom_id": null,
"status": {
"current": "canceled",
"previous": "active"
},
"identifiers": {
"subscription_id": 11976
},
"created_at": "2021-08-28 23:26:58"
}
]
}
Você vai sempre verificar o "type": "subscription", e o status da assinatura.
E quando for "type": "subscription_charge", você verá o status de uma transação

Avatar discord do usuario mayron1806

mayron1806

Ver Respostas

Mais uma duvida, ai fazer uma assinatura mensal o status dela todo troca para waiting todo mês no dia da cobrança? Ou sempre fica em active ate cancelar?
Quando o pagamento da assinatura não for efeituado ele vai ser enviado para status unpaid?

Avatar discord do usuario mayron1806

mayron1806

Ver Respostas

Outra duvida, as assinaturas tem apenas os status da assinatura presentas na documentação, ou podem ter status das transações? Por exemplo, foi criada uma assinatura com pagamento por bolix, ela vai para o status new, depois new_charge, enquanto o boleto não for pago ela vai para o status de waiting? Ou quando for pago vai para o status de active?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @mayron1806. Tudo bem com você?
Você encontra os possíveis status de uma assinatura no link abaixo:

Avatar discord do usuario mayron1806

mayron1806

Ver Respostas

Bom dia, estou com 1 duvida com relação as notificações da assinatura, ao fazer a requisição é retornado entra as informações os status anterior e atual, onde encontro a lista de possiveis valores para esses status e oq cada um deles representa?

Avatar discord do usuario gabrielcarvalho_27631

gabrielcarvalho_27631

Ver Respostas

vou olhar aqui, o planos que são associados a cada assinatura fica registrado em algum lugar no painel do efí ?

Avatar discord do usuario guilherme_efi

guilherme_efi

@gabrielcarvalho_27631, certifique se ao criar a assinatura você passou o id do plano correto.
Acabei de fazer um teste, e foi exibido corretamente conforme o plano que criei.
imagem enviada na mensagem pelo usuario guilherme_efi

Avatar discord do usuario gabrielcarvalho_27631

gabrielcarvalho_27631

por que mesmo eu definindo assim:
{
'name' => $plan['name'] . ' da Memprega.com.br',
'interval' => 12,
'repeats' => null
}
ao acessar o painel e verificar as assinaturas o mesmo sai igual na imagem
imagem enviada na mensagem pelo usuario gabrielcarvalho_27631

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

@gabrielcarvalho_27631, na criação do plano você irá definir o nome do plano, intervalo e quantidade de repetições. O valor é definido na criação da assinatura.
Então para criar um plano com a regra mencionada, você irá definir interval=12 e repeats a quantidade de vezes que deseja cobrar essa anuidade, se deixar repeats=null as cobranças serão geradas por tempo indeterminado ou até que a assinatura seja cancelada.

Exemplo:

json
{
"name": "Plano de Internet - Velocidade 10 Mb",
"interval": 12, // uma cobrança a cada 12 meses
"repeats": null // quantidade de repetições indeterminada
}

Documentação completa para criação do plano: https://dev.efipay.com.br/docs/api-cobrancas/assinatura#crie-o-plano-de-assinatura

Avatar discord do usuario gabrielcarvalho_27631

gabrielcarvalho_27631

Ver Respostas

@guilherme_efi @joaolucas_efi como faço para configurar um plano que cobra uma vez ao ano
estou fazendo assim está correto?
'YEARLY_BUSINESS' => [
'price' => 100.00,
'name' => 'Plano Anual',
'interval' => 12,
],

seria no boleto

Avatar discord do usuario gabrielcarvalho_27631

gabrielcarvalho_27631

Ok muito obrigado, pela ajuda