Bonjour, ma question est assez simple :
Comment peut-on récupérer le
transaction_condition qui correspond en fait au retour de la banque par rapport au 3D Secure.
Je souhaite récupérer cette info et la mettre avec les autres dans le commentaire de changement de statut de la commande.
J'ai testé en modifiant d'abord : app\code\local\Mage\Atos\Model\Api\Response.php
comme ceci :
| Code : |
list (,
$hash['code'],
$hash['error'],
$hash['merchant_id'],
$hash['merchant_country'],
$hash['amount'],
$hash['transaction_id'],
$hash['payment_means'],
$hash['transmission_date'],
$hash['payment_time'],
$hash['payment_date'],
$hash['response_code'],
$hash['payment_certificate'],
$hash['authorisation_id'],
$hash['currency_code'],
$hash['card_number'],
$hash['cvv_flag'],
$hash['cvv_response_code'],
$hash['bank_response_code'],
$hash['complementary_code'],
$hash['complementary_info'],
$hash['return_context'],
$hash['caddie'], // unavailable with NO_RESPONSE_PAGE
$hash['receipt_complement'],
$hash['merchant_language'], // unavailable with NO_RESPONSE_PAGE
$hash['language'],
$hash['customer_id'], // unavailable with NO_RESPONSE_PAGE
$hash['order_id'],
$hash['customer_email'], // unavailable with NO_RESPONSE_PAGE
$hash['transaction_condition'],
$hash['customer_ip_address'], // unavailable with NO_RESPONSE_PAGE
$hash['capture_day'],
$hash['capture_mode'],
$hash['data']
) = $sips_resp;
|
J'ai rajouté le transaction_condition dans les infos à récup.
J'ai ensuite modifier le
describeResponse pour traiter le nouveau champ
| Code : |
if (isset($response['transaction_condition']))
{
switch($response['transaction_condition'])
{
case '3D_SUCCESS':
$array['transaction_condition'] = "3D_SUCCESS";
break;
case '3D_FAILURE':
$array['transaction_condition'] = "Le commerçant et le porteur de la carte sont inscrits au programme 3-D Secure mais l’acheteur n’a pas réussi à s’authentifier (mauvais mot de passe).";
break;
case '3D_ERROR':
$array['transaction_condition'] = "Le commerçant participe au programme 3-D Secure mais le serveur Mercanet a rencontré un problème technique durant le processus d’authentification (lors de la vérification de l’inscription de la carte au programme 3D ou de l’authentification du porteur).";
break;
case '3D_NOTENROLLED':
$array['transaction_condition'] = "Le commerçant participe au programme 3-D Secure mais la carte du porteur n’est pas enrôlée.";
break;
case '3D_ATTEMPT':
$array['transaction_condition'] = "Le commerçant et le porteur de la carte sont inscrits au programme 3-D Secure mais l’acheteur n’a pas eu à s’authentifier (le serveur de contrôle d’accès de la banque qui a émis la carte n’implémente que la génération d’une preuve de tentative d’authentification).";
break;
default:
$array['transaction_condition'] = "3D Secure - Code invalide : " . $response['transaction_condition'];
}
$string .= Mage::helper('atos')->__('Reponse 3D Secure : %s', $array['transaction_condition']) . "\n";
}
|
Mais ces modifications ne fonctionnent pas, je pense que ca vient de la récupération du transaction_condition.
J'espère que quelqu'un pourra m'aider car j'ai besoin de récupérer ce retour de la banque.