Supprimer une souscription

  • Posts: 21
  • Thank you received: 2
  • Hikaserial Subscription Hikashop Business
1 year 1 month ago #350135

-- HikaShop version -- : 4.7.1
-- HikaSerial version -- : 4.0.2
-- Joomla version -- : 4.2.8
-- PHP version -- : 8.1.16

Bonjour,

Nous utilisons HikaShop+HikaSubscriptions pour gérer la vente de clef de licence logicielle via un plugin dédié vers l'API de LimeLM. Cela fonctionne très bien pour les achats initiaux (1 an) et pour les renouvellements de licences.
Si un acheteur ne renouvelle pas lors du rappel, on lui laisse un an avant de passer la souscription en "closed".
Le plugin utilise le "onAfterSubscriptionClose" pour supprimer la clef dans limeLM qui devient définititivement inutilisable.
Tout cela fonctionne très bien.

On souhaiterait aussi supprimer la souscription dans la liste hikeserial. On garde le "client" mais on supprime la souscription. C'est l'équivalent du bouton "supprimer" disponible dans la liste en backend quand on coche une ou plusieurs de ces souscriptions.

Est-il safe de faire directement ceci à la fin du onAfterSubscriptionsClose (extrait de votre code dans le controller admin hikaSerial) :

if (isset($subsToDelete) && is_array($subsToDelete) && count($subsToDelete) > 0) {
	$subscriptionClass = hikaserial::get('class.subscription'); // nécessaire ? Directement $this->delete ?
	$num = $subscriptionClass->delete($subsToDelete);
	if ($num) {
		$this->LimeLMsublog("Suppression de $num souscription(s) dans HikaSerial");					
	} else {
		$this->LimeLMsublog("Erreur suppression souscriptions : " .print_r($subsToDelete, true));					
	}
}

Merci

Laurent p/o Nicolas

Last edit: 1 year 1 month ago by sl1200mk2.

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

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
1 year 1 month ago #350165

Bonjour,

Merci pour votre message.
C'est toujours intéressant de voir les intégrations réalisées avec HikaSerial :)

Dans votre plugin, vous pouvez faire une suppression de la souscription durant le trigger "onAfterSubscriptionsClose".
L'idéal serait de supprimer l'entrée du paramètre "&$closed_subscriptions" afin d'éviter que d'autres plugins (pouvant être branché également sur le trigger) n'essaie d'accéder à une souscription que vous venez de supprimer.

D'une certaine façon, la suppression de la souscription sur votre site va vous faire perdre l'historique de celle-ci ; mais de toute façon vous gardez les commandes de l'utilisateur qui reste le principal.

Et oui, depuis votre plugin (et sa fonction "onAfterSubscriptionsClose" pour être appelé sur ce trigger), vous avez besoin de charger une instance de la classe de souscription pour appeler le delete.

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.

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