Informations sur la récurrence

  • Posts: 28
  • Thank you received: 5
  • Hikaserial Subscription Hikashop Business
1 month 1 week ago #365197

Bonjour,

Je suis en train de finaliser un plugin de paiements récurrents par prélèvements SEPA via la nouvelle version de l'API du fournisseur GoCardLess. Malgré l'exemple de celui de paypal_recurring et l'aide de Claude (IA ! ;) ), ce n'est pas un petit morceau !

Le plugin paypal affiche les informations sur la récurrence issues du produit lui même. Panier :

.

Cela correspond à la définition de la relation entre le produit et le plan de souscription :


Dans notre plugin, on n'affiche ce mode de paiement que si le panier ne contient qu'un seul produit et s'il a l'information "recurring". Donc ce n'est pas un problème mais je me demande comment on passe d'une information liée au produit (relation avec le plan) à une information liée à la commande ? En effet l'objet "order" disponible sur l'évènement onPaymentNotification contient ces informations de récurrences (cf. fichier objet_order) alors qu'il se pourrait que la commande contienne un autre produit non lié à un plan ? non récurrent. Quel est le raisonnement ? Cela n'est pas lié aux paramètres du plugin de paiement dont les valeurs de récurrences sont différentes (et stockées dans payment_params). J'uitilise cette info mais je ne comprends pas bien pourquoi elle est là. Normalement, je devrais aller la chercher dans le produit identifié dans l'objet "order", non ? Est-ce la bonne méthode ou bien faut-il systématiquement aller chercher l'info dans le produit ?

D'autre part, nous gérons des abonnements sans limite de durée et d'autres avec une limite. J'ai prévu ce champ dans les paramètres de plugin. Il est donc possible d'avoir plusieurs instances du plugin avec des paramètres différents pour couvrir ces différents cas. Néanmoins, il serait plus logique et confortable d'associer cette information au produit lui-même. Puisqu'on peut exprimer la durée de souscription lorsqu'on créé une association entre un produit et un plan, pourquoi n'est-il pas prévu un champ "nb d'instances" ? sans limite si vide. Dans l'objet "product" il semble y avoir une variable "terms" mais elle n'est pas initialisée.

Quelle est la bonne méthode pour avoir la possibilité d'acheter un abonnement sans limite (renouvellement auto sans limite dans le temps) ou un abonnement (autre produit) avec un abonnement limité à un nombre de paiements ? Lorsqu'on créé l'abonnement dans GoCardLess on a la possibilité de préciser le nb de paiements (ou pas). L'API permet donc d'avoir ce choix.

Merci pour votre éclairage.

Laurent

Attachments:
Last edit: 1 month 1 week ago by Jerome.

Please Log in or Create an account to join the conversation.

  • Posts: 26195
  • Thank you received: 4031
  • MODERATOR
1 month 1 week ago #365207

Bonjour,

Je vous invite à consulter la fonction "checkPaymentDisplay" de Paypal Recurring.
Vous y verrez comment accéder directement aux informations liées au recurring :

$recurring_time_value = 0;
$recurring_time_unit = false;
if(!empty($order->paymentOptions['recurring']) && !empty($order->paymentOptions['recurring']['duration'])) {
	$recurring_time_unit = substr($order->paymentOptions['recurring']['duration'], -1);
	if(!in_array($recurring_time_unit, array('d','w','m','y')))
		$recurring_time_unit = false;

	$recurring_time_value = (int)$order->paymentOptions['recurring']['duration'];
}
C'est dans cette même fonction que le texte sur le recurring va être ajouté à la description.

Ainsi, via " $order->paymentOptions " vous avez tout le nécessaire sans avoir à regarder le contenu du panier.
Il y a également le champs "value" qui vous indique le prix du renouvellement dans le cas ou l'intégralité du panier n'est pas en recurrence.

Pour la partie confirmation de commande ; la récupération du "payment option recurring" va demander de regarder dans plusieurs endroits :
$recurring_data = false;
if(!empty($order->cart->paymentOptions['recurring']))
	$recurring_data = $order->cart->paymentOptions['recurring'];
