{"id":17111,"date":"2024-01-17T13:25:39","date_gmt":"2024-01-17T18:25:39","guid":{"rendered":"https:\/\/membermouse.com\/?post_type=ht_kb&#038;p=17111"},"modified":"2024-08-08T12:33:42","modified_gmt":"2024-08-08T16:33:42","slug":"personalizacao-de-tentativas-de-cobranca-em-atraso","status":"publish","type":"ht_kb","link":"https:\/\/membermouse.com\/pt\/documentos-3-2\/personalizacao-de-tentativas-de-cobranca-em-atraso\/","title":{"rendered":"Personaliza\u00e7\u00e3o do cronograma para tentativas de cobran\u00e7a de pagamentos em atraso"},"content":{"rendered":"<p><em><mark style=\"background-color:#8ed1fc\" class=\"has-inline-color has-black-color\">MemberMouse 3.0+<\/mark><\/em><\/p>\n\n\n\n<p><em><strong>OBSERVA\u00c7\u00c3O:&nbsp;<\/strong>Com servi\u00e7os de pagamento que n\u00e3o suportam a funcionalidade de cart\u00e3o em arquivo (ou seja, PayPal, Authorize.net), o MemberMouse n\u00e3o tem controle sobre o processo de cobran\u00e7a recorrente e&nbsp;<strong>n\u00e3o<\/strong>&nbsp;tratar automaticamente os pagamentos em atraso.<\/em><\/p>\n\n\n\n<p>Por padr\u00e3o, o MemberMouse tem um processo de cobran\u00e7a integrado para a cobran\u00e7a de pagamentos em atraso. Se uma assinatura n\u00e3o for cobrada na data programada, o MemberMouse far\u00e1 tr\u00eas tentativas adicionais no per\u00edodo de uma semana para cobrar o pagamento. O MemberMouse tamb\u00e9m enviar\u00e1 uma mensagem configur\u00e1vel <a href=\"https:\/\/membermouse.com\/pt\/documentos-3-2\/enviar-uma-notificacao-de-pagamento-em-atraso-aos-clientes\/\" title=\"\">notifica\u00e7\u00e3o de pagamento em atraso <\/a>ap\u00f3s cada pagamento n\u00e3o realizado. Se voc\u00ea quiser ver uma descri\u00e7\u00e3o detalhada desse processo, acesse nosso artigo <a href=\"https:\/\/membermouse.com\/pt\/documentos-3-2\/tratamento-automatizado-de-pagamentos-em-atraso\/\" title=\"\">Tratamento automatizado de pagamentos em atraso<\/a>.<\/p>\n\n\n\n<p>Voc\u00ea pode ajustar os tempos entre cada tentativa de cobran\u00e7a, mas as tr\u00eas tentativas n\u00e3o podem ser alteradas. Esse \u00e9 um n\u00famero fixo.<\/p>\n\n\n\n<p>Embora esse intervalo de coleta funcione muito bem como padr\u00e3o, talvez voc\u00ea queira personalizar os dias decorridos entre uma tentativa de coleta e a dura\u00e7\u00e3o do processo geral de coleta. \u00c9 poss\u00edvel personalizar isso usando um filtro do WordPress, <strong>mm_billing_subscription_dunning_interval<\/strong>.<\/p>\n\n\n\n<p>Os filtros s\u00e3o fun\u00e7\u00f5es pelas quais o WordPress passa os dados em determinados pontos da execu\u00e7\u00e3o, pouco antes de realizar alguma a\u00e7\u00e3o com os dados. O MemberMouse define seu pr\u00f3prio conjunto de filtros que voc\u00ea pode utilizar para controlar o fluxo de execu\u00e7\u00e3o no MemberMouse antes de determinadas a\u00e7\u00f5es serem tomadas.<\/p>\n\n\n\n<p>Aqui est\u00e1 um exemplo b\u00e1sico:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function customContentProtection($data)\n{\n     return true;\n}\nadd_filter('mm_bypass_content_protection', 'customContentProtection');\n<\/code><\/pre>\n\n\n\n<p>Neste exemplo, estamos usando o&nbsp;<a href=\"http:\/\/codex.wordpress.org\/Function_Reference\/add_filter\" target=\"_blank\" rel=\"noreferrer noopener\"><em>add_filter()<\/em><\/a>&nbsp;para indicar que o m\u00e9todo&nbsp; <em>customContentProtection()<\/em>&nbsp;deve ser chamado quando o MemberMouse aplicar o m\u00e9todo&nbsp; <em>mm_bypass_content_protection<\/em>&nbsp;filtro. <\/p>\n\n\n\n<p>Para saber mais sobre como trabalhar com a API de a\u00e7\u00e3o do WordPress&nbsp;<a href=\"http:\/\/codex.wordpress.org\/Plugin_API\" target=\"_blank\" rel=\"noreferrer noopener\">leia este artigo<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Personaliza\u00e7\u00e3o dos intervalos de cobran\u00e7a <\/h2>\n\n\n\n<p>O MemberMouse passa dois argumentos para sua fun\u00e7\u00e3o. O primeiro \u00e9 um n\u00famero inteiro <code>$failureInterval<\/code>\u00a0que representa o n\u00famero padr\u00e3o de dias antes da pr\u00f3xima tentativa. O segundo \u00e9 um n\u00famero inteiro <code>$failureState<\/code>\u00a0que representa o estado de falha de faturamento espec\u00edfico. Atualmente, existem tr\u00eas estados de falha: 2, 3 e 4, que representam a segunda, a terceira e a \u00faltima tentativa de cobrar o pagamento, respectivamente.<\/p>\n\n\n\n<p>Sua fun\u00e7\u00e3o deve retornar um n\u00famero inteiro que represente o n\u00famero de dias que deve ser permitido passar antes da pr\u00f3xima tentativa. Aqui est\u00e1 um exemplo que replica os intervalos de cobran\u00e7a padr\u00e3o:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function customDunningInterval($failureInterval, $failureState)\n{\n   switch ($failureState)\n   {\n      case 2:\n         return 2; \/\/ Primeira tentativa, dois dias ap\u00f3s a falha inicial de cobran\u00e7a\n      \n      case 3:\n         return 3; \/\/ Segunda tentativa, tr\u00eas dias ap\u00f3s a primeira tentativa\n      \n      Caso 4:\n         return 2; \/\/ Terceira tentativa, dois dias ap\u00f3s a segunda tentativa\n      \n      padr\u00e3o:\n         return $failureInterval;\n   }\n}\nadd_filter(\"mm_billing_subscription_dunning_interval\", \"customDunningInterval\", 10, 2);<\/code><\/pre>\n\n\n\n<p>Para personalizar os intervalos de cobran\u00e7a, basta alterar os valores retornados nas tr\u00eas instru\u00e7\u00f5es de caso para a dura\u00e7\u00e3o desejada em dias.<\/p>\n\n\n\n<p>Portanto, se voc\u00ea quisesse tentar novamente o pagamento 3 dias, 5 dias e 7 dias ap\u00f3s cada tentativa, voc\u00ea alteraria a fun\u00e7\u00e3o para que ficasse assim:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function customDunningInterval($failureInterval, $failureState)\n{\n   switch ($failureState)\n   {\n      case 2:\n         return 2; \/\/ Primeira tentativa, tr\u00eas dias ap\u00f3s a falha inicial de cobran\u00e7a\n      \n      case 3:\n         return 3; \/\/ Segunda tentativa, cinco dias ap\u00f3s a primeira tentativa\n      \n      Caso 4:\n         return 2; \/\/ Terceira tentativa, sete dias ap\u00f3s a segunda tentativa\n      \n      padr\u00e3o:\n         return $failureInterval;\n   }\n}\nadd_filter(\"mm_billing_subscription_dunning_interval\", \"customDunningInterval\", 10, 2);<\/code><\/pre>","protected":false},"excerpt":{"rendered":"<p>MemberMouse 3.0+ OBSERVA\u00c7\u00c3O: com os servi\u00e7os de pagamento que n\u00e3o oferecem suporte \u00e0 funcionalidade de cart\u00e3o em arquivo (ou seja, PayPal, Authorize.net), o MemberMouse n\u00e3o tem controle sobre o processo de faturamento recorrente e n\u00e3o lida automaticamente com pagamentos em atraso. Por padr\u00e3o, o MemberMouse...<\/p>","protected":false},"author":9645,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"_strive_editorial_status":"not-started","_strive_copy_of":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"ht-kb-category":[138],"ht-kb-tag":[],"class_list":["post-17111","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-tips-tricks"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/membermouse.com\/pt\/wp-json\/wp\/v2\/ht-kb\/17111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/membermouse.com\/pt\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/membermouse.com\/pt\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/membermouse.com\/pt\/wp-json\/wp\/v2\/users\/9645"}],"replies":[{"embeddable":true,"href":"https:\/\/membermouse.com\/pt\/wp-json\/wp\/v2\/comments?post=17111"}],"version-history":[{"count":0,"href":"https:\/\/membermouse.com\/pt\/wp-json\/wp\/v2\/ht-kb\/17111\/revisions"}],"wp:attachment":[{"href":"https:\/\/membermouse.com\/pt\/wp-json\/wp\/v2\/media?parent=17111"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/membermouse.com\/pt\/wp-json\/wp\/v2\/ht-kb-category?post=17111"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/membermouse.com\/pt\/wp-json\/wp\/v2\/ht-kb-tag?post=17111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}