En désactivant juste la redirection dans la fonction after_end, j'avais l'affichage du message de retour mais sur une page blanche, mon template ne s'affichait pas.
Donc 2 solutions :
1/ Dans mon fichier success.php, au lieu de mettre
$_GET['option']='com_hikashop';
$_GET['tmpl']='component';
$_GET['ctrl']='checkout';
$_GET['task']='after_end';
$_GET['Itemid']='102';
$_REQUEST['option']='com_hikashop';
$_REQUEST['tmpl']='component';
$_REQUEST['ctrl']='checkout';
$_REQUEST['task']='after_end';
$_REQUEST['Itemid']='102';
include('index.php');
j'ai mis
header("Location: http://www.monsite.fr/index.php?option=com_hikashop&ctrl=checkout&task=after_end&Itemid=102");
et là je retombais sur la bonne page
2/Dans mon fichier success.php, mettre
$_GET['option']='com_hikashop';
$_GET['tmpl']='component';
$_GET['ctrl']='checkout';
$_GET['task']='after_end';
$_GET['Itemid']='102';
$_REQUEST['option']='com_hikashop';
$_REQUEST['tmpl']='component';
$_REQUEST['ctrl']='checkout';
$_REQUEST['task']='after_end';
$_REQUEST['Itemid']='102';
include('index.php');
dans la fonction after_end du controller checkout
au lieu
if(!empty($paymentOptions->payment_params->return_url)){
$app->redirect($paymentOptions->payment_params->return_url);
}
J'ai mis une redirection vers un article de mon choix :
if(!empty($paymentOptions->payment_params->return_url)){
$app->redirect('index.php?option=com_content&view=article&id=67Itemid=251');
}
Et voilà, tout fonctionne !
Merci Nicolas pour ton aide.