else if(!empty($order->cart->order_payment_params->recurring))
	$recurring_data = $order->cart->order_payment_params->recurring;
else if(!empty($order->order_payment_params->recurring))
	$recurring_data = $order->order_payment_params->recurring;
Pour la suite, c'est le même principe (les mêmes données).

La partie importante avec un plugin de recurring est la gestion du renouvellement qui va demander la création d'une nouvelle commande :
$orderClass = hikashop_get('class.order');
$order_id = $orderClass->createRecurringSuborder($original_order_id);
Et c'est cette fonction dans le core d'HikaShop qui va s'occuper de ne mettre que les produits recurring dans la nouvelle commande ; il n'y a pas besoin pour le plugin de gérer les produits ; tout à déjà été implémenté.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 28
  • Thank you received: 5
  • Hikaserial Subscription Hikashop Business
1 month 1 week ago #365211

Merci pour ces éléments.
Globalement, on suit ces spécifications :
- features = true
- Vérification de $order->paymentOptions
- Implémentation de createRecurringSuborder()

Mais j'ai toujours des interrogations sur la durée de l'abonnement.
Dans les options de récurrence, l'objet $order contient :
= array(
'duration' => "1m", // période de base
'value' => null, // montant optionnel
'term' => '12m' // durée totale
)

1. Où et comment configurer le paramètre 'term' dans l'interface administrateur ? duration est fourni par l'assocation produit-plan où on définit la durée de base mais pas la durée totale ('term'). Je ne vois pas d'option dans la définition du plan non plus.

2. Si ce paramètre est bien transmis au système de paiement, devons-nous utiliser cette valeur pour limiter la durée totale de l'abonnement côté système de paiement (dans notre cas, GoCardless) ? Sera-t-il exprimé en nombre de "terms" (number of installments) ou est-ce une durée globale (duration: 1m, terms: 24m) ou encore une date calculée (fin de l'abonnement) ?

Merci d'avance pour ces précisions.

Laurent

Please Log in or Create an account to join the conversation.

  • Posts: 26195
  • Thank you received: 4031
  • MODERATOR
1 month 1 week ago #365218

Bonjour,

Il n'y a aucun paramètre "term" dans HikaSerial (ou HikaShop) ; je ne sais pas d'où vient cette donnée.
HikaSerial ne gère aucunement les souscriptions à terme car ce monde n'est pas compatible avec les APIs génériques de souscription.

Je suis navré mais je ne peux pas vous aider.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 28
  • Thank you received: 5
  • Hikaserial Subscription Hikashop Business
1 month 1 week ago #365252

Bonjour,

Le nombre de prélèvements/paiements est bien prévu dans les api de Paypal et GoCardless. Dommage qu'on ne puisse gérer cela depuis l'association produit/plan. J'ai contourné en ajoutant un champ "custom" dans les produits pour stocker cette information.

J'ai une autre question concernant les constantes de langues utilisées dans les paramètres du plugin en backend. Certaines sont spécifiques à ce plugin. D'après l'exemple du plugin Paypal, on ne peut pas utiliser un fichier de langue dédié dans le corps du plugin lui-même ? Il faut ajouter nos constantes au fichier language/en-GB/en-GB.com_hikaserial.ini (pour l'anglais) lors de l'installation du script. C'est bien cela ?

Merci

Laurent

Please Log in or Create an account to join the conversation.

  • Posts: 26195
  • Thank you received: 4031
  • MODERATOR
1 month 1 week ago #365256

Bonjour,

Les plugins de paiement sont des plugins Joomla ; vous pouvez tout à fait intégrer un fichier de langue.
Les plugins livrés avec HikaShop ou HikaSerial vont utiliser les traductions des composants pour des raisons de simplicité ; mais une grande quantité de plugins dans le marketplace vont avoir leur propre fichier de langue en respectant la façon de faire de Joomla.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 28
  • Thank you received: 5
  • Hikaserial Subscription Hikashop Business
1 month 3 days ago #365306

