Initier une demande de paiement simple
Le site marchand initie une demande de paiement via un appel au Web Service Charge/CreatePayment.
En réponse, le serveur marchand récupère un formToken, un objet encrypté définissant le contexte de paiement (montant, devise, numéro de commande, coordonnées de l'acheteur, etc.).
Une fois le formToken généré, affichez le formulaire de paiement selon votre choix.
- Avec le formulaire embarqué (carte)
- En mode embarqué, utilisez la class kr-embedded.Exemple
<body> <div class="kr-embedded" kr-form-token="[GENERATED FORMTOKEN]"> (...) </div> </body>
- En mode pop-in, utilisez la class kr-embedded avec le paramètre kr-popin.Exemple
<body> <div class="kr-embedded" kr-popin kr-form-token="[GENERATED FORMTOKEN]"> (...) </div> </body>
- En mode embarqué, utilisez la class kr-embedded.
- Avec le formulaire intelligent (smartForm)
- En mode liste, utilisez la class kr-smart-form .Exemple
<body> <!-- new class kr-smart-form --> <div class="kr-smart-form" kr-form-token="[GENERATED FORMTOKEN]"> (...) </div> </body>
- En mode pop-in, utilisez la class kr-smart-form et le paramètre kr-popin.Exemple
<body> <!-- new class kr-smart-form --> <div class="kr-smart-form" kr-popin kr-form-token="[GENERATED FORMTOKEN]"> (...) </div> </body>
- En mode liste avec carte embarquée, utilisez la class kr-smart-form et le paramètre kr-card-form-expanded.Exemple
<body> <!-- new class kr-smart-form --> <div class="kr-smart-form" kr-card-form-expanded kr-form-token="[GENERATED FORMTOKEN]"> (...) </div> </body>
Internet Explorer 11 est obsolète selon Microsoft depuis juin 2022.
L'intégration du formulaire intelligent (smartForm) n'est pas supportée par ce navigateur.
- En mode liste, utilisez la class kr-smart-form .
Pour forcer les moyens de paiement, utilisez le champ paymentMethods, lors de la création du formToken.
Exemple :
- Si vous souhaitez afficher uniquement le
moyen de paiement AMEX :
"paymentMethods": ["AMEX"]
Utilisez les champs ci-dessous pour construire la requête :
Nom du champ | Description | Requis |
---|---|---|
formAction | Type de comportement souhaité lors de la création de la transaction. | Non |
amount | Montant à payer, exprimé dans sa plus petite unité monétaire (le centime pour l’euro). | Oui |
currency | Devise du paiement. Code ISO 4217 alpha-3. Ex : "EUR" pour l’euro | Oui |
orderId | Référence de la commande. Ce champ est recommandé. | Non |
ipnTargetUrl | Permet de surcharger l’URL de notification instantanée (également appelée IPN) dans le formulaire. | Non |
customer.email | Adresse e-mail qui sera utilisée pour l’envoi du ticket de paiement à l’acheteur. Ce champ est recommandé. | Non |
customer.reference | Identifiant de l’acheteur sur le site marchand. Ce champ est recommandé. | Non |
customer.billingDetails | Objet contenant le détail de l'adresse de facturation. Cet objet et ses attributs sont recommandés. | Non |
customer.shippingDetails | Objet contenant le détail de l'adresse de livraison. Cet objet et ses attributs sont recommandés. | Non |
customer.shoppingCart | Objet contenant le détail du panier. Cet objet et ses attributs sont recommandés. | Non |
Pour obtenir une description plus complète des champs à utiliser, testez le Web Service Charge/CreatePayment depuis notre playground.
Exemple de requête
POST https://api-sogecommerce.societegenerale.eu/api-payment/V4/Charge/CreatePayment
{ "amount": 1715, "currency": "EUR", "formAction": "PAYMENT", "orderId": "CMD012859" "customer": { "reference": "104123487", "email": "sample@example.com", "billingDetails": { "category": "PRIVATE", "firstName": "Jeanne", "lastName": "Gauthier", "phoneNumber": "0123456789", "cellPhoneNumber": "0612345678", "streetNumber": "109", "address": "Rue de l'innovation", "zipCode": "31670", "city": "Labège", "country": "FR", "language": "fr" }, "shoppingCart": { "cartItemInfo": [ { "productLabel": "La Végétarienne", "productType": "FOOD_AND_GROCERY", "productRef": "ZJJ5520", "productQty": 1, "productAmount": "1273" } ] }, "shippingDetails": { "firstName": "Jeanne", "lastName": "Gauthier", "phoneNumber": "0612345678", "address": "Rue de l'innovation", "streetNumber": "109", "zipCode": "31670", "city": "Labège", "country": "FR", "shippingMethod": "PACKAGE_DELIVERY_COMPANY" } } }
Exemple de réponse
{ "webService": "Charge/CreatePayment", "version": "V4", "applicationVersion": "5.25.0", "status": "SUCCESS", "answer": { "formToken": "02izOLcBypiLCJWSVNBX0RFQklUIiwiVklTQV...", "_type": "V4/Charge/PaymentForm" }, "ticket": "111a64d6eb464bb8841f1c325af503af", "serverDate": "2023-04-29T12:37:33+00:00", "applicationProvider": "SOGECOM", "metadata": null, "mode": "TEST", "serverUrl": "https://api-sogecommerce.societegenerale.eu/", "_type": "V4/WebService/Response" }