• France
lyra.com
Rechercher
Catégories
Tags
France
France
Espagne
Europe (Anglais)
Inde
Implémentation
Formulaire intelligent (smartForm)
Formulaire embarqué (cartes)
API REST
API REST PCI-DSS
API REST SEPA
Formulaire en redirection
Échange de fichiers
Paiement mobile
Exemples de code
Modules de paiement
Marketplace
Back Office
Back Office Marchand
Back Office Expert
Guides
Aide
FAQ
Tutoriels vidéos
Support

Initialiser une demande de paiement via Apple Pay

Le site marchand initie une demande de paiement via un appel au Web Service Charge/CreatePayment.

POST https://api.lyra.com/ api-payment/V4/Charge/CreatePayment

En réponse, le serveur marchand récupère un formToken, un objet encrypté permettant d’initialiser le formulaire intelligent (smartForm) avec les informations de la transaction et celles correspondant à la configuration de boutique.

 

Prérequis si vous étiez déjà un utilisateur du formulaire embarqué

Vous devez migrer du formulaire embarqué (cartes) vers le formulaire intelligent (smartForm). C’est très simple :
  • En mode embarqué, utilisez la class kr-smart-form à la place de la classe kr-embedded.
    Exemple
    <body>
      <!-- new class kr-smart-form to replace the class kr-embedded -->
    <div class="kr-smart-form" kr-form-token="[GENERATED FORMTOKEN]">  
       (...)
    </div>
    </body>
  • En mode pop-in, utilisez la class kr-smart-form avec le paramètre kr-popin.
    Exemple
    <body>
      <!-- new class kr-smart-form with a kr-popin -->
    <div class="kr-smart-form" kr-popin 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.

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.

Doit être valorisé à PAYMENT.

 Attention : à ce jour, le formulaire intelligent (smartForm) n'est pas encore compatible avec l’ajout de carte dans un wallet via la valeur CUSTOMER_WALLET.
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
transactionOptions.cardOptions.manualValidation Mode de validation du paiement. Non
transactionOptions.cardOptions.captureDelay Délai de remise. Non

 

Pour obtenir une description plus complète des champs à utiliser, testez le Web Service Charge/CreatePayment depuis notre playground.

Exemple de requête

https://api.lyra.com/api-payment/V4/Charge/CreatePayment

{
    "amount": "100",
    "currency": "EUR",
    "orderId": "demo-6336a0db503c6",
    "customer": {
        "reference": "My-Reference",
        "email": "main@example.com",
        "billingDetails": {
             "title": "M.",
      		"category": "PRIVATE",
      		"firstName": "ALFRED",
      		"lastName": "DUBOIS",
      		"phoneNumber": "0673567800",
      		"streetNumber": "3",
      		"address": "rue du Gorp",
      		"district": "Saint-Michel",
      		"zipCode": "31000",
      		"city": "Toulouse"
        },
        "shippingDetails": {
            "address": "rue du Gorp",
            "address2": "110 Appart B",
            "city": "Toulouse",
            "country": "FR",
            "deliveryCompanyName": "DeliveryCompany",
            "district": "Saint-Michel",
            "firstName": "ALFRED",
            "lastName": "DUBOIS",
            "legalName": "My legal name ship",
            "shippingSpeed": "EXPRESS",
            "shippingMethod": "ETICKET",
            "state": "Ok",
            "streetNumber": "3",
            "category": "COMPANY",
            "zipCode": "31000"
        }
    },
    "formTokenVersion": 4
}

Exemple de réponse
{
"shopId": "91335531",
        "orderCycle": "CLOSED",
        "orderStatus": "RUNNING",
        "serverDate": "2022-10-21T15:30:18+00:00",
        "orderDetails": {
            "orderTotalAmount": 100,
            "orderEffectiveAmount": 100,
            "orderCurrency": "EUR",
            "mode": "PRODUCTION",
            "orderId": "demo-6352bae7585b3",
            "metadata": null,
            "_type": "V4\/OrderDetails"
  },
  "customer": {
    "billingDetails": {
      "address": "rue du Gorp",
      "category": "PRIVATE",
      "cellPhoneNumber": null,
      "city": "Toulouse",
      "country": null,
      "district": "Saint-Michel",
      "firstName": "ALFRED",
      "identityCode": null,
      "identityType": null,
      "language": "FR",
      "lastName": "DUBOIS",
      "phoneNumber": "0673567800",
      "state": null,
      "streetNumber": "3",
      "title": "M.",
      "zipCode": "31000",
      "legalName": null,
      "_type": "V4/Customer/BillingDetails"
    },
 "extraDetails": {
                "browserAccept": null,
                "fingerPrintId": null,
                "ipAddress": "185.244.73.2",
                "browserUserAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/16.0 Safari\/605.1.15",
                "_type": "V4\/Customer\/ExtraDetails"
},
 "transactions": [
            {
                "shopId": "91335531",
                "uuid": "6a0688428ec3490591abce6e1e08d8fe",
                "amount": 100,
                "currency": "EUR",
                "paymentMethodType": "CARD",
                "status": "RUNNING",
                "detailedStatus": "AUTHORISED_TO_VALIDATE",
                "operationType": "DEBIT",
                "effectiveStrongAuthentication": "DISABLED",
                "creationDate": "2022-10-21T15:30:15+00:00",
                "transactionDetails": {
                    "liabilityShift": "YES",
                    "effectiveAmount": 100,
                    "effectiveCurrency": "EUR",
                    "creationContext": "CHARGE",
                    "cardDetails": {
                        "paymentSource": "EC",
                        "manualValidation": "YES",
                        "expectedCaptureDate": "2022-10-21T15:30:15+00:00",
                        "effectiveBrand": "VISA",
                        "pan": "XXXXXXXXXXXX4187",
                        "expiryMonth": 12,
                        "expiryYear": 2023,
                        "country": "FR",
                        "effectiveProductCode": "F",
                        "legacyTransId": "934329",
                        "legacyTransDate": "2022-10-21T15:30:15+00:00",
                        "paymentMethodSource": "NEW",
                        "authorizationResponse": {
                            "amount": 100,
                            "currency": "EUR",
                            "authorizationDate": "2022-10-21T15:30:15+00:00",
                            "authorizationNumber": "510231",
                            "authorizationResult": "0",
                            "authorizationMode": "FULL",
                            "_type": "V4\/PaymentMethod\/Details\/Cards\/CardAuthorizationResponse"
                        },
Nous recrutons

Head Office :

LYRA NETWORK
109, rue de l’innovation
31670 Labège
FRANCE

2.16.0-doc-1.8