Bonjour,

C'est vrai pour les plugin agissant dans le front. Mais j'ai vérifié tous les plugins de payment (gratuits) de la market place et aucun ne gère de fichiers de langues. J'ai aussi regardé tous (je crois !) les plugins de payment livrés de base avec HikaBusiness et je n'ai pas été capable de trouver un fichier XML décrivant un fichier de langue externe.
J'ai essayé plein de configuration de nom ou de déclaration dans le XML. Les fichiers sont bien installés (dans administrator/language) mais jamais utilisés. Les constantes ne sont pas traduites. Sauf si je les mets dans le .ini du composant comme pour le paypalrecurring.

J'ai écrit 3 plugins autre que de payment (zoom, SendEthic et gestion de préinscriptions) qui interviennent tous au moment de la commande sans avoir de paramètrages en back office et là, les constantes sont bien traduites (messages, ou contenus).

Si vous pouviez me mettre sur la piste....

Merci.

Laurent

Please Log in or Create an account to join the conversation.

  • Posts: 26195
  • Thank you received: 4031
  • MODERATOR
1 month 1 day ago #365307

Bonjour,

Vous dites :

J'ai aussi regardé tous (je crois !) les plugins de payment livrés de base avec HikaBusiness et je n'ai pas été capable de trouver un fichier XML décrivant un fichier de langue externe.

Bien que je vous avait déjà indiqué :

Les plugins livrés avec HikaShop ou HikaSerial vont utiliser les traductions des composants pour des raisons de simplicité


De plus :

mais une grande quantité de plugins dans le marketplace vont avoir leur propre fichier de langue en respectant la façon de faire de Joomla.

Je ne dis aucunement que des plugins de paiement vont avoir leur propre traductions ; mais que nombreux plugins du marketplace vont en avoir à partir du moment où il y a un intérêt d'avoir du contenu propre à leur besoin (ajout d'une interface).

Les plugins de paiement sont des plugins Joomla ; vous pouvez tout à fait intégrer un fichier de langue.

Ce que vous essayer de faire est un plugin Joomla ; le fait qu'il soit utilisé par HikaShop ne change rien au fait que c'est un plugin Joomla qui se base sur le fonctionnement/manifests de Joomla.
Si vous recherchez des informations sur la façon de créer un plugin Joomla, je vous invite à regarder la documentation de Joomla.

joomla.stackexchange.com/questions/19045...ge-files-in-a-plugin
docs.joomla.org/Creating_a_profile_plugin/en

Le support peut vous aider pour vos questions relatives à nos solutions
Merci de respecter cela.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 28
  • Thank you received: 5
  • Hikaserial Subscription Hikashop Business
1 month 1 day ago #365315

Bonjour,

Merci pour réponse détaillée et vos conseils pertinents.
J'ai développé des plugins pour Joomla. Certains liés à HikaShop, d'autres n'ayant rien à voir avec Hikashop. Tous avec des fichiers de langues. Cela fonctionne sans problème.
Mon soucis est lié à un plugin de type hikashoppayment.

Si on prend votre plugin paiement example disponible ici : www.hikashop.com/component/updateme/ctrl.../plugin-example.html on trouve lignes 18 à 30 la définition des champs de paramètrage du plugin tels qu'ils apparaissent en BO quand on veut ajouter ce mode paiement à la boutique. Certains utilisent une constante de langue qui est définie dans le fichier de langue du composant. Par exemple CANCEL_URL_DEFINE. Cela fonctionne parfaitement et la traduction apparaît en BO.

Si vous remplacez cette ligne qui n'utilise pas de constante de langue :

'payment_url' => array("Payment URL",'input'), // Platform payment's url
Par une constante spécifique comme :
'payment_url' => array("EXEMPLE_PAYMENT_URL",'input'), // Platform payment's url

Si vous ajoutez cette constante de langue et sa traduction dans le fichier de langue du composant, cela fonctionne, évidemment, très bien.
Mais je n'est pas réussi à mettre cette constante dans un fichier .ini ou .sys.ini de telle façon que cette constante soit traduite. Les fichiers sont bien installés mais non utilisés.
Ci-joint l'une de mes tentatives.

