Mettre en place 3DSv2
Closed this issue · 0 comments
agallou commented
Nous avons besoin de passer à 3DSv2 (notamment pour passer sur le nouveau compte Paybox).
Pour cela, nous allons devoir envoyé le nombre de lignes de facturées, ainsi que les infos de facturation.
Il faudra donc modifier la classe paybox pour générer cela (modifier le test unitaire qui va avec), et passer en paramètre le nombre de lignes et infos de facturation.
diff --git a/sources/AppBundle/Payment/Paybox.php b/sources/AppBundle/Payment/Paybox.php
index 0bc95117..6771ada7 100644
--- a/sources/AppBundle/Payment/Paybox.php
+++ b/sources/AppBundle/Payment/Paybox.php
@@ -66,6 +66,9 @@ class Paybox
'PBX_REPONDRE_A' => $this->urlRepondreA,
];
+ $inputs["PBX_SHOPPINGCART"] = '<?xml version="1.0" encoding="utf-8"?><shoppingcart><total><totalQuantity>1</totalQuantity></total></shoppingcart>';
+ $inputs["PBX_BILLING"] = '<?xml version="1.0" encoding="utf-8"?><Billing><Address><FirstName>john</FirstName><LastName>doe</LastName><Address1>rue beau de rochas</Address1><Address2>mas guerido</Address2><ZipCode>66330</ZipCode><City>CABESTANY</City><CountryCode>250</CountryCode></Address></Billing>';
+
// ici on utilise pas http_build_query, on ne veux pas encoder les caractères
$preparedKeys = [];
foreach ($inputs as $key => $value) {
@@ -95,6 +98,9 @@ class Paybox
$htmlForm = '<form method="POST" action="https://' . $this->domainServer . '/cgi/MYchoix_pagepaiement.cgi">' . PHP_EOL;
foreach ($sanitizedInputs as $inputKey => $inputValue) {
+ if ($inputKey === 'PBX_SHOPPINGCART' || $inputKey === 'PBX_BILLING') {
+ $inputValue = htmlspecialchars($inputValue);
+ }
$htmlForm .= ' <input type="hidden" name="' . $inputKey . '" value="' . $inputValue . '">' . PHP_EOL;
}
$htmlForm .= ' <INPUT TYPE=SUBMIT class="button button--call-to-action" VALUE="Régler par carte">' . PHP_EOL;
Il faudra modifier :
- le lien de paiement de cotisation
- le lien de paiement de la billeterie :
- le lien de paiement de l'inscription depuis le BO
web/htdocs/pages/event-payment/index.php
Line 61 in 3bbbb83
- reprendre les infos depuis $inscription
- le lien de paiement de la facture depuis le BO
web/htdocs/pages/paiement/index.php
Line 41 in 41fa0c6
- reprendre les infos depuis $facture
afin d'ajouter à chaque fois le nombre de lignes concernées ainsi que les infos de facturation