Modifier le montant de la transaction entre l'initialisation et le paiement
Vous souhaitez améliorer l'expérience utilisateur, nous vous conseillons d'initialiser le paiement (via la fonction doWebPayment) le plus tôt possible dans le tunnel d'achat. Si possible, dès l'étape du choix du mode de livraison. En effet, vous gagnerez beaucoup lors du temps d'affichage de l'étape paiement. La modification du montant pourra alors être réalisée par un appel HTTP contenant une trame en JSON avec les données qui viendront écraser ce qui a pu être spécifié dans le doWebPayment. La requête HTTP devra utiliser la méthode PUT, et devra spécifier dans son header le Content-Type : application/json ; le corps de la requête, lui, devra contenir les données à modifier formatées en JSON. Objets niveau 1 Objet niveau 2 Objet niveau 3 Objet niveau 4 payment amount currency order amount currency taxes deliveryTime deliveryMode deliveryExpectedDate deliveryExpectedDelay details orderDetail ref quantity comment category brand subcategory1 subcategory2 additionalData taxRate orderDetail ref … buyer shippingAddress title lastName firstName street1 street2 cityName zipCode country phone state county phoneType billingAddress title name lastName firstName street1 street2 cityName zipCode country phone state county phoneType Il est nécessaire de contrôler systématiquement le montant pris en compte pour la transaction. Ce montant est disponible dans le champ payment.amount de la réponse à la fonction getWebPaymentDetails(). Par mesure de sécurité, cette fonction n'est pas activé par défaut. Si vous souhaitez l'activer, il vous faut cocher l'option dans l'écran de configuration de votre point de vente.
Ceci permet de modifier le montant de la transaction après l'initialisation du paiement.
L’URL à appeler sera :
La structure de l’objet JSON à envoyer est décrite par le tableau qui suit. Aucun attribut de cet objet JSON n’est obligatoire, sauf exception explicitée dans le tableau. Il est donc possible de n’envoyer qu’une partie de la structure à votre convenance.price (obligatoire à l’envoi d’un order detail) name