Si vous y arrivez, je serais preneur de la méthode.

Merci.

Laurent

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 26195
  • Thank you received: 4031
  • MODERATOR
1 month 1 day ago #365322

Bonjour,

Avez-vous essayé de faire le chargement du fichier de langue dans la fonction "onPaymentConfiguration ?
www.hikashop.com/support/documentation/6...PaymentConfiguration

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 28
  • Thank you received: 5
  • Hikaserial Subscription Hikashop Business
1 month 1 hour ago #365330

Bonsoir,

Cela n'a pas été simple mais j'ai trouvé. En fait il faut ajouter dans la classe du plugin :

class plgHikashoppaymentExample extends hikashopPaymentPlugin
{
	/**
    * Load the language file on instantiation.
    *
    * @var    boolean
    * @since  3.1
    */
    protected $autoloadLanguage = true;

A partir de là, tout fonctionne comme pour un plugin conventionnel. Il semble que les plugins du backend ne chargent pas les fichiers de langues par défaut.

Ci-joint le zip de votre plugin "example" avec un fichier langue et une traduction de test qui fonctionne. Je pense que cela pourra servir à de futurs développeurs :-).

Autre sujet : on sait gérer les annulations d'abonnement depuis la plateforme GoCardLess en "informant" hikashop et en arrêtant la hikasubscription. Par contre, si le client ou, surtout, l'admin veut annuler l'abonnement dans hikashop, il semble qu'on ne puisse pas "capturer" onAfterOrderUpdate ou autre évènement pour déclencher une annulation de l'abonnement dans GoCardLess.

Je suppose qu'il faut créer un autre plugin pour "écouter" ces évènements et retrouver les informations de la commande pour annuler l'abonnement côté goCardLess.

Est-ce la bonne piste ? Autre méthode plus efficace ? Existe-t-il un exemple ou un plugin pour s'inspirer ?

Merci

LAurent

Attachments:
The following user(s) said Thank You: Jerome

Please Log in or Create an account to join the conversation.

  • Posts: 26195
  • Thank you received: 4031
  • MODERATOR
4 weeks 2 days ago #365332

Bonjour,

Cela dépendre comment vous souhaitez que l'admin puisse annuler le renouvellement automatique.
Sur une annulation de commande, cela me semble un peu trop violent ; sur un changement d'état de la souscription... Pourquoi pas.

Les plugins de payment (hikashoppayment) sont chargés avant l'appel du trigger "onBeforeSubscriptionUpdate" ; donc vous n'avez pas besoin d'un deuxième plugin pour gérer ce type d'évènement.

HikaShop pour les triggers "onBeforeOrderUpdate" (et onAfter) fait également un chargement des plugins de paiement ; vous êtes donc dans le même cas.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 28
  • Thank you received: 5
  • Hikaserial Subscription Hikashop Business
4 weeks 2 days ago #365334

Bonjour,

J'ai fait des essais sur onBeforeOrderUpdate qui n'ont pas été concluant. Je vais essayer sur onBeforeSubscriptionUpdate qui semble plus approprié. Il n'y a pas d'état "cancelled" sur les souscriptions. J'aimerais éviter de "jouer" avec "active"/"expired"/"closed" parce que cela correspond à des états de la vie normale d'une souscription. Faut-il utiliser "deteted" pour marquer qu'une souscription a été annulée par le client ou par un admin ? Qu'elle action manuelle en admin (ou via le client) permet de dire qu'une souscription est annulée/arrêtée ?

Merci

Please Log in or Create an account to join the conversation.

  • Posts: 26195
  • Thank you received: 4031
  • MODERATOR
4 weeks 1 day ago #365342

Bonjour,

Il n'y a pas d'annulation sur une souscription à proprement parlé ; comme indiqué, il n'y a que les statuts listés et il n'est pas prévu d'en avoir d'autres.
Le renouvellement est géré par le champs "subscription_auto_renew" et il doit être modifié par la fonction "cancelRenew" de la class "subscription".
Cette fonction va d'ailleurs faire l'appel à la fonction "onSubscriptionRecurringCancel" du plugin de paiement lié à la souscription.

