Este documento explica como a extensão Pagamentos Recorrentes funciona com o Stripe.
Configurando o Stripe
É importante seguir todas as etapas descritas na Documentação de Configuração do Stripe.
Nota Importante de Configuração: Se os Webhooks não forem configurados corretamente, as assinaturas não funcionarão adequadamente!
Cancelando Assinaturas
Ao usar o Stripe, um cancelamento pode ser iniciado tanto dentro do EDD quanto no Painel do Stripe.
Cancelando como Cliente
Os clientes podem cancelar suas próprias assinaturas em página de conta da sua loja.
Cancelando como Administrador do Site
Para cancelar uma assinatura no admin do EDD, vá para Downloads → Assinaturas e clique em “Ver” no item que deseja cancelar.
Em seguida, na parte inferior da próxima tela, clique em “Cancelar Assinatura”.
Quando você define o status de uma assinatura como cancelada, ela é cancelada imediatamente, mas o cliente ainda terá acesso ao material comprado pelo tempo pelo qual pagou.
Por exemplo, se eles pagaram R$10/mês e você cancela no meio do mês, eles ainda terão acesso ao material pelo resto do mês, mas não serão cobrados novamente e o acesso será interrompido no final do mês.
Do Painel do Stripe
Para cancelar uma assinatura no Painel do Stripe, faça login no Stripe e localize a barra de pesquisa na parte superior da página.
Você pode encontrar clientes pesquisando por:
- o ID da cobrança
- o ID do perfil da assinatura
- o número do ID do cliente EDD
- o e-mail do cliente
Depois de encontrar e selecionar seu Cliente no Stripe, você verá uma lista de assinaturas.

Se você clicar em Cancelar (ícone X ao lado do nome da assinatura), terá três opções; cancelar Imediatamente, no final do período atual ou em uma data personalizada. Para fins do EDD, não importa qual você escolha imediatamente ou no final do período atual, seu cliente não experimentará nenhuma diferença entre os dois. Se você escolher uma data personalizada, que seja após o final do período atual, eles continuarão a ser cobrados até que a data personalizada passe.

Resumo do Cancelamento
Não importa se você cancela uma assinatura no EDD ou no Stripe, o efeito é exatamente o mesmo e o cliente não notará nenhuma diferença.
Atualizando Informações de Cartão de Crédito/Débito
Os clientes podem atualizar as informações do cartão para suas assinaturas específicas em página de conta da sua loja.
Descritores de Declaração
Quando um produto é configurado como assinatura, o comportamento do descritor é ligeiramente diferente das compras não assinadas. Quando uma assinatura é comprada pela primeira vez em seu site, um "Produto" é criado no Stripe que será usado para todas as compras subsequentes dessa assinatura específica. Você pode ver sua lista atual de Produtos fazendo login em sua conta Stripe e navegando em Produtos.
Quando este Produto é criado, um descritor de declaração é criado com base no nome do seu produto, independentemente da configuração mencionada em seu painel do WordPress. O descritor também será convertido para minúsculas e separará as palavras usando hifens. Entende-se que isso não parece amigável em um extrato bancário. Existem duas maneiras de alterar esse comportamento que são melhores usadas em conjunto se você não gostar do comportamento padrão:
1. Editar os detalhes do Plano
Ao acessar Produtos em sua conta Stripe, você pode clicar em qualquer Produto para ver seus detalhes. Uma vez na página de detalhes, clique no botão Editar detalhes. Você verá um modal que permite definir o descritor de declaração para aquele Produto específico.
O que você definir aqui será usado para todos os pagamentos desse plano de assinatura em seu site.
2. Filtrar o descritor de declaração padrão para planos Stripe
O método acima permite controlar o descritor de declaração para uma assinatura específica que já existe. Mas se uma nova assinatura for criada a partir da primeira compra de uma assinatura diferente em seu site, o comportamento padrão será aplicado. Isso significa que a nova assinatura ainda terá um descritor de declaração baseado no nome do produto por padrão.
Para criar um novo descritor de declaração padrão para todas as assinaturas criadas no futuro (isso não afetará as assinaturas existentes), use o seguinte filtro:
function custom_edd_recurring_stripe_plan_statement_descriptor( $args, $subscription ) {
$args['statement_descriptor'] = 'New Statement Desc';
return $args;
}
add_filter( 'edd_recurring_create_stripe_plan_args', 'custom_edd_recurring_stripe_plan_statement_descriptor', 10, 2 );
Substitua New Statement Desc pelo seu descritor de declaração padrão preferido (lembre-se do limite de 22 caracteres).
Em resumo, use o primeiro método para editar o descritor de declaração para uma assinatura existente. Use o segundo método para definir um novo descritor de declaração padrão para todas as assinaturas futuras.
Problemas comuns relacionados a webhooks
Clientes são cobrados muitas vezes
Se você não configurar seus webhooks Stripe corretamente antes de um cliente fazer uma compra e estiver usando a opção "Vezes" no EDD Recurring para cobrar do cliente um valor definido de vezes (por exemplo, 5 vezes), ele será cobrado muitas vezes.
Isso ocorre porque, sem o webhook, o Stripe não consegue informar ao EDD que os pagamentos foram efetuados com sucesso, então o EDD não sabe. Por causa disso, o EDD pensa que o cliente ainda não foi cobrado – mesmo que ele já tenha sido cobrado 5 vezes (ou mais).
O EDD envia um "cancelar assinatura" para o Stripe automaticamente quando o número de vezes é atingido. Mas como não há webhook, o EDD não sabe que o cliente foi cobrado e nunca cancela a assinatura. Isso resulta no cliente continuando a ser cobrado mesmo após o número definido de vezes ter sido atingido. É por isso que é importante configurar um webhook imediatamente após a instalação da extensão Stripe.
