CM CIC spécifique / paiement récurrent

  • Posts: 332
  • Thank you received: 4
11 years 5 months ago #79147

Bonsoir,

Je reviens sur la fonction checkSubscription dans la quelle j'ai modifié la partie de code suivant

foreach($cart->products as $product){
if(!isset($product->product_subscription_id) || $product->product_subscription_id == '0'){
$noRecurring++;
}else{
$subLevel[$i] = $product->product_subscription_id;
$recurring++;
}
$i++;
$totalProducts += $product->cart_product_quantity;
if(isset($oldProduct->product_type) && $oldProduct->product_type == 'main' && $product->product_type == 'variant'){
$noRecurring--;
$recurring--;
}
$oldProduct = $product;
}

par celui
foreach($cart->products as $product){
if(!isset($product->subscription_level_id) || $product->subscription_level_id == '0'){
$noRecurring++;
}else{
$subLevel[$i] = $product->subscription_level_id;
$recurring++;
}
$i++;
$totalProducts += $product->cart_product_quantity;
if(isset($oldProduct->product_type) && $oldProduct->product_type == 'main' && $product->product_type == 'variant'){
$noRecurring--;
$recurring--;
}
$oldProduct = $product;
}

En fait, les cas suivants se présentent :
1) un produit récurrent et un produit non récurrent, j'ai les 2 méthodes de paiement affichés dans la passage de caisse avec le message "Recurring products & not recurring products in cart, please keep only one type of products in this cart."
2) un produit récurrent, aucune méthode de paiement au passage de caisse et le message "Pas de méthodes trouvées", la variable $paymentType au retour de la fonction est = "recurring".
3) produit non récurrent, les 2 méthodes de paiement sont présentes et pas de message, la variable $paymentType au retour de la fonction est = "noRecurring".

Une idée pour que la méthode s'affiche au bon moment pour les cas 2 et 3 ????

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

  • Posts: 13201
  • Thank you received: 2322
11 years 5 months ago #79192

Bonjour,

Cela viens sûrement du fait que la méthode CM CIC récurrente n'est pas reconnu en tant que méthode récurrente.
Avez vous bien ajouté "$method->recurring = 1;" dans la fonction "onPaymentDisplay()" de votre fichier cm cic récurrent ?

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

  • Posts: 332
  • Thank you received: 4
11 years 4 months ago #79222

Bonjour,

Oui en première ligne de la fonction. Par contre, je viens de faire un dump (avec jdump) de la variable $method dans la fonction onPaymentDisplay et la propriété $method->recurring n'existe pas ???



[stdClass object] onpaymentdisplay Tooltip

Properties
[string] access = "1"
[string] checked_out = "42"
[string] checked_out_time = "2012-11-25 16:22:40"
[string] client_id = "0"
[string] custom_data = ""
[string] element = "cmcic_recurrent"
[string] enabled = "1"
[string] extension_id = "10401"
[string] folder = "hikashoppayment"
[string] manifest_cache = "{"legacy":false,"name":"Hikashop CyberMuth CIC Payment Plugin","type":"plugin","creationDate":"April 2011","author":"Hikashop","copyright":"Copyright ..." (Length = 381)
[string] name = "Hikashop CyberMuth CIC Payment Plugin"
[integer] ordering = 6
[string] params = "[]"
[string] payment_access = "all"
[string] payment_currency = ""
[string] payment_description = "<p>Paiement sécurisé de vos abonnements uniquement par carte bancaire</p>"
[string] payment_id = "6"
[string] payment_images = "MasterCard,VISA,Credit_card"
[string] payment_name = "CMCIC_REC"
[stdClass object] payment_params
Properties
[string] bank = "cm"
[string] cancel_url = "http:xxxxx/index.php?option=com_content&view=article&id=67&Itemid=266"
[string] debug = "1"
[string] invalid_status = "cancelled"
[string] key = "12345678901234567890123456789012345678P0"
[string] payment_currency = "1"
[string] payment_percentage = "0"
[string] return_url = "xxxxxx/index.php?option=com_content&view=article&id=66&Itemid=266"
[string] societe = "007f75fc495927bcc538"
[string] tpe = "0000002"
[string] verified_status = "confirmed"
[double] payment_price = 0
[string] payment_shipping_methods = ""
[string] payment_type = "cmcic_recurrent"
[string] payment_zone_namekey = "country_France__Metropolitan_74"
[string] protected = "0"
[string] state = "0"
[string] system_data = ""
[string] type = "plugin"

Last edit: 11 years 4 months ago by emohk.

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

  • Posts: 13201
  • Thank you received: 2322
11 years 4 months ago #79237

Il ne faut pas le mettre en première ligne de la fonction.
Car l'objet $method est remplacé par la suite.

Placez le juste avant:

$usable_methods[$method->ordering]=$method;

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

  • Posts: 332
  • Thank you received: 4
11 years 4 months ago #79249

OK, j'ai mes modes de paiement en fonction des produits.
Merci, je continue à tester

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

Time to create page: 0.057 seconds
Powered by Kunena Forum