Nova Fatura com link para pagamento Cobrança Assas
ubamicrosinformatica opened this issue · 12 comments
É possível na fatura de serviço criada e nas faturas de lembrete implantar a opção de envio do link para pagamento do Asaas ( cobrança Asaas), no lugar da fatura em PDF que tem atual.
atualmente usamos um modulo whatsapp que contém o seguinte código abaixo:
//Integração Envio de PDF - ASAAS - cobrancaasaasmpay.
elseif ($invoice->paymentmethod == "cobrancaasaasmpay") {
//Buscando Dados do PDF
$cobrancaasaasmpay = Capsule::table('mod_cobrancaasaasmpay')->where('fatura_id', $invoice->id)->first();
//Verificando se o resultado não é nulo
if ($cobrancaasaasmpay->url_boleto != "") {
$URLBoleto = str_replace('/b/pdf/', '/i/', $cobrancaasaasmpay->url_boleto);
} //Caso não tiver achado
else {
$URLBoleto = "";
o código acima que usamos converte o envio padrão de envio PDF que é /b/pdf para o link de pagamento do site asaas que é /i/ com isso no whatsApp do cliente chega "https://asaas.com/i/xxxxxxxxxxx" o x é o numero da fatura do cliente no asaas pois neste link o cliente tem as opções de boleto ou pix , para o cliente fica melhor de manusear doque chegar a boleto em pdf , no celular é ruim o PDF....
Tem como criar uma notificação copm este recurso? chegar esse link para clientes com pagamento ASAAS, Notificações WhatsApp API?
Também tenho interesse.
Estou ansioso no aguardo , tomara que a equipe consiga projetar ,pois seria genial
Bom dia, @20aprendiz23 e @ubamicrosinformatica.
Dentro de duas semanas vamos lançar a implementação.
No caso, vocês precisam de um novo parâmetro com a URL "https://asaas.com/i/xxxxxxxxxxx" para as seguintes notificações:
- Nova fatura de serviço
- Lembrete de fatura
- Lembrete de fatura com PDF
Correto?
Iremos nomear o novo parâmetro como "URL de pagamento Asaas".
Bom dia , sim correto , vai ficar muito muito bom ,obrigado
Bom dia, @ubamicrosinformatica e @20aprendiz23.
Implementamos o parâmetro URL de pagamento Asaas.
Por favor, realizem o download das notificações aqui e atualizem as notificações das patas:
- InvoiceReminder
- InvoiceReminderPdf
- NewServiceInvoice
Lembrando que é necessário configurar as notificações novamente com a novo parâmetro.
Boa noite , funcionou certinho no InvoiceReminderPdf , quando envia manual chega no whtasapp do cliente perfeito com o link /i/xxxxxx, ficou muito bom.
Porém o NewServiceInvoice , está causando um erro ao enviar , não chega no whatsapp e da o erro no log abaixo , serviço criado com fatura a vencer executei a cron para gera a fatura , gerou a fatura , foi no e-mail do cliente certinho mas no whatsapp deu o erro, log abaixo:
Error: Class "Lkn\HookNotification\Notifications\WhatsApp\NewServiceInvoice\Capsule" not found in /var/www/html/modules/addons/lknhooknotification/src/Notifications/WhatsApp/NewServiceInvoice/NewServiceInvoiceNotification.php:91
Stack trace:
#0 /var/www/html/modules/addons/lknhooknotification/src/Notifications/WhatsApp/NewServiceInvoice/NewServiceInvoiceNotification.php(127): Lkn\HookNotification\Notifications\WhatsApp\NewServiceInvoice\NewServiceInvoiceNotification->getAsaasPayUrl()
#1 /var/www/html/modules/addons/lknhooknotification/src/Domains/Platforms/WhatsApp/MessageTemplateParser.php(165): Lkn\HookNotification\Notifications\WhatsApp\NewServiceInvoice\NewServiceInvoiceNotification->Lkn\HookNotification\Notifications\WhatsApp\NewServiceInvoice{closure}()
OBSERVACÃO:
Faltou implantar o assas no Invoice6DaysLate , que é muito importante também chegar com o link quando o cliente for relembrado.
Boa noite
Eu modifiquei para esta forma e funcionou agora , veja se está correto usar assim :
private function getAsaasPayUrl()
{
// Obtém o método de pagamento da fatura
$invoicePayMethod = \Illuminate\Database\Capsule\Manager::table('tblinvoices')
->where('id', $this->reportCategoryId)
->first(['paymentmethod']);
if ($invoicePayMethod->paymentmethod !== 'cobrancaasaasmpay') {
throw new Exception('Invoice does not belong to cobrancaasaasmpay gateway.');
}
// Obtém a URL do boleto da tabela mod_cobrancaasaasmpay
$asaasPayBoletoUrl = \Illuminate\Database\Capsule\Manager::table('mod_cobrancaasaasmpay')
->where('fatura_id', $this->reportCategoryId)
->first(['url_boleto']);
if (empty($asaasPayBoletoUrl->url_boleto)) {
throw new Exception('Could not get Asaas URL.');
}
return str_replace('/b/pdf/', '/i/', $asaasPayBoletoUrl->url_boleto);
Se estiver correto por criar o assas no Invoice6DaysLate , que é muito importante também chegar com o link quando o cliente for relembrado em 6 dias da fatura em aberto
Bom dia, @ubamicrosinformatica.
Perdão pelo imprevisto. Sua implementação está correta e também ajustamos a notificação Invoice6DaysLate.
Por favor, siga a instrução abaixo:
Bom dia Bruno funcionou , está enviando , mas só oque me preocupa ;é que no log do modulo aparece 1 ok enviado do lembrete de fatura e chega no whatsapp certinho , mas aparece também outro log de erro com este erro:
"error":"Exception: WhatsApp inbox ID setting is empty. in /var/www/html/modules/addons/lknhooknotification/src/Notifications/Chatwoot/WhatsAppPrivateNote/WhatsAppPrivateNoteNotification.php:61\nStack trace:\n#0
Mas eu nem uso o Chatwoot , posso ignorar este erro de log ? pois está ok agora o envio do link asaas no Invoice6DaysLate..
Grato e aguardo resposta
@ubamicrosinformatica, você pode ignorar esse erro.
Para desativá-lo, certifique-se que essa configuração do Chatwoot está desativada, como segue na imagem: