payone
S'inscrire

Apple Pay

Apple Pay

Introduction

Apple Pay est le moyen de paiement mobile d'Apple.

Une fois que les clients ont ajouté leur carte de débit/crédit ainsi que leurs informations de paiement et de livraison à leur portefeuille numérique Apple Pay, ils peuvent acheter des biens et des services via des applications iOS et Web. Le mécanisme de tokenisation du portefeuille et l'utilisation de Face ID / Touch ID garantissent une cinématique de paiement sûre et rapide.

Notre plateforme propose à la fois un SDK iOS et un mécanisme de déchiffrement des données de paiement, ce qui vous permet d'ajouter facilement Apple Pay à votre application mobile.

Notre plateforme prend en charge les marques suivantes :

Apple Pay - Visa
Apple Pay - MasterCard
Apple Pay - American Express

Aperçu

Groupe de paiement :
Identifiant du moyen de paiement:
302
Avantages clés
  • Potentiels taux de conversion plus élevés pour les paiements in-app.
  • Expérience de paiement frictionless.
  • Exigences PCI réduites (aucune donnée sensible ou personnelle partagée) grâce à la tokenisation et à la technologie Device PAN (DPAN).
  • Permet toute opération de maintenance standard selon votre acquéreur.
  • Énorme potentiel d'usage grâce à la distribution mondiale des appareils iOS et à la prise en charge par les navigateurs tiers.

Expérience de paiement

The image above shows the steps of Apple Pay flow.
  1. Dans les pays pris en charge, vos clients peuvent ajouter des cartes à Apple Wallet sur leur appareil. Ils peuvent y enregistrer leurs données de paiement ainsi que leurs adresses de livraison et de facturation.

  2. Dans une application qui prend en charge Apple Pay, le bouton « Acheter avec Apple Pay » apparaît lorsque le client est prêt à finaliser son achat.

  3. Vos clients peuvent consulter et modifier les détails de leur carte. Le montant total s'affiche. Ils confirment le paiement avec Face ID ou Touch ID.

  4. Après la confirmation, le paiement suit la cinématique d'achat standard. Nous traitons la transaction.

Activation

  1. Signez un contrat avec l'un des acquéreurs pris en charge. Nous serons heureux de vous aider durant le processus d'onboarding.
  2. Activez Apple Pay dans le Merchant Portal via Affaires > Méthodes de paiement.
  3. Selon le mode d'intégration, des exigences supplémentaires s'appliquent. Veuillez vous reporter au chapitre « Intégration » pour des informations détaillées.

Pays & devises

Pays pris en charge

Devises prises en charge

  • Albanian lek (ALL)
  • Algerian dinar (DZD)
  • Angolan kwanza (AOA)
  • Argentine peso (ARS)
  • Armenian dram (AMD)
  • Aruban florin (AWG)
  • Australian dollar (AUD)
  • Azerbaijani manat (AZN)
  • Bahamian dollar (BSD)
  • Bahraini dinar (BHD)
  • Bangladeshi taka (BDT)
  • Barbados dollar (BBD)
  • Belarusian ruble (BYN)
  • Belize dollar (BZD)
  • Bermudian dollar (BMD)
  • Bhutanese ngultrum (BTN)
  • Boliviano (BOB)
  • Bosnia and Herzegovina convertible mark (BAM)
  • Botswana pula (BWP)
  • Brazilian real (BRL)
  • Brunei dollar (BND)
  • Bulgarian lev (BGN)
  • Burundian franc (BIF)
  • Cambodian riel (KHR)
  • Canadian dollar (CAD)
  • Cape Verde escudo (CVE)
  • Cayman Islands dollar (KYD)
  • CFA franc BCEAO (XOF)
  • CFA franc BEAC (XAF)
  • CFP franc (franc Pacifique) (XPF)
  • Chilean peso (CLP)
  • Chinese yuan (CNY)
  • Colombian peso (COP)
  • Comoro franc (KMF)
  • Congolese franc (CDF)
  • Costa Rican colon (CRC)
  • Croatian kuna (HRK)
  • Czech koruna (CZK)
  • Danish krone (DKK)
  • Djiboutian franc (DJF)
  • Dominican peso (DOP)
  • East Caribbean dollar (XCD)
  • Egyptian pound (EGP)
  • Eritrean nakfa (ERN)
  • Ethiopian birr (ETB)
  • Euro (EUR)
  • Falkland Islands pound (FKP)
  • Fiji dollar (FJD)
  • Gambian dalasi (GMD)
  • Georgian lari (GEL)
  • Ghanaian cedi (GHS)
  • Gibraltar pound (GIP)
  • Guatemalan quetzal (GTQ)
  • Guinean franc (GNF)
  • Guyanese dollar (GYD)
  • Haitian gourde (HTG)
  • Honduran lempira (HNL)
  • Hong Kong dollar (HKD)
  • Hungarian forint (HUF)
  • Icelandic króna (ISK)
  • Indian rupee (INR)
  • Indonesian rupiah (IDR)
  • Iraqi dinar (IQD)
  • Israeli new shekel (ILS)
  • Jamaican dollar (JMD)
  • Japanese yen (JPY)
  • Jordanian dinar (JOD)
  • Kazakhstani tenge (KZT)
  • Kenyan shilling (KES)
  • Kuwaiti dinar (KWD)
  • Kyrgyzstani som (KGS)
  • Lao kip (LAK)
  • Lebanese pound (LBP)
  • Lesotho loti (LSL)
  • Liberian dollar (LRD)
  • Libyan dinar (LYD)
  • Macanese pataca (MOP)
  • Macedonian denar (MKD)
  • Malagasy ariary (MGA)
  • Malawian kwacha (MWK)
  • Malaysian ringgit (MYR)
  • Maldivian rufiyaa (MVR)
  • Mauritanian ouguiya (MRO)
  • Mauritian rupee (MUR)
  • Mexican peso (MXN)
  • Moldovan leu (MDL)
  • Mongolian tugrik (MNT)
  • Moroccan dirham (MAD)
  • Mozambican metical (MZN)
  • Myanmar kyat (MMK)
  • Namibian dollar (NAD)
  • Nepalese rupee (NPR)
  • Netherlands Antillean guilder (ANG)
  • New Taiwan dollar (TWD)
  • New Zealand dollar (NZD)
  • Nicaraguan córdoba (NIO)
  • Nigerian naira (NGN)
  • Norwegian krone (NOK)
  • Omani rial (OMR)
  • Pakistani rupee (PKR)
  • Panamanian balboa (PAB)
  • Papua New Guinean kina (PGK)
  • Paraguayan guaraní (PYG)
  • Peruvian nuevo sol (PEN)
  • Philippine peso (PHP)
  • Polish zloty (PLN)
  • Pound sterling (GBP)
  • Qatari riyal (QAR)
  • Romanian new leu (RON)
  • Russian ruble (RUB)
  • Rwandan franc (RWF)
  • Saint Helena pound (SHP)
  • Salvadoran Colon (SVC)
  • Samoan tala (WST)
  • São Tomé and Príncipe dobra (STD)
  • Saudi riyal (SAR)
  • Serbian dinar (RSD)
  • Seychelles rupee (SCR)
  • Sierra Leonean leone (SLL)
  • Singapore dollar (SGD)
  • Solomon Islands dollar (SBD)
  • Somali shilling (SOS)
  • South African rand (ZAR)
  • South Korean won (KRW)
  • Sri Lankan rupee (LKR)
  • Surinamese dollar (SRD)
  • Swazi lilangeni (SZL)
  • Swedish krona/kronor (SEK)
  • Swiss franc (CHF)
  • Tajikistani somoni (TJS)
  • Tanzanian shilling (TZS)
  • Thai baht (THB)
  • Tongan paʻanga (TOP)
  • Trinidad and Tobago dollar (TTD)
  • Tunisian dinar (TND)
  • Turkish lira (TRY)
  • Turkmenistani manat (TMT)
  • Ugandan shilling (UGX)
  • Ukrainian hryvnia (UAH)
  • United Arab Emirates dirham (AED)
  • United States dollar (USD)
  • Uruguayan peso (UYU)
  • Uzbekistan som (UZS)
  • Vanuatu vatu (VUV)
  • Venezuelan bolívar (VEF)
  • Vietnamese dong (VND)
  • Yemeni rial (YER)
  • Zambian kwacha (ZMW)
  • Zimbabwe dollar (ZWD)

Intégration

Nous proposons ces moyens de paiement pour les modes d’intégration suivants. Apprenez dans nos guides dédiés les différences individuelles.

Trouvez un aperçu général dans le chapitre "Cinématique".

En fonction du méthode d'intégration, des différences s'appliquent :

Hosted Checkout Page

Ajoutez les propriétés suivantes à une requête standard CreateHostedCheckout :

{
   "order":{
      "amountOfMoney":{
         "currencyCode":"EUR",
         "amount":1000
      }
   },
   "hostedCheckoutSpecificInput":{
      "locale":"en_GB",
      "returnUrl":"https://yourReturnUrl.com"
   },
   "mobilePaymentMethodSpecificInput":{
      "authorizationMode":"FINAL_AUTHORIZATION",
      "paymentProductId":302
   }
}
Propriétés Remarques

order.amountOfMoney
     amount
     currencyCode

amount : Le montant brut que vous souhaitez facturer pour cette commande.
currencyCode : Le code de devise ISO 4217 pour ce montant.

hostedCheckoutSpecificInput
    locale
    returnUrl

locale : La langue de notre Hosted Checkout Page et de la feuille de paiement Apple Pay.

returnUrl : L'URL vers laquelle nous redirigeons vos clients une fois le paiement finalisé.

mobilePaymentMethodSpecificInput
     authorizationMode
     paymentProductId

authorizationMode : Défini par "FINAL_AUTHORIZATION"/"SALE" en fonction de si vous souhaitez traiter les paiements en mode autorisation/Direct Sale.

paymentProductId : L'identifiant numérique de la méthode de paiement sur notre plateforme. Trouvez cet identifiant dans le chapitre "Aperçu". Il instruit notre plateforme d'envoyer vos clients directement à la feuille de paiement Apple Pay. En cas d'omission, notre plateforme redirige vos clients vers la Hosted Checkout Page, leur permettant de choisir ce mode de paiement ou tout autre actif dans votre compte.

Retrouvez des informations détaillées sur cet objet et ses propriétés dans notre documentation CreateHostedCheckoutAPI.

Server-to-server (Apple Pay on the web)

Cette méthode d'intégration nécessite que votre serveur interagisse à la fois avec l'API Apple Pay JS et notre API. Nous fournissons des exemples de code pour chacune de ces interactions, comme décrit dans le chapitre "Cinématique".

Étape 1 : Validation du marchand

Votre serveur envoie une requête de validation du marchand à l'API Apple Pay JS :