Au niveau du backend, il n'y a pas de bouton dans la toolbar pour déclencher cette annulation de renouvellement ; mais il pourrait être ajouté afin d'être équivalent à la fonctionnalité présent dans le front-end pour l'utilisateur final.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 28
  • Thank you received: 5
  • Hikaserial Subscription Hikashop Business
4 weeks 1 day ago #365344

Bonjour,

Oui il faut drait ajouter la possibilité d'annuler l'auto-renew depuis le backend. Il y a des situations commerciales un peu "tendues" où il est préférable que l'administrateur puisse mettre fin à l'abonnement et donc aux prélèvements.

Le système hikashop se prète bien à la gestion des abonnements avec paiements (et factures) réguliers. Mais vous devriez reconsidérer votre position sur le statut "cancelled". Il correspond à une vraie information quand on consulte la liste des souscriptions. Et à une vraie étape dans son cycle de vie. "expired" correspond à une fin "normale". "Cancelled" correspond à une fin "avortée". D'autant plus que je ne vois comment et où on utilise le statut "deleted" (qui permet au client de renouveller pour autant ?!?)

Ou alors prévoir que l'auto-renew puisse avoir un statut actif/annulé avec un symbole différent en backend quand l'auto-renew a été annulé. D'autant plus que si je m'en refèrre au code de la vue, le symbole auto-renew n'est affiché que si la souscription est "active" :

<td><?php
	echo hikaserial::getDate((int)$row->subscription_end_date);

	if(!empty($row->subscription_auto_renew) && $row->subscription_status == 'active')
		echo ' <i data-toggle="hk-tooltip" data-title="'.JText::_('HIKA_SUBSCRIPTION_AUTO_RENEW', true).'" class="fas fa-sync-alt"></i>';
?></td>

Quand on a beaucoup de client et qu'on souhaite savoir où ils en sont, pouvoir faire la différence entre ceux qui sont abonnés, ceux qui n'ont pas renouvellé et ceux qui ont annnulé leur renouvellement automatique, c'est une vraie nécessité. Je comprends que cela va un peu plus loin que le mécanisme initialement prévu où le client est informé de la fin prochaine de son abonnement et invité à renouveller son abonnement en passant une nouvelle commande. Mais à partir du moment où on propose se mécanisme pertinent d'abonnement avec renouvellement automatique, il faut pouvoir différencier les cas de figure d'une façon ou d'une autre.

J'ai mis en place avec succès le onSubscriptionRecurringCancel() qui permet d'annuler les prélèvements futurs et de prévenir l'admin que le client a mis fin à son abonnement. Je mets des messages dans l'historique des commandes. Je peux envisager de créer un nouveau statut pour ces commandes ou pour la dernière commande de renouvellement. Je suppose que la souscription va passer à "expirée" par le cron puisqu'elle n'est plus en renouvellement auto. Mais il est dommage que l'on est n'est pas l'info supplémentaires sur le fait que le client a annulé son abonnement.

Cordialement,

Laurent

Last edit: 4 weeks 22 hours ago by Jerome.

Please Log in or Create an account to join the conversation.

  • Posts: 26195
  • Thank you received: 4031
  • MODERATOR
4 weeks 21 hours ago #365355

Bonjour,

Le statut "deleted" ne devrait plus être proposé ; il va être retiré de l'interface.
Une souscription "closed" est terminée et ne peux pas être renouvelée ; peut importe si elle a été clôturée car non renouvelée à temps, ou si elle a été fermée manuellement.

Contrairement à HikaShop qui permet de gérer un workflow avec les statut de commande, ce n'est pas la logique d'HikaSubscription.
Le statut est l'état de la souscription et il n'y en a que trois.
Bien que je comprenne votre point de vue, je suis navré mais le statut "cancelled" serait une stricte copie de "closed" donc serait une source de bug dans HikaSubscription.
Je ne vais pas être fermé à ajouter des statut ; mais je tiens à préciser qu'il faudra des arguments (et un workflow) solides pour me convaincre.

