J'utilise les abonnements Paypal et la notification instantanée de paiement (IPN) pour gérer les abonnés sur mon site.
La plupart du temps, cela fonctionne bien, mais j'ai rencontré un problème occasionnel.
En général, si un utilisateur annule son abonnement, j'attends la notification de "fin de terme" (subscr_eot) avant de désactiver l'accès à mon site.
Ainsi, s'ils paient d'avance pour le mois entier, puis annulent immédiatement, ils ont toujours accès pour le reste du mois (comme il se doit).
Mais certains utilisateurs rencontrent ce problème lorsqu'ils.. :
- Annuler leur abonnement
- Avant que la "fin du terme" ne soit atteinte, ils décident de se réabonner.
- Lorsque la "fin du terme" est atteinte pour leur premier abonnement, mon application reçoit la notification et envoie un e-mail à l'utilisateur avec quelque chose comme "votre compte a été désactivé, si vous voulez vous réinscrire, vous pouvez le faire en cliquant ici".
- Cela les perturbe parce qu'ils pensent... c'est bizarre, je pensais m'être abonné il y a une semaine (et ils l'ont fait). Ils s'inscrivent donc à nouveau. Maintenant, ils ont deux abonnements simultanés à mon site et je reçois un e-mail d'assistance dans un mois ou deux ("wtf, vous m'avez facturé deux fois ce mois-ci, imbécile !)
Je n'ai donc pas trouvé de bon moyen de résoudre ce problème. Je pense que la meilleure solution serait d'effectuer un appel supplémentaire à l'API lorsque la notification de "fin de terme" est reçue, qui demanderait à Paypal "Cette personne s'est-elle déjà réinscrite ?". Si c'est le cas, il n'est pas nécessaire d'envoyer cet e-mail. Mais je n'ai pas encore vu de moyen de faire cet appel API.
Une autre solution consiste à désactiver leur compte immédiatement lorsqu'ils annulent (la notification "subscr_cancel"), mais je reçois alors différents courriels de support en colère "hey, j'ai prépayé pour le mois entier, pourquoi mon compte a-t-il déjà été désactivé !!!".
Quelqu'un d'autre a résolu ce problème ?