session.onvalidatemerchant = async (event: ApplePayJS.ApplePayValidateMerchantEvent) => {
// Call Merchant Backend to get payment product session 
const response = await getPaymentProductSession();

Étape 2 : CreatePaymentProductSession

Ajoutez les propriétés suivantes à une requête CreatePaymentProductSession standard :

{
  "paymentProductSession302SpecificInput": {
    "domainName": "example.com",
    "displayName": "My Example Shop"
  }
}

Stockez le résultat sur votre serveur :

const paymentSession = await response.json();

Étape 3 : Finaliser la validation du marchand

Transmettez le résultat de CreatePaymentProductSession à l'API Apple Pay JS :

session.completeMerchantValidation(JSON.parse(paymentSession.paymentProductSession302SpecificOutput.session)); 

Étape 4 : Requête CreatePayment

Transmettez les données de paiement chiffrées dans la propriété encryptedPaymentData via une requête CreatePayment standard vers notre API :

{
  "mobilePaymentMethodSpecificInput": {
    "paymentProductId": 302,
    "authorizationMode": "FINAL_AUTHORIZATION",
    "encryptedPaymentData": ApplePayPaymentToken.token.paymentData.data,
    "ephemeralKey": ApplePayPaymentToken.token.paymentData.header.ephemeralPublicKey,
    "publicKeyHash": ApplePayPaymentToken.token.paymentData.header.publicKeyHash,
  },
  "order": {
        "amountOfMoney": {
            "amount": 3000,
            "currencyCode": "EUR",
        }
  }
}
Properties Remarks

order.amountOfMoney
     amount
     currencyCode

amount: The gross amount you want to charge for this order.
currencyCode: The ISO 4217 currency code for this amount.

mobilePaymentMethodSpecificInput
     authorizationMode
     paymentProductId
     ephemeralKey
     publicKeyHash
     encryptedPaymentData

authorizationMode: Set to either "FINAL_AUTHORIZATION"/"SALE" depending on whether you want to process payments in authorisation/direct sale mode.

paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Aperçu" chapter.

encryptedPaymentData: The encrypted payment data.

ephemeralKey: A unique key used by Apple to encrypt data.

publicKeyHash: A unique identifier to get the key used by Apple to encrypt data.

Intégration mobile/client

This integration method requires your server to interact with the PassKit framework, the API and your app on your customers' device. We provide code samples for the interaction between your server and the API as described in the "Cinématique" chapter.

Mind that you need to provide your own implementation for the interaction between your server and your app/PassKit framework.

Pass the encrypted payment data in property encryptedPaymentData via a standard CreatePayment request to our API:

{
  "order": {
    "amountOfMoney": {
      "amount": 3000,
      "currencyCode": "EUR",
    }
  },
  "mobilePaymentMethodSpecificInput": {
    "paymentProductId": 302,
    "authorizationMode": "FINAL_AUTHORIZATION",
    "encryptedPaymentData": PKPayment.token.paymentData.data,
    "ephemeralKey": PKPayment.token.paymentData.header.ephemeralPublicKey,
    "publicKeyHash": PKPayment.token.paymentData.header.publicKeyHash,
  }
}

    Properties Remarks

    order.amountOfMoney
         amount
         currencyCode

    amount: The gross amount you want to charge for this order.
    currencyCode: The ISO 4217 currency code for this amount.

    mobilePaymentMethodSpecificInput
         authorizationMode
         paymentProductId
         ephemeralKey
         publicKeyHash
         encryptedPaymentData

    authorizationMode: Set to either "FINAL_AUTHORIZATION"/"SALE" depending on whether you want to process payments in authorisation/direct sale mode.

    paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Aperçu" chapter.

    encryptedPaymentData: The encrypted payment data.

    ephemeralKey: A unique key used by Apple to encrypt data.

    publicKeyHash: A unique identifier to get the key used by Apple to encrypt data.


    Depending on the individual request, PKPayment may contain further order information. Apply the following mapping to include them in your CreatePayment request:

    PKPayment object order.customer property

    billingContact.emailAddress or shippingContact.emailAddress
    billingContact.phoneNumber or shippingContact.phoneNumber

    contactDetails
         emailAddress
         phoneNumber

    billingContact.name
         familyName
         givenName
         namePrefix

    personalInformation.name
         surname
         firstName
         title

    billingContact.postalAddress
         street
         city
         state
         postalCode
         isoCountryCode

    billingAddress
         street
         city
         state
         zip
         countryCode

    order.customer.shippingAddress
         name
              surname
              firstName
              title
         street
         city
         state
         zip
         countryCode

    shippingAddress
         name
              surname
              firstName
              title
          street
          city
          state
          zip
          countryCode

    Trouvez des informations détaillées sur cet objet et ses propriétés dans notre CreatePaymentAPI.

    Cinématique

    Selon le mode d'intégration, des différences s'appliquent :

    Hosted Checkout Page

    Si vos clients initient le paiement depuis un appareil non iOS, ils peuvent malgré tout utiliser Apple Pay. S'ils disposent d'un autre appareil iOS à portée de main, la prise en charge par les navigateurs tiers modifiera légèrement la cinématique, comme décrit dans le chapitre dédié.

    Assurez-vous d'enregistrer votre Merchant ID comme décrit dans le chapitre dédié.

    1. Vos clients finalisent une commande sur leur appareil dans votre boutique et sélectionnent Apple Pay.
    2. Vous envoyez cette requête CreateHostedCheckout vers notre plateforme.
    3. Vous redirigez vos clients via la redirectUrl vers notre Hosted Checkout Page.
    4. Vos clients cliquent sur le bouton « Apple Pay » sur la Hosted Checkout Page. La Hosted Checkout Page ouvre le payment sheet.
    5. L'appareil iOS ouvre l'app Apple Pay. Vos clients confirment le paiement dans l'app.
    6. Nous recevons le résultat de la transaction.
    7. Nous redirigeons vos clients vers votre returnURL sur leur appareil iOS.
    8. Vous demandez le résultat de la transaction à notre plateforme via GetHostedCheckout ou recevez le résultat via webhooks.
    9. Si la transaction a été effectuée avec succès, vous pouvez livrer les biens / services.

    Server-to-server (Apple Pay on the web)

    Si vos clients initient le paiement depuis un appareil non iOS, ils peuvent malgré tout utiliser Apple Pay. S'ils disposent d'un autre appareil iOS à portée de main, la prise en charge par les navigateurs tiers modifiera légèrement la cinématique, comme décrit dans le chapitre dédié.

    Assurez-vous de :

    1. Vos clients finalisent une commande sur leur device et cliquent sur le bouton Apple Pay sur votre page de paiement.
    2. Le device client appelle la méthode begin de l’API Apple Pay JS.
    3. L'API Apple Pay JS appelle la méthode  onvalidatemerchant lorsque la fiche de paiement s'affiche ou que le QR code est scanné.
    4. Votre serveur envoie un requête CreatePaymentProductSession à notre plateforme, en incluant le paymentProductSession302SpecificOutput.domainName que vous avez enregistré.
    5. Notre plateforme renvoie une session paymentSession.paymentProductSession302SpecificOutput.session qui est transmise à votre Frontend.
    6. La session est ensuite transmise à la méthode completeMerchantValidation de l'API Apple Pay JS.
    7. L'API Apple Pay JS affiche la fiche de paiement sur votre page de paiement.
    8. Vos clients confirment le paiement.
    9. L’API Apple Pay JS  appelle la méthode  onpaymentauthorized avec le token Apple Pay chiffré.
    10. Votre serveur envoie les données de paiement chiffrées dans la propriété propertymobilePaymentMethodSpecificInput.encryptedPaymentdata via cette requête CreatePayment request à notre plateforme.
    11. Notre plateforme déchiffre les données de paiement et les envoie à Apple Pay pour traiter le paiement, puis renvoie le résultat de la transaction.
    12. Le résultat est renvoyé comme réponse à la requête du step 10.
    13. La méthode completePayment de l’API Apple Pay JS est appelée.
    14. Si la transaction a réussi, vous pouvez livrer les biens / services.
    15. Le device du client affiche le résultat de la transaction sur votre page de paiement.

    Intégration mobile/client

    Assurez-vous de :

    1. Vos clients finalisent une commande dans votre application et cliquent sur le bouton Apple Pay.
    2. Votre application initie une requête startPayment depuis le framework PassKit.
    3. L'appareil iOS de vos clients affiche le payment sheet.
    4. Vos clients confirment le paiement.
    5. PassKit déclenche l'événement paymentAuthorizationController dans votre application.
    6. Votre application envoie les données de paiement chiffrées à votre serveur.
    7. Votre serveur envoie les données de paiement chiffrées dans la propriété mobilePaymentMethodSpecificInput.encryptedPaymentdata via cette requête CreatePayment à notre plateforme.
    8. Notre plateforme déchiffre les données de paiement et les envoie à votre acquéreur pour traiter le paiement.
    9. Le résultat est renvoyé dans la réponse à la requête de l'étape 6.
    10. Votre application appelle la méthode completePayment.
    11. Si la transaction a été effectuée avec succès, vous pouvez livrer les biens / services.

    Test

    Consultez nos Cas de test pour des données de test et des instructions détaillées.

    Informations supplémentaires

    Register Merchant ID (Hosted Checkout Page)

    Pour les paiements via la Hosted Checkout Page, vous devez enregistrer votre Merchant ID. Pour ce faire, suivez les étapes suivantes :

    1. Connectez-vous au Merchant Portal. Allez dans Affaires > Méthodes de paiement > Comment accepter des paiements avec Apple Pay > Hosted Checkout Page.
    2. Lisez les termes et conditions d'Apple Pay en cliquant sur le lien correspondant. Cochez "J'ai lu et j'accepte les termes et conditions" pour les approuver
    3. Cliquez sur "Activer Apple Pay". Vous êtes prêt à proposer Apple Pay à vos clients via le Hosted Checkout Page mode d'intégration.

    • Si vous refusez les conditions générales Apple Pay, le moyen de paiement ne sera pas disponible sur notre Hosted Checkout Page.
    • Les conditions générales d’Apple peuvent évoluer. Tenez-vous informé en les consultant régulièrement.

    Enregistrement de domaine pour Apple Pay on the Web

    Pour les paiements via  Server-to-server, vous devez enregistrer votre domaine. Pour ce faire, procédez comme suit :

    1. Connectez-vous au Merchant Portal. Allez dans Affaires > Méthodes de paiement > Comment accepter des paiements avec Apple Pay > Apple Pay sur le Web > Ajouter un domain.
    2. Suivez les instructions indiquées à cet endroit, puis cliquez sur "Enregistrer".

    Certificats Apple Pay (Intégration mobile/client)

    Pour les paiements via Intégration mobile/client, vous devez créer des certificats Apple. Pour ce faire, suivez les étapes suivantes :

    1. Connectez-vous au Merchant Portal. Allez dans Affaires > Méthodes de paiement > Comment accepter des paiements avec Apple Pay > SDKs mobiles et serveur à serveur.
    2. Suivez les instructions sur la page pour :
      a) Télécharger la demande de signature de certificat (CSR) sur cette page.
      b) Créer le certificat Apple Pay sur le portail développeur Apple en utilisant ce CSR.
      c) Uploader le certificat généré via le bouton « Télécharger le certificat ».
    • Assurez-vous de créer des certificats distincts pour notre environnement de test et de production.
    • Apple vous permet de créer un maximum de trois certificats par Merchant ID. Notez qu'un seul certificat par Merchant ID peut être actif. Utilisez les trois emplacements pour gérer les certificats arrivant à expiration.
    • En raison de cette limitation, nous vous recommandons d'utiliser des Merchant ID différents pour notre environnement de test et de production.
    • Les certificats Apple expirent après deux ans. Veillez à créer et uploader un nouveau certificat en temps utile. Nous vous informerons par e‑mail dès qu'un certificat est sur le point d'expirer.

    Prise en charge par les navigateurs tiers

    Même si un paiement a été initié depuis un appareil non iOS, vos clients peuvent toujours utiliser Apple Pay via un second appareil iOS.
    Notre plateforme implémente la prise en charge par les navigateurs tiers, en détectant si l'appareil qui initie le paiement est un appareil iOS ou non. Si ce n'est pas le cas, la cinématique est adaptée comme suit :

    1. Vos clients finalisent une commande sur leur appareil non iOS.
    2. Notre plateforme affiche un QR code sur la Hosted Checkout Page.
    3. Vos clients scannent le QR code affiché avec leur appareil iOS mobile / tablette.
    4. L'appareil iOS mobile / tablette ouvre le payment sheet. Vos clients confirment le paiement.
    5. Nous redirigeons vos clients vers votre returnURL sur leur appareil non iOS.

    Partage de certificat

    Pour les paiements via Intégration mobile/client, vous devez créer des certificats Apple. Par défaut, les certificats ne peuvent être utilisés que pour un seul compte.

    Cependant, notre plateforme vous permet de partager un certificat Apple entre plusieurs comptes. Contactez‑nous pour mettre cela en place.

    Cette page vous a-t-elle été utile ?

    Avez-vous des commentaires ?

    Merci pour votre réponse.