Le champs "auto renew" est justement ce qui fait que la souscription va être en récurrent automatique ou non ; c'est tout le but de ce champs qui contient les données relatives au plugin qui s'occupe de la récurrence.
rien n'empêche d'ajouter des colonnes et de la logique dans le backend ; pour vous permettre d'afficher plus de détails sur votre utilisation ; vous avez même la possibilité d'ajouter des champs à votre guise dans "extra data".

Si vous souhaitez faire une modification dans une commande ; vous êtes libre de faire ce que vous souhaitez.
Mais je tiens simplement à vous préciser que la commande a été payée et qu'elle doit donc avoir un statut qui sera accepté pour votre comptabilité.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 28
  • Thank you received: 5
  • Hikaserial Subscription Hikashop Business
3 weeks 6 days ago #365366

Bonjour,

Merci pour cet échange de qualité. Je comprends vraiment les raisons de la réticence à faire évoluer un schéma qui fonctionne et, effectivement, je vous rejoins sur le statut des commandes et l'importance de ne plus modifier un service effectué, confirmé et facturé.
Je n'ai pas exploré la possibilité d'ajouter des champs dans extra_data. Je suppose qu'il faut ensuite overrider la vue qui affiche la liste des souscriptions pour faire apparaître l'info. C'est une bonne solution.

Nous avons les 3 schémas en oeuvre.

  1. La souscription annuelle (membre) qui prévient l'utilisateur quand elle arrive à expiration. Charge à lui de renouveller ou pas. Cela marche impec. Rien à changer.

  2. La souscription mensuelle avec factures mensuelles sans terme. On l'utilise pour un abonnement à un service d'IA sur un site s'adressant à des professionnels. La solution du recurring_payment avec le auto_renew (dans notre cas via Gocardless), là aussi, est parfaitement adaptée. Si le client souhaite cesser son abonnement, il passe en close (on notifie l'admin quand même). Pas nécessaire de rajouter quoi que ce soit.

  3. La souscription mensuelle avec factures mensuelles "calée" sur une période. En l'occurence pour nous la durée d'une formation (12, 24 ou 36 mois). Il est important de savoir si l'étudiant suspend son abonnement (cancel auto_renew depuis son espace ou demande à arrêter) car il n'a plus accès à certaines informations et cet abonnement fait partie des conditions de sa formation. Dans ce cas, dans la liste des souscriptions, on ne peut pas distinguer le fait qu'une souscription soit "closed" parce qu'arrivée à son terme d'une souscription "avortée" par le client.

Ce mécanisme (prévoir le nb d'échéances à la souscription intiale) est inclus tant chez PayPal que chez GoCardLess. J'ai l'impression qu'avoir 3 états pour le "auto_renew" (inactif, actif, annulé) avec 1 symbole supplémentaire dans le listing perrmettrait d'afficher cette information.

En l'absence, je vais essayer d'afficher le nb de renouvellements d'une souscription donnée (nb de commandes confirmées associées à cette souscription) avec éventuellement le nb total prévu (6/12). Le fait qu'une souscription soit "closed" avec un chiffre du genre (6/12) indiquerait une situation anormale. Alors que "closed" plus "12/12" indiquerait un abonnement arrivé à son terme.

Je pense que tôt ou tard des clients utilisant le triptyque HikaShop+hikaSub+PaypalRecurring auront la demande de dissocier le cas de la fin "normale" de la fin "avortée".

Quoi qu'il en soit, notre plugin fonctionne bien et je vous remercie pour votre aide. Je démarrerai un nouveau post pour une autre question pas vraiment liée à la récurrence pour ne pas "polluer" celui-ci.

Bien cordialement,

Laurent

The following user(s) said Thank You: Jerome

Please Log in or Create an account to join the conversation.

Moderators: Obsidev
Time to create page: 0.108 seconds
Powered by Kunena Forum