Merci Mohamed !
J'avais trouvé une autre discussion, mais l'auteur qui a trouvé la bonne manière de paramétrer le compte Postfinance n'a pas su donner la solution.
Je viens de créer une commande de test qui est bien confirmée au retour, mais avec une page blanche sur le site dont l'adresse est
/index.php?option=com_hikashop&ctrl=checkout&task=notify¬if_payment=postfinance&tmpl=component&lang=fr&Itemid=230
c'est à dire l'adresse de retour présente dans le plugin, à laquelle s'ajoute cet itemid (celui de category listing dans HikaShop menu listing) :
index.php?option=com_hikashop&ctrl=checkout&task=notify¬if_payment=postfinance&tmpl=component
Le rapport de débogage pour cette transaction est celui-ci :
-- 01.27.16 21:46:22 --
stdClass Object
(
[order_id] => 100075
[order_billing_address_id] => 6
[order_shipping_address_id] => 6
[order_user_id] => 5
[order_status] => confirmed
[order_type] => sale
[order_number] => EspTellura-100075/01/16
[order_created] => 1453927571
[order_modified] => 1453927580
[order_invoice_id] => 0
[order_invoice_number] =>
[order_invoice_created] => 0
[order_currency_id] => 151
[order_currency_info] => O:8:"stdClass":4:{s:13:"currency_code";s:3:"CHF";s:13:"currency_rate";s:7:"1.00000";s:20:"currency_percent_fee";s:4:"0.00";s:17:"currency_modified";s:10:"1453712832";}
[order_full_price] => 49.00000
[order_tax_info] => Array
(
)
[order_discount_code] =>
[order_discount_price] => 0.00000
[order_discount_tax] => 0.00000
[order_payment_id] => 4
[order_payment_method] => postfinance
[order_payment_price] => 0.00000
[order_payment_params] =>
[order_shipping_id] => 10
[order_shipping_method] => manual
[order_shipping_price] => 9.00000
[order_shipping_tax] => 0.00000
[order_shipping_params] => stdClass Object
(
[prices] => Array
(
[10@0] => stdClass Object
(
[price_with_tax] => 9.00000
[tax] => 0
)
)
)
[order_partner_id] => 0
[order_partner_price] => 0.00000
[order_partner_paid] => 0
[order_partner_currency_id] => 0
[order_ip] => 109.212.43.10
[order_site_id] =>
[order_payment_tax] => 0.00000
)
Array
(
[option] => com_hikashop
[ctrl] => checkout
[task] => notify
[notif_payment] => postfinance
[tmpl] => component
[orderID] => 100075
[currency] => CHF
[amount] => 49
[PM] => PostFinance Card
[ACCEPTANCE] => 123456
[STATUS] => 9
[CARDNO] =>
[ED] =>
[CN] =>
[TRXDATE] => 01/27/16
[PAYID] => 55999263
[NCERROR] => 0
[BRAND] => PostFinance Card
[IP] => 109.212.43.10
[SHASIGN] => 1CCFD039D3B8C30977DD40E90A5CCB4BF69AD56D
)
-- 01.27.16 21:46:22 --
PostFinance $_REQUEST :
Array
(
[option] => com_hikashop
[ctrl] => checkout
[task] => notify
[notif_payment] => postfinance
[tmpl] => component
[orderID] => 100075
[currency] => CHF
[amount] => 49
[PM] => PostFinance Card
[ACCEPTANCE] => 123456
[STATUS] => 9
[CARDNO] =>
[ED] =>
[CN] =>
[TRXDATE] => 01/27/16
[PAYID] => 55999263
[NCERROR] => 0
[BRAND] => PostFinance Card
[IP] => 109.212.43.10
[SHASIGN] => 1CCFD039D3B8C30977DD40E90A5CCB4BF69AD56D
[hikashop_payment_notification_plugin] => 1
)
-- 01.27.16 21:46:22 --
result :
Array
(
[ACCEPTANCE] => 123456
[AMOUNT] => 49
[BRAND] => PostFinance Card
[CURRENCY] => CHF
[IP] => 109.212.43.10
[NCERROR] => 0
[ORDERID] => 100075
[PAYID] => 55999263
[PM] => PostFinance Card
[STATUS] => 9
[TRXDATE] => 01/27/16
)
Donc avec ce paramétrage, il y a bien un retour interprété par HikaShop comme confirmation de la commande, mais la page ne bascule pas vers celle des catégories (itemid 230) ni vers un pop-up puisque l'adresse comporte un "tmpl=component" : c'est donc ce mélange d'appel de pop-up et d'itemid qui semble poser problème.
Merci de votre aide,
Robert