# Accepter les paiements Klarna Comment accepter les paiements Klarna, un moyen de paiement international qui permet aux clients d'acheter tout de suite et de payer plus tard Avec [Klarna](https://docs.stripe.com/payments/klarna.md), les clients sont redirigés vers leur compte Klarna lors du paiement. Si vous n’avez pas encore d’intégration avec Stripe, nous vous recommandons d’utiliser Stripe Checkout pour [créer une page de paiement hébergée par Stripe](https://docs.stripe.com/checkout/quickstart.md) et [configurer les moyens de paiement dans le Dashboard](https://docs.stripe.com/payments/dashboard-payment-methods.md). Vous pouvez aussi utiliser [Elements avec l’API Checkout Sessions](https://docs.stripe.com/payments/quickstart-checkout-sessions.md) pour créer une page de paiement personnalisée sur votre site web ou développer une intégration mobile pour authentifier le paiement dans une webview. > Avant de commencer l’intégration, assurez-vous que votre compte est éligible à Klarna en consultant vos [paramètres de moyens de paiement](https://dashboard.stripe.com/settings/payment_methods). # Checkout > This is a Checkout for when payment-ui is checkout. View the full page at https://docs.stripe.com/payments/klarna/accept-a-payment?payment-ui=checkout. ## Lister manuellement les moyens de paiement Nous vous recommandons d’utiliser les [moyens de paiement dynamiques](https://docs.stripe.com/payments/payment-methods/dynamic-payment-methods.md), où Stripe gère la logique d’affichage dynamique des moyens de paiement éligibles les plus pertinents pour chaque client afin de maximiser la conversion. Si vous choisissez de [lister manuellement les moyens de paiement](https://docs.stripe.com/payments/payment-methods/integration-options.md#listing-payment-methods-manually), spécifiez `klarna` dans le paramètre [payment_method_types](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_method_types) lorsque vous créez une [session Checkout](https://docs.stripe.com/api/checkout/sessions.md) pour inclure Klarna sur votre page de paiement. Si vous avez des `line_items` dans différentes devises, vous devez créer des sessions Checkout distinctes. #### Une page hébergée par Stripe ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][currency]"=eur \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=1099 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d "payment_method_types[0]"=card \ -d "payment_method_types[1]"=klarna \ --data-urlencode success_url="https://example.com/success" ``` #### Formulaire intégré ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][currency]"=eur \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=1099 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d "payment_method_types[0]"=card \ -d "payment_method_types[1]"=klarna \ --data-urlencode return_url="https://example.com/return" \ -d ui_mode=embedded ``` ## Tester votre intégration Lorsque vous testez votre intégration Checkout, sélectionnez Klarna comme moyen de paiement et cliquez sur le bouton **Payer**. Dans les environnements de test, vous pouvez ensuite simuler différents résultats au sein de la redirection de Klarna. > Klarna utilise des cookies pour le suivi des sessions. Pour tester différents emplacements clients, déconnectez-vous de l’environnement de test Klarna de la session précédente et utilisez les déclencheurs pertinents. Nous avons réuni ci-dessous des données de test pour les pays pris en charge. Dans un environnement de test, Klarna s’appuie sur l’adresse e-mail fournie pour approuver ou refuser une transaction. #### Australie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 03-05-1994 | | Prénom | Test | John | | Nom | Person-au | snow | | Rue | Wharf St | Silverwater Rd | | Numéro de rue | 4 | 1-5 | | Code postal | 4877 | 2128 | | Ville | Port Douglas | Silverwater | | Région | QLD | NSW | | Téléphone | +61473752244 | +61473763254 | | Adresse e-mail | customer@email.au | customer+denied@email.au | #### Autriche | | Approuvé | Refusé | | ----------------- | ------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-at | Person-at | | E-mail | customer@email.at | customer+denied@email.at | | Rue | Mariahilfer Straße | Mariahilfer Straße | | Numéro de rue | 47 | 47 | | Ville | Vienne | Vienne | | Code postal | 1060 | 1060 | | Téléphone | +4306762600456 | +4306762600745 | #### Belgique | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-be | Person-be | | E-mail | customer@email.be | customer+denied@email.be | | Rue | Grote Markt | Grote Markt | | Numéro de rue | 1 | 1 | | Ville | Bruxelles | Bruxelles | | Code postal | 1 000 | 1 000 | | Téléphone | +32485121291 | +32485212123 | #### Canada | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ca | Person-ca | | Rue | 2693 Byron Rd | 2693 Byron Rd | | Code postal | V7H 1L9 | V7H 1L9 | | Ville | North Vancouver | North Vancouver | | Région | BC | BC | | Téléphone | +15197438620 | +15197308624 | | Adresse e-mail | customer@email.ca | customer+denied@email.ca | #### République tchèque | | Approuvé | Refusé | | ----------------- | ----------------------- | ------------------------ | | Date de naissance | 01-01-1970 | 27-06-1992 | | Prénom | Test | Test | | Nom | Person-cz | Person-cz | | E-mail | customer@email.cz | customer+denied@email.cz | | Rue | Zazvorkova 1480/11 | Zázvorkova 1480/11 | | Code postal | 155 00 | 155 00 | | Ville | Prague | PRAHA 13 | | Téléphone | +420771613715 | +420771623691 | #### Danemark | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-dk | Person-dk | | E-mail | customer@email.dk | customer+denied@email.dk | | Rue | Dantes Plads | Nygårdsvej | | Numéro de rue | 7 | 65 | | Ville | København Ø | København Ø | | Code postal | 1556 | 2100 | | Téléphone | +4542555628 | +4552555348 | #### Finlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1999 | 01-01-1999 | | Prénom | Test | Person FI | | Nom | Person-fi | Test | | E-mail | customer@email.fi | customer+denied@email.fi | | Rue | Mannerheimintie | Mannerheimintie | | Numéro de rue | 34 | 34 | | Ville | Helsinki | Helsinki | | Code postal | 00100 | 00100 | | Téléphone | +358401234567 | +358401234568 | #### France | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10-07-1990 | 10-07-1990 | | Lieu de naissance | Paris | Paris | | Prénom | Test | Test | | Nom | Person-fr | Person-fr | | E-mail | customer@email.fr | customer+denied@email.fr | | Rue | rue La Fayette | rue La Fayette | | Numéro de rue | 33 | 33 | | Ville | Paris | Paris | | Code postal | 75009 | 75009 | | Téléphone | +33689854321 | +33687984322 | #### Allemagne | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Mock | Test | | Nom | Mock | Person-de | | E-mail | customer@email.de | customer+denied@email.de | | Rue | Neue Schönhauser Str. | Neue Schönhauser Str. | | Numéro de rue | 2 | 2 | | Ville | Berlin | Berlin | | Code postal | 10178 | 10178 | | Téléphone | +49017614284340 | +49017610927312 | #### Grèce | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Numéro fiscal | 090000045 | 090000045 | | Date de naissance | 01-01-1960 | 11-11-1970 | | Prénom | Test | Test | | Nom | Person-gr | Test-gr | | E-mail | customer@email.gr | customer+denied@email.gr | | Rue | Kephisias | Baralo | | Numéro de rue | 37 | 56 | | Code postal | 151 23 | 123 67 | | Ville | Athina | Athina | | Téléphone | +306945553624 | +306945553625 | #### Irlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ie | Person-ie | | E-mail | customer@email.ie | customer+denied@email.ie | | Rue | King Street South | King Street South | | Numéro de rue | 30 | 30 | | Ville | Dublin | Dublin | | Code EIR | D02 C838 | D02 C838 | | Téléphone | +353855351400 | +353855351401 | #### Italie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 01-01-1980 | | Prénom | Test | Test | | Nom | Person-it | Person-it | | E-mail | customer@email.it | customer+denied@email.it | | Code fiscal | RSSBNC80A41H501B | RSSBNC80A41H501B | | Rue | Via Enrico Fermi | Via Enrico Fermi | | Numéro de rue | 150 | 150 | | Ville | Rome | Rome | | Code postal | 00146 | 00146 | | Téléphone | +393339741231 | +393312232389 | #### Pays-Bas | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nl | Person-nl | | E-mail | customer@email.nl | customer+denied@email.nl | | Rue | Osdorpplein | Osdorpplein | | Numéro de rue | 137 | 137 | | Ville | Amsterdam | Amsterdam | | Code postal | 1068 SR | 1068 SR | | Téléphone | +31689124321 | +31632167678 | #### Nouvelle-Zélande | | Approuvé | Refusé | | ----------------- | ------------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nz | Person-nz | | Rue | Mount Wellington Highway | Mount Wellington Highway | | Numéro de rue | 286 | 286 | | Code postal | 6011 | 6011 | | Ville | Auckland | Wellington | | Téléphone | +6427555290 | +642993007712 | | Adresse e-mail | customer@email.nz | customer+denied@email.nz | #### Norvège | | Approuvé | Refusé | | ----------------- | ----------------------------- | ------------------------ | | Date de naissance | 01-08-1970 | 01-08-1970 | | Prénom | Jane | Test | | Nom | Test | Person-no | | E-mail | customer@email.no | customer+denied@email.no | | Numéro personnel | NO1087000571 | NO1087000148 | | Rue | Edvard Munchs Plass | Sæffleberggate | | Numéro de rue | 1 | 56 | | Ville | Oslo | Oslo | | Code postal | 0194 | 0563 | | Téléphone | +4740123456 | +4740123457 | #### Pologne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 05-05-1967 | 05-05-1967 | | Prénom | Test | Test | | Nom | Person-pl | Person-pl | | Rue | Ul. Górczewska | Ul. Górczewska | | Numéro de rue | 124 | 124 | | Code postal | 01-460 | 01-460 | | Ville | Varsovie | Varsovie | | Téléphone | +48795222223 | +48795223325 | | E-mail | customer@email.pl | customer+denied@email.pl | #### Portugal | | Approuvé | Refusé | | ----------------- | ---------------------------------- | ---------------------------------- | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-pt | Person-pt | | Rue | Avenida Dom João II | Avenida Dom João II | | Numéro de rue | 40 | 40 | | Code postal | 1990-094 | 1990-094 | | Ville | Lisbonne | Lisbonne | | Téléphone | +351935556731 | +351915593837 | | E-mail | customer@email.pt | customer+denied@email.pt | #### Roumanie | | Approuvé | Refusé | | --------------------------------------- | ----------------- | ------------------------ | | Date de naissance | 25-12-1970 | 25-12-1970 | | Prénom | Test | Test | | Nom | Person-ro | Person-ro | | E-mail | customer@email.ro | customer+denied@email.ro | | Rue | Drumul Taberei | Drumul Taberei | | Numéro de rue | 35 | 35 | | Ville | Bucarest | Bucarest | | Secteur | Sectorul 6 | Sectorul 6 | | Code postal | 061357 | 061357 | | Téléphone | +40741209876 | +40707127444 | | Numéro d’identification personnel (CNP) | 1701225193558 | | #### Espagne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | DNI/NIE | 99999999R | 99999999R | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-es | Person-es | | E-mail | customer@email.es | customer+denied@email.es | | Rue | C. de Atocha | C. de Atocha | | Numéro de rue | 27 | 27 | | Ville | Madrid | Madrid | | Code postal | 28012 | 28012 | | Téléphone | +34672563009 | +34682425101 | #### Suède | | Approuvé | Refusé | | ----------------- | ---------------------------- | ------------------------ | | Date de naissance | 21-03-1941 | 28-10-1941 | | Prénom | Alice | Test | | Nom | Test | Person-se | | E-mail | customer@email.se | customer+denied@email.se | | Rue | Södra Blasieholmshamnen | Karlaplan | | Numéro de rue | 2 | 3 | | Ville | Stockholm | Stockholm | | Code postal | 11 148 | 11 460 | | Téléphone | +46701740615 | +46701740620 | #### Suisse | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1990 | 01-01-2000 | | Prénom | Accepté | Client | | Nom | Person-ch | Person-ch | | Rue | Augustinergasse | Bahnhofstrasse | | Numéro de rue | 2 | 77 | | Code postal | 4051 | 8001 | | Ville | Bâle | Zürich | | Téléphone | +41758680000 | +41758680001 | | E-mail | customer@email.ch | customer+denied@email.ch | #### Royaume-Uni | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-uk | Person-uk | | E-mail | customer@email.uk | customer+denied@email.uk | | Rue | New Burlington Street | New Burlington Street | | Numéro de rue | 10 | 10 | | Appartement | Apt 214 | Apt 214 | | Code postal | W1S 3BE | W1S 3BE | | Ville | Londres | Londres | | Téléphone | +447755564318 | +447355505530 | #### États-Unis | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 07-10-1970 | 07-10-1970 | | Prénom | Test | Test | | Nom | Person-us | Person-us | | E-mail | customer@email.us | customer+denied@email.us | | Rue | Amsterdam Ave | Amsterdam Ave | | Numéro de rue | 509 | 509 | | Ville | New York | New York | | État | New York | New York | | Code postal | 10024-3941 | 10024-3941 | | Téléphone | +13106683312 | +13106354386 | Pour les tests en production, vous pouvez utiliser un montant de `3500` dans votre devise locale pour tester toutes les options de paiement proposées par Klarna. Par exemple, pour tester le paiement en 3 fois en Italie, vous pouvez utiliser une transaction de 35,00 EUR. ### Authentification à deux facteurs Tout numéro à six chiffres forme un code d’authentification à deux facteurs valide. Utilisez `999999`pour que l’authentification échoue. ### Mode de remboursement Dans le flux Klarna, vous pouvez utiliser les valeurs de test suivantes pour essayer divers types de remboursements : | Type | Valeur | | ----------------------- | ------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique | DE11520513735120710131 | | Virement bancaire | Banque de démonstration | | Carte bancaire | - Numéro : 4111 1111 1111 1111 - CVV : 123 - Date d’expiration : toute date future valide | | Carte de débit | - Numéro : 4012 8888 8888 1881 - CVV : 123 - Date d’expiration : toute date future valide | # Elements > This is a Elements for when payment-ui is elements. View the full page at https://docs.stripe.com/payments/klarna/accept-a-payment?payment-ui=elements. ## Lister manuellement les moyens de paiement Nous vous recommandons d’utiliser les [moyens de paiement dynamiques](https://docs.stripe.com/payments/payment-methods/dynamic-payment-methods.md), où Stripe gère la logique d’affichage dynamique des moyens de paiement éligibles les plus pertinents pour chaque client afin de maximiser la conversion. Si vous choisissez de [lister manuellement les moyens de paiement](https://docs.stripe.com/payments/payment-methods/integration-options.md#listing-payment-methods-manually), spécifiez `klarna` dans le paramètre [payment_method_types](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_method_types) lorsque vous créez une [session Checkout](https://docs.stripe.com/api/checkout/sessions.md) pour inclure Klarna sur votre page de paiement. Si vous avez des `line_items` dans différentes devises, vous devez créer des sessions Checkout distinctes. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][currency]"=eur \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=1099 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d "payment_method_types[0]"=card \ -d "payment_method_types[1]"=klarna \ --data-urlencode return_url="https://example.com/return" \ -d ui_mode=custom ``` ## Tester votre intégration Lorsque vous testez votre intégration Checkout, sélectionnez Klarna comme moyen de paiement et cliquez sur le bouton **Payer**. Dans les environnements de test, vous pouvez ensuite simuler différents résultats au sein de la redirection de Klarna. > Klarna utilise des cookies pour le suivi des sessions. Pour tester différents emplacements clients, déconnectez-vous de l’environnement de test Klarna de la session précédente et utilisez les déclencheurs pertinents. Nous avons réuni ci-dessous des données de test pour les pays pris en charge. Dans un environnement de test, Klarna s’appuie sur l’adresse e-mail fournie pour approuver ou refuser une transaction. #### Australie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 03-05-1994 | | Prénom | Test | John | | Nom | Person-au | snow | | Rue | Wharf St | Silverwater Rd | | Numéro de rue | 4 | 1-5 | | Code postal | 4877 | 2128 | | Ville | Port Douglas | Silverwater | | Région | QLD | NSW | | Téléphone | +61473752244 | +61473763254 | | Adresse e-mail | customer@email.au | customer+denied@email.au | #### Autriche | | Approuvé | Refusé | | ----------------- | ------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-at | Person-at | | E-mail | customer@email.at | customer+denied@email.at | | Rue | Mariahilfer Straße | Mariahilfer Straße | | Numéro de rue | 47 | 47 | | Ville | Vienne | Vienne | | Code postal | 1060 | 1060 | | Téléphone | +4306762600456 | +4306762600745 | #### Belgique | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-be | Person-be | | E-mail | customer@email.be | customer+denied@email.be | | Rue | Grote Markt | Grote Markt | | Numéro de rue | 1 | 1 | | Ville | Bruxelles | Bruxelles | | Code postal | 1 000 | 1 000 | | Téléphone | +32485121291 | +32485212123 | #### Canada | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ca | Person-ca | | Rue | 2693 Byron Rd | 2693 Byron Rd | | Code postal | V7H 1L9 | V7H 1L9 | | Ville | North Vancouver | North Vancouver | | Région | BC | BC | | Téléphone | +15197438620 | +15197308624 | | Adresse e-mail | customer@email.ca | customer+denied@email.ca | #### République tchèque | | Approuvé | Refusé | | ----------------- | ----------------------- | ------------------------ | | Date de naissance | 01-01-1970 | 27-06-1992 | | Prénom | Test | Test | | Nom | Person-cz | Person-cz | | E-mail | customer@email.cz | customer+denied@email.cz | | Rue | Zazvorkova 1480/11 | Zázvorkova 1480/11 | | Code postal | 155 00 | 155 00 | | Ville | Prague | PRAHA 13 | | Téléphone | +420771613715 | +420771623691 | #### Danemark | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-dk | Person-dk | | E-mail | customer@email.dk | customer+denied@email.dk | | Rue | Dantes Plads | Nygårdsvej | | Numéro de rue | 7 | 65 | | Ville | København Ø | København Ø | | Code postal | 1556 | 2100 | | Téléphone | +4542555628 | +4552555348 | #### Finlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1999 | 01-01-1999 | | Prénom | Test | Person FI | | Nom | Person-fi | Test | | E-mail | customer@email.fi | customer+denied@email.fi | | Rue | Mannerheimintie | Mannerheimintie | | Numéro de rue | 34 | 34 | | Ville | Helsinki | Helsinki | | Code postal | 00100 | 00100 | | Téléphone | +358401234567 | +358401234568 | #### France | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10-07-1990 | 10-07-1990 | | Lieu de naissance | Paris | Paris | | Prénom | Test | Test | | Nom | Person-fr | Person-fr | | E-mail | customer@email.fr | customer+denied@email.fr | | Rue | rue La Fayette | rue La Fayette | | Numéro de rue | 33 | 33 | | Ville | Paris | Paris | | Code postal | 75009 | 75009 | | Téléphone | +33689854321 | +33687984322 | #### Allemagne | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Mock | Test | | Nom | Mock | Person-de | | E-mail | customer@email.de | customer+denied@email.de | | Rue | Neue Schönhauser Str. | Neue Schönhauser Str. | | Numéro de rue | 2 | 2 | | Ville | Berlin | Berlin | | Code postal | 10178 | 10178 | | Téléphone | +49017614284340 | +49017610927312 | #### Grèce | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Numéro fiscal | 090000045 | 090000045 | | Date de naissance | 01-01-1960 | 11-11-1970 | | Prénom | Test | Test | | Nom | Person-gr | Test-gr | | E-mail | customer@email.gr | customer+denied@email.gr | | Rue | Kephisias | Baralo | | Numéro de rue | 37 | 56 | | Code postal | 151 23 | 123 67 | | Ville | Athina | Athina | | Téléphone | +306945553624 | +306945553625 | #### Irlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ie | Person-ie | | E-mail | customer@email.ie | customer+denied@email.ie | | Rue | King Street South | King Street South | | Numéro de rue | 30 | 30 | | Ville | Dublin | Dublin | | Code EIR | D02 C838 | D02 C838 | | Téléphone | +353855351400 | +353855351401 | #### Italie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 01-01-1980 | | Prénom | Test | Test | | Nom | Person-it | Person-it | | E-mail | customer@email.it | customer+denied@email.it | | Code fiscal | RSSBNC80A41H501B | RSSBNC80A41H501B | | Rue | Via Enrico Fermi | Via Enrico Fermi | | Numéro de rue | 150 | 150 | | Ville | Rome | Rome | | Code postal | 00146 | 00146 | | Téléphone | +393339741231 | +393312232389 | #### Pays-Bas | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nl | Person-nl | | E-mail | customer@email.nl | customer+denied@email.nl | | Rue | Osdorpplein | Osdorpplein | | Numéro de rue | 137 | 137 | | Ville | Amsterdam | Amsterdam | | Code postal | 1068 SR | 1068 SR | | Téléphone | +31689124321 | +31632167678 | #### Nouvelle-Zélande | | Approuvé | Refusé | | ----------------- | ------------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nz | Person-nz | | Rue | Mount Wellington Highway | Mount Wellington Highway | | Numéro de rue | 286 | 286 | | Code postal | 6011 | 6011 | | Ville | Auckland | Wellington | | Téléphone | +6427555290 | +642993007712 | | Adresse e-mail | customer@email.nz | customer+denied@email.nz | #### Norvège | | Approuvé | Refusé | | ----------------- | ----------------------------- | ------------------------ | | Date de naissance | 01-08-1970 | 01-08-1970 | | Prénom | Jane | Test | | Nom | Test | Person-no | | E-mail | customer@email.no | customer+denied@email.no | | Numéro personnel | NO1087000571 | NO1087000148 | | Rue | Edvard Munchs Plass | Sæffleberggate | | Numéro de rue | 1 | 56 | | Ville | Oslo | Oslo | | Code postal | 0194 | 0563 | | Téléphone | +4740123456 | +4740123457 | #### Pologne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 05-05-1967 | 05-05-1967 | | Prénom | Test | Test | | Nom | Person-pl | Person-pl | | Rue | Ul. Górczewska | Ul. Górczewska | | Numéro de rue | 124 | 124 | | Code postal | 01-460 | 01-460 | | Ville | Varsovie | Varsovie | | Téléphone | +48795222223 | +48795223325 | | E-mail | customer@email.pl | customer+denied@email.pl | #### Portugal | | Approuvé | Refusé | | ----------------- | ---------------------------------- | ---------------------------------- | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-pt | Person-pt | | Rue | Avenida Dom João II | Avenida Dom João II | | Numéro de rue | 40 | 40 | | Code postal | 1990-094 | 1990-094 | | Ville | Lisbonne | Lisbonne | | Téléphone | +351935556731 | +351915593837 | | E-mail | customer@email.pt | customer+denied@email.pt | #### Roumanie | | Approuvé | Refusé | | --------------------------------------- | ----------------- | ------------------------ | | Date de naissance | 25-12-1970 | 25-12-1970 | | Prénom | Test | Test | | Nom | Person-ro | Person-ro | | E-mail | customer@email.ro | customer+denied@email.ro | | Rue | Drumul Taberei | Drumul Taberei | | Numéro de rue | 35 | 35 | | Ville | Bucarest | Bucarest | | Secteur | Sectorul 6 | Sectorul 6 | | Code postal | 061357 | 061357 | | Téléphone | +40741209876 | +40707127444 | | Numéro d’identification personnel (CNP) | 1701225193558 | | #### Espagne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | DNI/NIE | 99999999R | 99999999R | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-es | Person-es | | E-mail | customer@email.es | customer+denied@email.es | | Rue | C. de Atocha | C. de Atocha | | Numéro de rue | 27 | 27 | | Ville | Madrid | Madrid | | Code postal | 28012 | 28012 | | Téléphone | +34672563009 | +34682425101 | #### Suède | | Approuvé | Refusé | | ----------------- | ---------------------------- | ------------------------ | | Date de naissance | 21-03-1941 | 28-10-1941 | | Prénom | Alice | Test | | Nom | Test | Person-se | | E-mail | customer@email.se | customer+denied@email.se | | Rue | Södra Blasieholmshamnen | Karlaplan | | Numéro de rue | 2 | 3 | | Ville | Stockholm | Stockholm | | Code postal | 11 148 | 11 460 | | Téléphone | +46701740615 | +46701740620 | #### Suisse | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1990 | 01-01-2000 | | Prénom | Accepté | Client | | Nom | Person-ch | Person-ch | | Rue | Augustinergasse | Bahnhofstrasse | | Numéro de rue | 2 | 77 | | Code postal | 4051 | 8001 | | Ville | Bâle | Zürich | | Téléphone | +41758680000 | +41758680001 | | E-mail | customer@email.ch | customer+denied@email.ch | #### Royaume-Uni | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-uk | Person-uk | | E-mail | customer@email.uk | customer+denied@email.uk | | Rue | New Burlington Street | New Burlington Street | | Numéro de rue | 10 | 10 | | Appartement | Apt 214 | Apt 214 | | Code postal | W1S 3BE | W1S 3BE | | Ville | Londres | Londres | | Téléphone | +447755564318 | +447355505530 | #### États-Unis | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 07-10-1970 | 07-10-1970 | | Prénom | Test | Test | | Nom | Person-us | Person-us | | E-mail | customer@email.us | customer+denied@email.us | | Rue | Amsterdam Ave | Amsterdam Ave | | Numéro de rue | 509 | 509 | | Ville | New York | New York | | État | New York | New York | | Code postal | 10024-3941 | 10024-3941 | | Téléphone | +13106683312 | +13106354386 | Pour les tests en production, vous pouvez utiliser un montant de `3500` dans votre devise locale pour tester toutes les options de paiement proposées par Klarna. Par exemple, pour tester le paiement en 3 fois en Italie, vous pouvez utiliser une transaction de 35,00 EUR. ### Authentification à deux facteurs Tout numéro à six chiffres forme un code d’authentification à deux facteurs valide. Utilisez `999999`pour que l’authentification échoue. ### Mode de remboursement Dans le flux Klarna, vous pouvez utiliser les valeurs de test suivantes pour essayer divers types de remboursements : | Type | Valeur | | ----------------------- | ------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique | DE11520513735120710131 | | Virement bancaire | Banque de démonstration | | Carte bancaire | - Numéro : 4111 1111 1111 1111 - CVV : 123 - Date d’expiration : toute date future valide | | Carte de débit | - Numéro : 4012 8888 8888 1881 - CVV : 123 - Date d’expiration : toute date future valide | # iOS > This is a iOS for when payment-ui is mobile and platform is ios. View the full page at https://docs.stripe.com/payments/klarna/accept-a-payment?payment-ui=mobile&platform=ios. Lorsqu’un client utilise Klarna dans votre application, une vue Web lui permettant d’authentifier son paiement s’affiche. Votre client revient ensuite dans votre application et vous pouvez immédiatement *confirmer* (Confirming an intent indicates that the customer intends to use the current or provided payment method. Upon confirmation, the intent attempts to initiate the portions of the flow that have real-world side effects) si le paiement a abouti ou échoué. ## Configurer Stripe [Côté serveur] [Côté client] Tout d’abord, il vous faut un compte Stripe. [Inscrivez-vous](https://dashboard.stripe.com/register). ### Côté serveur Pour cette intégration, votre serveur doit être doté d’endpoints qui communiquent avec l’API Stripe. Utilisez les bibliothèques officielles pour accéder à l’API Stripe depuis votre serveur : #### Ruby ```bash # Available as a gem sudo gem install stripe ``` ```ruby # If you use bundler, you can add this line to your Gemfile gem 'stripe' ``` ### Côté client Le [SDK iOS de Stripe](https://github.com/stripe/stripe-ios) est disponible en open source et [fait l’objet d’une documentation complète](https://stripe.dev/stripe-ios/index.html). Il est également compatible avec les applications prenant en charge iOS 13 et les versions ultérieures. #### Swift Package Manager Pour installer le SDK, veuillez suivre les étapes ci-dessous : 1. Dans Xcode, sélectionnez **File** > **Add Package Dependencies…** puis saisissez `https://github.com/stripe/stripe-ios-spm` en tant qu’URL du référentiel. 1. Sélectionnez le dernier numéro de version, visible sur notre [page des versions](https://github.com/stripe/stripe-ios/releases). 1. Ajoutez le produit **StripePaymentsUI** à la [cible de votre application](https://developer.apple.com/documentation/swift_packages/adding_package_dependencies_to_your_app). #### CocoaPods 1. Si vous ne l’avez pas encore fait, installez la version la plus récente de [CocoaPods](https://guides.cocoapods.org/using/getting-started.html). 1. Si vous n’avez pas de fichier [Podfile](https://guides.cocoapods.org/syntax/podfile.html), exécutez la commande suivante pour en créer un : ```bash pod init ``` 1. Ajoutez cette ligne à votre `Podfile` : ```podfile pod 'StripePaymentsUI' ``` 1. Exécutez la commande suivante : ```bash pod install ``` 1. À partir de maintenant, n’oubliez pas d’utiliser le fichier .xcworkspace au lieu du fichier .xcodeproj pour ouvrir votre projet dans Xcode. 1. Pour mettre à jour ultérieurement le SDK vers la version la plus récente, il vous suffit d’exécuter : ```bash pod update StripePaymentsUI ``` #### Carthage 1. Si vous ne l’avez pas encore fait, installez la version la plus récente de [Carthage](https://github.com/Carthage/Carthage#installing-carthage). 1. Ajoutez cette ligne à votre `Cartfile` : ```cartfile github "stripe/stripe-ios" ``` 1. Suivez les [instructions d’installation de Carthage](https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos). Veillez à intégrer tous les cadres requis listés [ici](https://github.com/stripe/stripe-ios/tree/master/StripePaymentsUI/README.md#manual-linking). 1. Pour mettre à jour ultérieurement le SDK vers la version la plus récente, exécutez la commande suivante : ```bash carthage update stripe-ios --platform ios ``` #### Cadre manuel 1. Accédez à notre [page des versions GitHub](https://github.com/stripe/stripe-ios/releases/latest), puis téléchargez et décompressez **Stripe.xcframework.zip**. 1. Faites glisser **StripePaymentsUI.xcframework** vers la section **Embedded Binaries (Fichiers binaires incorporés)** des paramètres **General (Général)** de votre projet Xcode. Veillez à sélectionner **Copy items if needed (Copier les éléments si nécessaire)**. 1. Répétez l’étape 2 pour tous les cadres requis listés [ici](https://github.com/stripe/stripe-ios/tree/master/StripePaymentsUI/README.md#manual-linking). 1. À l’avenir, pour mettre à jour vers la version la plus récente de notre SDK, répétez les étapes 1 à 3. > Pour obtenir de plus amples informations sur la version la plus récente du SDK et ses versions antérieures, consultez la page des [versions](https://github.com/stripe/stripe-ios/releases) sur GitHub. Pour recevoir une notification lors de la publication d’une nouvelle version, [surveillez les versions](https://help.github.com/en/articles/watching-and-unwatching-releases-for-a-repository#watching-releases-for-a-repository) à partir du référentiel. Configurez le SDK avec votre [clé publiable](https://dashboard.stripe.com/test/apikeys) Stripe au démarrage de votre application. Cela lui permet d’envoyer des requêtes à l’API Stripe. #### Swift ```swift import UIKitimportStripePaymentsUI @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {StripeAPI.defaultPublishableKey = "<>" // do any other necessary launch configuration return true } } ``` > Utilisez vos [clés de test](https://docs.stripe.com/keys.md#obtain-api-keys) lors de vos activités de test et de développement et vos clés du [mode production](https://docs.stripe.com/keys.md#test-live-modes) pour la publication de votre application. ## Créer un PaymentIntent [Côté serveur] [Côté client] Un [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) est un objet qui représente votre intention de collecter un paiement auprès d’un client et qui suit le cycle de vie du processus de paiement à chaque étape. ### Côté serveur Créez tout d’abord un `PaymentIntent` sur votre serveur, puis indiquez le montant à encaisser ainsi que la devise. Si votre intégration inclut déjà l’[API Payment Intents](https://docs.stripe.com/payments/payment-intents.md), ajoutez `klarna` à la liste des [types de moyens de paiement](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_types) valides pour votre `PaymentIntent`. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur ``` ### Côté client Le PaymentIntent renvoyé contient une *clé secrète du client* (The client secret is a unique key returned from Stripe as part of a PaymentIntent. This key lets the client access important fields from the PaymentIntent (status, amount, currency) while hiding sensitive ones (metadata, customer)) que vous pouvez envoyer au client pour une exécution sécurisée du processus de paiement au lieu de lui transmettre la totalité de l’objet PaymentIntent. Côté client, demandez un PaymentIntent à votre serveur et sauvegardez la clé secrète du client qu’il contient. #### Swift ```swift import UIKit import StripePaymentsUI class CheckoutViewController: UIViewController { var paymentIntentClientSecret: String? func startCheckout() { // Request a PaymentIntent from your server and store its client secret } }} ``` ## Soumettre le paiement à Stripe [Côté client] Récupérez la clé secrète du client à partir du PaymentIntent que vous avez créé à l’étape 2, puis appelez la méthode [STPPaymentHandler confirmPayment:](https://stripe.dev/stripe-ios/stripe-payments/Classes/STPPaymentHandler.html#/c:@M@StripePayments@objc\(cs\)STPPaymentHandler\(im\)confirmPayment:withAuthenticationContext:completion:). Une vue Web s’affiche pour permettre au client de finaliser le paiement. Une fois l’opération terminée, le bloc de finalisation est appelé avec le résultat du paiement. #### Swift ```swift let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret) paymentIntentParams.paymentMethodParams = klarnaParams paymentIntentParams.shipping = shippingDetails STPPaymentHandler.shared().confirmPayment(paymentIntentParams, with: self) { (handlerStatus, paymentIntent, error) in switch handlerStatus { case .succeeded: // Payment succeeded case .canceled: // Payment was canceled case .failed: // Payment failed @unknown default: fatalError() } } ``` ## Tester votre intégration Klarna > Klarna utilise des cookies pour le suivi des sessions. Pour tester différents emplacements clients, déconnectez-vous de l’environnement de test Klarna de la session précédente et utilisez les déclencheurs pertinents. Nous avons réuni ci-dessous des données de test pour les pays pris en charge. Dans un environnement de test, Klarna s’appuie sur l’adresse e-mail fournie pour approuver ou refuser une transaction. #### Australie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 03-05-1994 | | Prénom | Test | John | | Nom | Person-au | snow | | Rue | Wharf St | Silverwater Rd | | Numéro de rue | 4 | 1-5 | | Code postal | 4877 | 2128 | | Ville | Port Douglas | Silverwater | | Région | QLD | NSW | | Téléphone | +61473752244 | +61473763254 | | Adresse e-mail | customer@email.au | customer+denied@email.au | #### Autriche | | Approuvé | Refusé | | ----------------- | ------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-at | Person-at | | E-mail | customer@email.at | customer+denied@email.at | | Rue | Mariahilfer Straße | Mariahilfer Straße | | Numéro de rue | 47 | 47 | | Ville | Vienne | Vienne | | Code postal | 1060 | 1060 | | Téléphone | +4306762600456 | +4306762600745 | #### Belgique | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-be | Person-be | | E-mail | customer@email.be | customer+denied@email.be | | Rue | Grote Markt | Grote Markt | | Numéro de rue | 1 | 1 | | Ville | Bruxelles | Bruxelles | | Code postal | 1 000 | 1 000 | | Téléphone | +32485121291 | +32485212123 | #### Canada | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ca | Person-ca | | Rue | 2693 Byron Rd | 2693 Byron Rd | | Code postal | V7H 1L9 | V7H 1L9 | | Ville | North Vancouver | North Vancouver | | Région | BC | BC | | Téléphone | +15197438620 | +15197308624 | | Adresse e-mail | customer@email.ca | customer+denied@email.ca | #### République tchèque | | Approuvé | Refusé | | ----------------- | ----------------------- | ------------------------ | | Date de naissance | 01-01-1970 | 27-06-1992 | | Prénom | Test | Test | | Nom | Person-cz | Person-cz | | E-mail | customer@email.cz | customer+denied@email.cz | | Rue | Zazvorkova 1480/11 | Zázvorkova 1480/11 | | Code postal | 155 00 | 155 00 | | Ville | Prague | PRAHA 13 | | Téléphone | +420771613715 | +420771623691 | #### Danemark | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-dk | Person-dk | | E-mail | customer@email.dk | customer+denied@email.dk | | Rue | Dantes Plads | Nygårdsvej | | Numéro de rue | 7 | 65 | | Ville | København Ø | København Ø | | Code postal | 1556 | 2100 | | Téléphone | +4542555628 | +4552555348 | #### Finlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1999 | 01-01-1999 | | Prénom | Test | Person FI | | Nom | Person-fi | Test | | E-mail | customer@email.fi | customer+denied@email.fi | | Rue | Mannerheimintie | Mannerheimintie | | Numéro de rue | 34 | 34 | | Ville | Helsinki | Helsinki | | Code postal | 00100 | 00100 | | Téléphone | +358401234567 | +358401234568 | #### France | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10-07-1990 | 10-07-1990 | | Lieu de naissance | Paris | Paris | | Prénom | Test | Test | | Nom | Person-fr | Person-fr | | E-mail | customer@email.fr | customer+denied@email.fr | | Rue | rue La Fayette | rue La Fayette | | Numéro de rue | 33 | 33 | | Ville | Paris | Paris | | Code postal | 75009 | 75009 | | Téléphone | +33689854321 | +33687984322 | #### Allemagne | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Mock | Test | | Nom | Mock | Person-de | | E-mail | customer@email.de | customer+denied@email.de | | Rue | Neue Schönhauser Str. | Neue Schönhauser Str. | | Numéro de rue | 2 | 2 | | Ville | Berlin | Berlin | | Code postal | 10178 | 10178 | | Téléphone | +49017614284340 | +49017610927312 | #### Grèce | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Numéro fiscal | 090000045 | 090000045 | | Date de naissance | 01-01-1960 | 11-11-1970 | | Prénom | Test | Test | | Nom | Person-gr | Test-gr | | E-mail | customer@email.gr | customer+denied@email.gr | | Rue | Kephisias | Baralo | | Numéro de rue | 37 | 56 | | Code postal | 151 23 | 123 67 | | Ville | Athina | Athina | | Téléphone | +306945553624 | +306945553625 | #### Irlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ie | Person-ie | | E-mail | customer@email.ie | customer+denied@email.ie | | Rue | King Street South | King Street South | | Numéro de rue | 30 | 30 | | Ville | Dublin | Dublin | | Code EIR | D02 C838 | D02 C838 | | Téléphone | +353855351400 | +353855351401 | #### Italie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 01-01-1980 | | Prénom | Test | Test | | Nom | Person-it | Person-it | | E-mail | customer@email.it | customer+denied@email.it | | Code fiscal | RSSBNC80A41H501B | RSSBNC80A41H501B | | Rue | Via Enrico Fermi | Via Enrico Fermi | | Numéro de rue | 150 | 150 | | Ville | Rome | Rome | | Code postal | 00146 | 00146 | | Téléphone | +393339741231 | +393312232389 | #### Pays-Bas | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nl | Person-nl | | E-mail | customer@email.nl | customer+denied@email.nl | | Rue | Osdorpplein | Osdorpplein | | Numéro de rue | 137 | 137 | | Ville | Amsterdam | Amsterdam | | Code postal | 1068 SR | 1068 SR | | Téléphone | +31689124321 | +31632167678 | #### Nouvelle-Zélande | | Approuvé | Refusé | | ----------------- | ------------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nz | Person-nz | | Rue | Mount Wellington Highway | Mount Wellington Highway | | Numéro de rue | 286 | 286 | | Code postal | 6011 | 6011 | | Ville | Auckland | Wellington | | Téléphone | +6427555290 | +642993007712 | | Adresse e-mail | customer@email.nz | customer+denied@email.nz | #### Norvège | | Approuvé | Refusé | | ----------------- | ----------------------------- | ------------------------ | | Date de naissance | 01-08-1970 | 01-08-1970 | | Prénom | Jane | Test | | Nom | Test | Person-no | | E-mail | customer@email.no | customer+denied@email.no | | Numéro personnel | NO1087000571 | NO1087000148 | | Rue | Edvard Munchs Plass | Sæffleberggate | | Numéro de rue | 1 | 56 | | Ville | Oslo | Oslo | | Code postal | 0194 | 0563 | | Téléphone | +4740123456 | +4740123457 | #### Pologne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 05-05-1967 | 05-05-1967 | | Prénom | Test | Test | | Nom | Person-pl | Person-pl | | Rue | Ul. Górczewska | Ul. Górczewska | | Numéro de rue | 124 | 124 | | Code postal | 01-460 | 01-460 | | Ville | Varsovie | Varsovie | | Téléphone | +48795222223 | +48795223325 | | E-mail | customer@email.pl | customer+denied@email.pl | #### Portugal | | Approuvé | Refusé | | ----------------- | ---------------------------------- | ---------------------------------- | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-pt | Person-pt | | Rue | Avenida Dom João II | Avenida Dom João II | | Numéro de rue | 40 | 40 | | Code postal | 1990-094 | 1990-094 | | Ville | Lisbonne | Lisbonne | | Téléphone | +351935556731 | +351915593837 | | E-mail | customer@email.pt | customer+denied@email.pt | #### Roumanie | | Approuvé | Refusé | | --------------------------------------- | ----------------- | ------------------------ | | Date de naissance | 25-12-1970 | 25-12-1970 | | Prénom | Test | Test | | Nom | Person-ro | Person-ro | | E-mail | customer@email.ro | customer+denied@email.ro | | Rue | Drumul Taberei | Drumul Taberei | | Numéro de rue | 35 | 35 | | Ville | Bucarest | Bucarest | | Secteur | Sectorul 6 | Sectorul 6 | | Code postal | 061357 | 061357 | | Téléphone | +40741209876 | +40707127444 | | Numéro d’identification personnel (CNP) | 1701225193558 | | #### Espagne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | DNI/NIE | 99999999R | 99999999R | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-es | Person-es | | E-mail | customer@email.es | customer+denied@email.es | | Rue | C. de Atocha | C. de Atocha | | Numéro de rue | 27 | 27 | | Ville | Madrid | Madrid | | Code postal | 28012 | 28012 | | Téléphone | +34672563009 | +34682425101 | #### Suède | | Approuvé | Refusé | | ----------------- | ---------------------------- | ------------------------ | | Date de naissance | 21-03-1941 | 28-10-1941 | | Prénom | Alice | Test | | Nom | Test | Person-se | | E-mail | customer@email.se | customer+denied@email.se | | Rue | Södra Blasieholmshamnen | Karlaplan | | Numéro de rue | 2 | 3 | | Ville | Stockholm | Stockholm | | Code postal | 11 148 | 11 460 | | Téléphone | +46701740615 | +46701740620 | #### Suisse | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1990 | 01-01-2000 | | Prénom | Accepté | Client | | Nom | Person-ch | Person-ch | | Rue | Augustinergasse | Bahnhofstrasse | | Numéro de rue | 2 | 77 | | Code postal | 4051 | 8001 | | Ville | Bâle | Zürich | | Téléphone | +41758680000 | +41758680001 | | E-mail | customer@email.ch | customer+denied@email.ch | #### Royaume-Uni | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-uk | Person-uk | | E-mail | customer@email.uk | customer+denied@email.uk | | Rue | New Burlington Street | New Burlington Street | | Numéro de rue | 10 | 10 | | Appartement | Apt 214 | Apt 214 | | Code postal | W1S 3BE | W1S 3BE | | Ville | Londres | Londres | | Téléphone | +447755564318 | +447355505530 | #### États-Unis | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 07-10-1970 | 07-10-1970 | | Prénom | Test | Test | | Nom | Person-us | Person-us | | E-mail | customer@email.us | customer+denied@email.us | | Rue | Amsterdam Ave | Amsterdam Ave | | Numéro de rue | 509 | 509 | | Ville | New York | New York | | État | New York | New York | | Code postal | 10024-3941 | 10024-3941 | | Téléphone | +13106683312 | +13106354386 | ### Authentification à deux facteurs Tout numéro à six chiffres forme un code d’authentification à deux facteurs valide. Utilisez `999999`pour que l’authentification échoue. ### Mode de remboursement Dans le flux Klarna, vous pouvez utiliser les valeurs de test suivantes pour essayer divers types de remboursements : | Type | Valeur | | ----------------------- | ------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique | DE11520513735120710131 | | Virement bancaire | Banque de démonstration | | Carte bancaire | - Numéro : 4111 1111 1111 1111 - CVV : 123 - Date d’expiration : toute date future valide | | Carte de débit | - Numéro : 4012 8888 8888 1881 - CVV : 123 - Date d’expiration : toute date future valide | ## Optional: Séparer l'autorisation et la capture Klarna prend en charge [l’autorisation et la capture distinctes](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md). S’il y a un délai entre le paiement et la livraison des marchandises à votre client, autorisez d’abord le paiement et capturez-le plus tard. Au moment de la capture, Klarna envoie un relevé au client et initie les dates d’échéance de tous les paiements ultérieurs qu’il devra effectuer. **Un paiement Klarna autorisé doit être capturé dans les 28 jours suivant l’autorisation**. Dans le cas contraire, l’autorisation est automatiquement annulée et vous ne pouvez plus capturer le paiement. 1. Indiquer à Stripe d’autoriser seulement Pour indiquer que vous voulez séparer l’autorisation de la capture, définissez la valeur de l’option [capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) sur `manual` lorsque vous créez le PaymentIntent. Ce paramètre indique à Stripe d’autoriser uniquement le montant sur le compte Klarna du client. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d capture_method=manual ``` 1. Capturer les fonds Une fois l’autorisation réussie, l’[état](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-status) du PaymentIntent passe à `requires_capture`. Pour capturer les fonds autorisés, effectuez une requête de [capture](https://docs.stripe.com/api/payment_intents/capture.md) sur le PaymentIntent. Le montant total autorisé est capturé par défaut ; vous ne pouvez pas capturer plus que ce montant, mais vous pouvez en capturer moins. ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/capture \ -u "<>:" \ -d amount_to_capture=750 ``` 1. (Facultatif) Annuler l’autorisation Klarna comptabilise tous les paiements autorisés par rapport au pouvoir d’achat total du client au sein de Klarna. Assurez-vous d’annuler activement tout paiement autorisé que vous ne pouvez pas honorer (par exemple, les marchandises ne peuvent pas être expédiées) dès que cela devient évident. ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/cancel \ -u "<>:" \ -d cancellation_reason=abandoned ``` ## Optional: Gérer les événements post-paiement Stripe envoie un événement [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) à l’issue du paiement. Utilisez le Dashboard, un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) personnalisé ou une solution partenaire pour recevoir ces événements et exécuter des actions, comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un workflow de livraison. Plutôt que d’attendre un rappel de votre client, écoutez ces événements. En effet, côté client, l’acheteur pourrait fermer la fenêtre de son navigateur ou quitter l’application avant l’exécution du rappel. Des personnes malveillantes peuvent en profiter pour manipuler la réponse. Si vous configurez votre intégration de manière à écouter les événements asynchrones, cela vous permettra également d’accepter de nouveaux moyens de paiement plus facilement à l’avenir. Apprenez-en davantage sur les [différences entre les différents moyens de paiement pris en charge](https://stripe.com/payments/payment-methods-guide). - **Gérer les événements manuellement dans le Dashboard** Utilisez le Dashboard pour [afficher vos paiements de test dans le Dashboard](https://dashboard.stripe.com/test/payments), envoyer des reçus par e-mail, gérer les virements ou réessayer les paiements échoués. - **Créer un webhook personnalisé** [Build a custom webhook](https://docs.stripe.com/webhooks/handling-payment-events.md#build-your-own-webhook) handler to listen for events and build custom asynchronous payment flows. Test and debug your webhook integration locally with the Stripe CLI. - **Intégrer une application prédéfinie** Gérez les événements commerciaux courants, tels que l’[automatisation](https://stripe.partners/?f_category=automation) ou le [marketing et les ventes](https://stripe.partners/?f_category=marketing-and-sales), en intégrant une application partenaire. ## Optional: Personnaliser la page de paiement Klarna - **Préremplir le formulaire Klarna** Lorsque le client choisit de payer avec Klarna en utilisant une option de paiement différé (payer plus tard, versements échelonnés ou financement), Klarna collecte suffisamment d’informations pour l’évaluation des risques et l’approbation. Le type d’informations dépend du pays du client. Pour la plupart des pays d’Europe, il s’agit des coordonnées de facturation complètes et de la date de naissance. Vous pouvez transmettre ces informations via l’API, et le formulaire sera prérempli lorsque votre client arrivera sur la page. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d confirm=true \ --data-urlencode return_url="https://example.com/checkout/complete" \ -d "payment_method_data[type]"=klarna \ --data-urlencode "payment_method_data[billing_details][email]"="customer@example.com" \ -d "payment_method_data[billing_details][name]"="Jenny Rosen" \ --data-urlencode "payment_method_data[billing_details][phone]"="+4915142321555" \ -d "payment_method_data[billing_details][address][line1]"="Alexanderplatz 1" \ -d "payment_method_data[billing_details][address][city]"=Berlin \ -d "payment_method_data[billing_details][address][postal_code]"=10551 \ -d "payment_method_data[billing_details][address][country]"=DE \ -d "payment_method_data[klarna][dob][day]"=10 \ -d "payment_method_data[klarna][dob][month]"=10 \ -d "payment_method_data[klarna][dob][year]"=1990 ``` ![Capture d'écran de la page de paiement Klarna préremplie avec les informations de facturation issues de l'API et personnalisée de sorte à s'afficher en anglais](https://b.stripecdn.com/docs-statics-srv/assets/klarna-kpp-prefilled-customized.75932cc9aa3223960aa2fcf769c1ce62.png) Page de paiement Klarna préremplie avec les informations de facturation issues de l’API et personnalisée de sorte à s’afficher en anglais pour un client basé en Allemagne ## Optional: Ajouter des postes de facture au Paymentintent > #### Postes de facture unifiés avec Klarna > > Pour optimiser les taux d’approbation lors de l’intégration à Klarna, incluez des données `line_items` pour représenter le contenu du panier d’un acheteur. Pour bénéficier d’un accès anticipé, consultez la page [Postes de paiement](https://docs.stripe.com/payments/payment-line-items.md). ## Échecs de paiement Klarna prend en compte de nombreux facteurs pour accepter ou refuser une transaction (par exemple, la durée d’utilisation de Klarna, le montant résiduel que le client doit rembourser ou encore la valeur de la commande actuelle). Lorsque le client sélectionne un moyen de paiement différé, Klarna effectue une évaluation des risques avant d’accepter la transaction. Klarna peut refuser la transaction en raison d’un résultat insatisfaisant de l’évaluation des risques, du montant de la transaction en question ou du niveau de dette du client. C’est pourquoi nous vous recommandons d’intégrer des options de paiement supplémentaires telles que `card` dans votre tunnel de paiement. Dans ces cas, le [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) est dissocié et l’état de l’objet [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) passe automatiquement à `requires_payment_method`. Les clients sont tenus d’effectuer le paiement dans les 48 heures suivant leur redirection vers le site Klarna. Si aucune action n’est effectuée au bout de 48 heures, le [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) est dissocié et l’état de l’objet [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) passe automatiquement de `requires_action` à `requires_payment_method`. Dans ce cas, informez votre client pour réessayer avec une option de paiement différente présentée dans votre tunnel de paiement. ### Limites de débit Klarna Les requêtes API adressées à Klarna sont soumises à des limites d’appels supplémentaires qui vont au-delà des [limites d’appels](https://docs.stripe.com/rate-limits.md) à l’échelle de l’API Stripe. Ces limites peuvent varier en fonction de la forme des requêtes API que vous effectuez. En général, si vous faites plus de 50 requêtes par seconde, vous constaterez peut-être une limite d’appels sous la forme de réponses avec le code d’état HTTP `400` ou `402`. Veuillez nous contacter via le formulaire du[service de support Stripe](https://support.stripe.com)(https://support.stripe.com) pour obtenir de plus amples détails si vous craignez que votre utilisation n’atteigne ces niveaux, car Klarna pourrait augmenter ces limites au cas par cas. ### Messages d’erreur Les paiements Klarna qui échouent renvoient normalement l’un des codes d’échec suivants. Ces codes apparaissent dans l’objet API [last_payment_error](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-last_payment_error). > Dans les versions de l’API antérieures à `2023-08-16`, chaque erreur Klarna était signalée comme suit : [payment_intent_authentication_failure](https://docs.stripe.com/error-codes.md#payment_intent_authentication_failure). Assurez-vous que votre version de l’API est à jour pour consulter les erreurs répertoriées ci-dessous. | Code d’échec | Explication | | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | [payment_method_customer_decline](https://docs.stripe.com/error-codes.md#payment-method-customer-decline) | Le client a annulé le paiement depuis la page Klarna. | | [payment_method_provider_decline](https://docs.stripe.com/error-codes.md#payment-method-provider-decline) | Klarna a refusé le paiement du client | | [payment_intent_payment_attempt_expired](https://docs.stripe.com/error-codes.md#payment-intent-payment-attempt-expired) | Le client n’a jamais mené à bien le paiement sur la page de Klarna et la session de paiement a expiré | | [payment_method_not_available](https://docs.stripe.com/error-codes.md#payment-method-not-available) | Une erreur inattendue est survenue lors de l’utilisation de Klarna | # Android > This is a Android for when payment-ui is mobile and platform is android. View the full page at https://docs.stripe.com/payments/klarna/accept-a-payment?payment-ui=mobile&platform=android. Lorsqu’un client utilise Klarna dans votre application, une vue Web lui permettant d’authentifier son paiement s’affiche. Votre client revient ensuite dans votre application et vous pouvez immédiatement *confirmer* (Confirming an intent indicates that the customer intends to use the current or provided payment method. Upon confirmation, the intent attempts to initiate the portions of the flow that have real-world side effects) si le paiement a abouti ou échoué. ## Configurer Stripe [Côté serveur] [Côté client] Tout d’abord, il vous faut un compte Stripe. [Inscrivez-vous](https://dashboard.stripe.com/register). ### Côté serveur Pour cette intégration, votre serveur doit être doté d’endpoints qui communiquent avec l’API Stripe. Utilisez les bibliothèques officielles pour accéder à l’API Stripe depuis votre serveur : #### Ruby ```bash # Available as a gem sudo gem install stripe ``` ```ruby # If you use bundler, you can add this line to your Gemfile gem 'stripe' ``` ### Côté client Le [SDK Stripe Android](https://github.com/stripe/stripe-android) est disponible en open source et [fait l’objet d’une documentation complète](https://stripe.dev/stripe-android/). Pour installer le SDK, ajoutez `stripe-android` au bloc `dependencies` de votre fichier [app/build.gradle](https://developer.android.com/studio/build/dependencies) : #### Kotlin ```kotlin plugins { id("com.android.application") } android { ... } dependencies { // ... // Stripe Android SDK implementation("com.stripe:stripe-android:23.0.2") // Include the financial connections SDK to support US bank account as a payment method implementation("com.stripe:financial-connections:23.0.2") } ``` > Pour obtenir de plus amples informations sur la version la plus récente du SDK et ses versions antérieures, consultez la page des [versions](https://github.com/stripe/stripe-android/releases) sur GitHub. Pour savoir quand une nouvelle version est disponible, [surveillez les versions du référentiel](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository). Configurez le SDK avec votre [clé publique](https://dashboard.stripe.com/apikeys) Stripe de façon à ce qu’il puisse envoyer des requêtes à l’API Stripe, par exemple à la sous-classe `Application` : #### Kotlin ```kotlin import com.stripe.android.PaymentConfiguration class MyApp : Application() { override fun onCreate() { super.onCreate() PaymentConfiguration.init( applicationContext, "<>" ) } } ``` > Utilisez vos [clés de test](https://docs.stripe.com/keys.md#obtain-api-keys) lors de vos activités de test et de développement et vos clés du [mode production](https://docs.stripe.com/keys.md#test-live-modes) pour la publication de votre application. Les échantillons de code de Stripe utilisent également [OkHttp](https://github.com/square/okhttp) et [GSON](https://github.com/google/gson) pour envoyer des requêtes HTTP à un serveur. ## Créer un PaymentIntent [Côté serveur] [Côté client] Un [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) est un objet qui représente votre intention de collecter un paiement auprès d’un client et qui suit le cycle de vie du processus de paiement à chaque étape. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur ``` ### Côté client Le PaymentIntent renvoyé contient une *clé secrète du client* (The client secret is a unique key returned from Stripe as part of a PaymentIntent. This key lets the client access important fields from the PaymentIntent (status, amount, currency) while hiding sensitive ones (metadata, customer)) que vous pouvez envoyer au client pour une exécution sécurisée du processus de paiement au lieu de lui transmettre la totalité de l’objet PaymentIntent. Côté client, demandez un PaymentIntent à votre serveur et sauvegardez la clé secrète du client qu’il contient. #### Kotlin ```kotlin class KlarnaPaymentActivity: AppCompatActivity() { private lateinit var paymentIntentClientSecret: String override fun onCreate(savedInstanceState: Bundle?) { // ... startCheckout() } private fun startCheckout() { // Request a PaymentIntent from your server and store its client secret } } ``` ## Soumettre le paiement à Stripe [Côté client] Récupérez la clé secrète du client auprès de la PaymentIntent que vous avez créé à l’étape 2, puis appelez la méthode [PaymentLauncher confirm](https://stripe.dev/stripe-android/payments-core/com.stripe.android.payments.paymentlauncher/-payment-launcher/index.html#74063765%2FFunctions%2F-1622557690). Une vue Web s’affiche dans laquelle le client peut finaliser le paiement. Ensuite, le paramètre onActivityResult est appelé avec le résultat du paiement. #### Kotlin ```kotlin class KlarnaPaymentActivity : AppCompatActivity() { // ... private lateinit var paymentIntentClientSecret: String private val paymentLauncher: PaymentLauncher by lazy { val paymentConfiguration = PaymentConfiguration.getInstance(applicationContext) PaymentLauncher.Companion.create( this, paymentConfiguration.publishableKey, paymentConfiguration.stripeAccountId, ::onPaymentResult ) } private fun startCheckout() { // ... val confirmParams = ConfirmPaymentIntentParams .createWithPaymentMethodCreateParams( paymentMethodCreateParams = paymentMethodCreateParams, clientSecret = paymentIntentClientSecret, shipping = shippingDetails ) paymentLauncher.confirm(confirmParams) } private fun onPaymentResult(paymentResult: PaymentResult) { when (paymentResult) { is PaymentResult.Completed -> { // show success UI } is PaymentResult.Canceled -> { // handle cancel flow } is PaymentResult.Failed -> { // handle failures // (for example, the customer may need to choose a new payment // method) } } } } ``` ## Tester votre intégration Klarna > Klarna utilise des cookies pour le suivi des sessions. Pour tester différents emplacements clients, déconnectez-vous de l’environnement de test Klarna de la session précédente et utilisez les déclencheurs pertinents. Nous avons réuni ci-dessous des données de test pour les pays pris en charge. Dans un environnement de test, Klarna s’appuie sur l’adresse e-mail fournie pour approuver ou refuser une transaction. #### Australie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 03-05-1994 | | Prénom | Test | John | | Nom | Person-au | snow | | Rue | Wharf St | Silverwater Rd | | Numéro de rue | 4 | 1-5 | | Code postal | 4877 | 2128 | | Ville | Port Douglas | Silverwater | | Région | QLD | NSW | | Téléphone | +61473752244 | +61473763254 | | Adresse e-mail | customer@email.au | customer+denied@email.au | #### Autriche | | Approuvé | Refusé | | ----------------- | ------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-at | Person-at | | E-mail | customer@email.at | customer+denied@email.at | | Rue | Mariahilfer Straße | Mariahilfer Straße | | Numéro de rue | 47 | 47 | | Ville | Vienne | Vienne | | Code postal | 1060 | 1060 | | Téléphone | +4306762600456 | +4306762600745 | #### Belgique | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-be | Person-be | | E-mail | customer@email.be | customer+denied@email.be | | Rue | Grote Markt | Grote Markt | | Numéro de rue | 1 | 1 | | Ville | Bruxelles | Bruxelles | | Code postal | 1 000 | 1 000 | | Téléphone | +32485121291 | +32485212123 | #### Canada | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ca | Person-ca | | Rue | 2693 Byron Rd | 2693 Byron Rd | | Code postal | V7H 1L9 | V7H 1L9 | | Ville | North Vancouver | North Vancouver | | Région | BC | BC | | Téléphone | +15197438620 | +15197308624 | | Adresse e-mail | customer@email.ca | customer+denied@email.ca | #### République tchèque | | Approuvé | Refusé | | ----------------- | ----------------------- | ------------------------ | | Date de naissance | 01-01-1970 | 27-06-1992 | | Prénom | Test | Test | | Nom | Person-cz | Person-cz | | E-mail | customer@email.cz | customer+denied@email.cz | | Rue | Zazvorkova 1480/11 | Zázvorkova 1480/11 | | Code postal | 155 00 | 155 00 | | Ville | Prague | PRAHA 13 | | Téléphone | +420771613715 | +420771623691 | #### Danemark | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-dk | Person-dk | | E-mail | customer@email.dk | customer+denied@email.dk | | Rue | Dantes Plads | Nygårdsvej | | Numéro de rue | 7 | 65 | | Ville | København Ø | København Ø | | Code postal | 1556 | 2100 | | Téléphone | +4542555628 | +4552555348 | #### Finlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1999 | 01-01-1999 | | Prénom | Test | Person FI | | Nom | Person-fi | Test | | E-mail | customer@email.fi | customer+denied@email.fi | | Rue | Mannerheimintie | Mannerheimintie | | Numéro de rue | 34 | 34 | | Ville | Helsinki | Helsinki | | Code postal | 00100 | 00100 | | Téléphone | +358401234567 | +358401234568 | #### France | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10-07-1990 | 10-07-1990 | | Lieu de naissance | Paris | Paris | | Prénom | Test | Test | | Nom | Person-fr | Person-fr | | E-mail | customer@email.fr | customer+denied@email.fr | | Rue | rue La Fayette | rue La Fayette | | Numéro de rue | 33 | 33 | | Ville | Paris | Paris | | Code postal | 75009 | 75009 | | Téléphone | +33689854321 | +33687984322 | #### Allemagne | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Mock | Test | | Nom | Mock | Person-de | | E-mail | customer@email.de | customer+denied@email.de | | Rue | Neue Schönhauser Str. | Neue Schönhauser Str. | | Numéro de rue | 2 | 2 | | Ville | Berlin | Berlin | | Code postal | 10178 | 10178 | | Téléphone | +49017614284340 | +49017610927312 | #### Grèce | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Numéro fiscal | 090000045 | 090000045 | | Date de naissance | 01-01-1960 | 11-11-1970 | | Prénom | Test | Test | | Nom | Person-gr | Test-gr | | E-mail | customer@email.gr | customer+denied@email.gr | | Rue | Kephisias | Baralo | | Numéro de rue | 37 | 56 | | Code postal | 151 23 | 123 67 | | Ville | Athina | Athina | | Téléphone | +306945553624 | +306945553625 | #### Irlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ie | Person-ie | | E-mail | customer@email.ie | customer+denied@email.ie | | Rue | King Street South | King Street South | | Numéro de rue | 30 | 30 | | Ville | Dublin | Dublin | | Code EIR | D02 C838 | D02 C838 | | Téléphone | +353855351400 | +353855351401 | #### Italie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 01-01-1980 | | Prénom | Test | Test | | Nom | Person-it | Person-it | | E-mail | customer@email.it | customer+denied@email.it | | Code fiscal | RSSBNC80A41H501B | RSSBNC80A41H501B | | Rue | Via Enrico Fermi | Via Enrico Fermi | | Numéro de rue | 150 | 150 | | Ville | Rome | Rome | | Code postal | 00146 | 00146 | | Téléphone | +393339741231 | +393312232389 | #### Pays-Bas | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nl | Person-nl | | E-mail | customer@email.nl | customer+denied@email.nl | | Rue | Osdorpplein | Osdorpplein | | Numéro de rue | 137 | 137 | | Ville | Amsterdam | Amsterdam | | Code postal | 1068 SR | 1068 SR | | Téléphone | +31689124321 | +31632167678 | #### Nouvelle-Zélande | | Approuvé | Refusé | | ----------------- | ------------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nz | Person-nz | | Rue | Mount Wellington Highway | Mount Wellington Highway | | Numéro de rue | 286 | 286 | | Code postal | 6011 | 6011 | | Ville | Auckland | Wellington | | Téléphone | +6427555290 | +642993007712 | | Adresse e-mail | customer@email.nz | customer+denied@email.nz | #### Norvège | | Approuvé | Refusé | | ----------------- | ----------------------------- | ------------------------ | | Date de naissance | 01-08-1970 | 01-08-1970 | | Prénom | Jane | Test | | Nom | Test | Person-no | | E-mail | customer@email.no | customer+denied@email.no | | Numéro personnel | NO1087000571 | NO1087000148 | | Rue | Edvard Munchs Plass | Sæffleberggate | | Numéro de rue | 1 | 56 | | Ville | Oslo | Oslo | | Code postal | 0194 | 0563 | | Téléphone | +4740123456 | +4740123457 | #### Pologne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 05-05-1967 | 05-05-1967 | | Prénom | Test | Test | | Nom | Person-pl | Person-pl | | Rue | Ul. Górczewska | Ul. Górczewska | | Numéro de rue | 124 | 124 | | Code postal | 01-460 | 01-460 | | Ville | Varsovie | Varsovie | | Téléphone | +48795222223 | +48795223325 | | E-mail | customer@email.pl | customer+denied@email.pl | #### Portugal | | Approuvé | Refusé | | ----------------- | ---------------------------------- | ---------------------------------- | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-pt | Person-pt | | Rue | Avenida Dom João II | Avenida Dom João II | | Numéro de rue | 40 | 40 | | Code postal | 1990-094 | 1990-094 | | Ville | Lisbonne | Lisbonne | | Téléphone | +351935556731 | +351915593837 | | E-mail | customer@email.pt | customer+denied@email.pt | #### Roumanie | | Approuvé | Refusé | | --------------------------------------- | ----------------- | ------------------------ | | Date de naissance | 25-12-1970 | 25-12-1970 | | Prénom | Test | Test | | Nom | Person-ro | Person-ro | | E-mail | customer@email.ro | customer+denied@email.ro | | Rue | Drumul Taberei | Drumul Taberei | | Numéro de rue | 35 | 35 | | Ville | Bucarest | Bucarest | | Secteur | Sectorul 6 | Sectorul 6 | | Code postal | 061357 | 061357 | | Téléphone | +40741209876 | +40707127444 | | Numéro d’identification personnel (CNP) | 1701225193558 | | #### Espagne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | DNI/NIE | 99999999R | 99999999R | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-es | Person-es | | E-mail | customer@email.es | customer+denied@email.es | | Rue | C. de Atocha | C. de Atocha | | Numéro de rue | 27 | 27 | | Ville | Madrid | Madrid | | Code postal | 28012 | 28012 | | Téléphone | +34672563009 | +34682425101 | #### Suède | | Approuvé | Refusé | | ----------------- | ---------------------------- | ------------------------ | | Date de naissance | 21-03-1941 | 28-10-1941 | | Prénom | Alice | Test | | Nom | Test | Person-se | | E-mail | customer@email.se | customer+denied@email.se | | Rue | Södra Blasieholmshamnen | Karlaplan | | Numéro de rue | 2 | 3 | | Ville | Stockholm | Stockholm | | Code postal | 11 148 | 11 460 | | Téléphone | +46701740615 | +46701740620 | #### Suisse | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1990 | 01-01-2000 | | Prénom | Accepté | Client | | Nom | Person-ch | Person-ch | | Rue | Augustinergasse | Bahnhofstrasse | | Numéro de rue | 2 | 77 | | Code postal | 4051 | 8001 | | Ville | Bâle | Zürich | | Téléphone | +41758680000 | +41758680001 | | E-mail | customer@email.ch | customer+denied@email.ch | #### Royaume-Uni | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-uk | Person-uk | | E-mail | customer@email.uk | customer+denied@email.uk | | Rue | New Burlington Street | New Burlington Street | | Numéro de rue | 10 | 10 | | Appartement | Apt 214 | Apt 214 | | Code postal | W1S 3BE | W1S 3BE | | Ville | Londres | Londres | | Téléphone | +447755564318 | +447355505530 | #### États-Unis | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 07-10-1970 | 07-10-1970 | | Prénom | Test | Test | | Nom | Person-us | Person-us | | E-mail | customer@email.us | customer+denied@email.us | | Rue | Amsterdam Ave | Amsterdam Ave | | Numéro de rue | 509 | 509 | | Ville | New York | New York | | État | New York | New York | | Code postal | 10024-3941 | 10024-3941 | | Téléphone | +13106683312 | +13106354386 | ### Authentification à deux facteurs Tout numéro à six chiffres forme un code d’authentification à deux facteurs valide. Utilisez `999999`pour que l’authentification échoue. ### Mode de remboursement Dans le flux Klarna, vous pouvez utiliser les valeurs de test suivantes pour essayer divers types de remboursements : | Type | Valeur | | ----------------------- | ------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique | DE11520513735120710131 | | Virement bancaire | Banque de démonstration | | Carte bancaire | - Numéro : 4111 1111 1111 1111 - CVV : 123 - Date d’expiration : toute date future valide | | Carte de débit | - Numéro : 4012 8888 8888 1881 - CVV : 123 - Date d’expiration : toute date future valide | ## Optional: Séparer l'autorisation et la capture Klarna prend en charge [l’autorisation et la capture distinctes](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md). S’il y a un délai entre le paiement et la livraison des marchandises à votre client, autorisez d’abord le paiement et capturez-le plus tard. Au moment de la capture, Klarna envoie un relevé au client et initie les dates d’échéance de tous les paiements ultérieurs qu’il devra effectuer. **Un paiement Klarna autorisé doit être capturé dans les 28 jours suivant l’autorisation**. Dans le cas contraire, l’autorisation est automatiquement annulée et vous ne pouvez plus capturer le paiement. 1. Indiquer à Stripe d’autoriser seulement Pour indiquer que vous voulez séparer l’autorisation de la capture, définissez la valeur de l’option [capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) sur `manual` lorsque vous créez le PaymentIntent. Ce paramètre indique à Stripe d’autoriser uniquement le montant sur le compte Klarna du client. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d capture_method=manual ``` 1. Capturer les fonds Une fois l’autorisation réussie, l’[état](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-status) du PaymentIntent passe à `requires_capture`. Pour capturer les fonds autorisés, effectuez une requête de [capture](https://docs.stripe.com/api/payment_intents/capture.md) sur le PaymentIntent. Le montant total autorisé est capturé par défaut ; vous ne pouvez pas capturer plus que ce montant, mais vous pouvez en capturer moins. ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/capture \ -u "<>:" \ -d amount_to_capture=750 ``` 1. (Facultatif) Annuler l’autorisation Klarna comptabilise tous les paiements autorisés par rapport au pouvoir d’achat total du client au sein de Klarna. Assurez-vous d’annuler activement tout paiement autorisé que vous ne pouvez pas honorer (par exemple, les marchandises ne peuvent pas être expédiées) dès que cela devient évident. ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/cancel \ -u "<>:" \ -d cancellation_reason=abandoned ``` ## Optional: Gérer les événements post-paiement Stripe envoie un événement [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) à l’issue du paiement. Utilisez le Dashboard, un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) personnalisé ou une solution partenaire pour recevoir ces événements et exécuter des actions, comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un workflow de livraison. Plutôt que d’attendre un rappel de votre client, écoutez ces événements. En effet, côté client, l’acheteur pourrait fermer la fenêtre de son navigateur ou quitter l’application avant l’exécution du rappel. Des personnes malveillantes peuvent en profiter pour manipuler la réponse. Si vous configurez votre intégration de manière à écouter les événements asynchrones, cela vous permettra également d’accepter de nouveaux moyens de paiement plus facilement à l’avenir. Apprenez-en davantage sur les [différences entre les différents moyens de paiement pris en charge](https://stripe.com/payments/payment-methods-guide). - **Gérer les événements manuellement dans le Dashboard** Utilisez le Dashboard pour [afficher vos paiements de test dans le Dashboard](https://dashboard.stripe.com/test/payments), envoyer des reçus par e-mail, gérer les virements ou réessayer les paiements échoués. - **Créer un webhook personnalisé** [Build a custom webhook](https://docs.stripe.com/webhooks/handling-payment-events.md#build-your-own-webhook) handler to listen for events and build custom asynchronous payment flows. Test and debug your webhook integration locally with the Stripe CLI. - **Intégrer une application prédéfinie** Gérez les événements commerciaux courants, tels que l’[automatisation](https://stripe.partners/?f_category=automation) ou le [marketing et les ventes](https://stripe.partners/?f_category=marketing-and-sales), en intégrant une application partenaire. ## Optional: Personnaliser la page de paiement Klarna - **Préremplir le formulaire Klarna** Lorsque le client choisit de payer avec Klarna en utilisant une option de paiement différé (payer plus tard, versements échelonnés ou financement), Klarna collecte suffisamment d’informations pour l’évaluation des risques et l’approbation. Le type d’informations dépend du pays du client. Pour la plupart des pays d’Europe, il s’agit des coordonnées de facturation complètes et de la date de naissance. Vous pouvez transmettre ces informations via l’API, et le formulaire sera prérempli lorsque votre client arrivera sur la page. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d confirm=true \ --data-urlencode return_url="https://example.com/checkout/complete" \ -d "payment_method_data[type]"=klarna \ --data-urlencode "payment_method_data[billing_details][email]"="customer@example.com" \ -d "payment_method_data[billing_details][name]"="Jenny Rosen" \ --data-urlencode "payment_method_data[billing_details][phone]"="+4915142321555" \ -d "payment_method_data[billing_details][address][line1]"="Alexanderplatz 1" \ -d "payment_method_data[billing_details][address][city]"=Berlin \ -d "payment_method_data[billing_details][address][postal_code]"=10551 \ -d "payment_method_data[billing_details][address][country]"=DE \ -d "payment_method_data[klarna][dob][day]"=10 \ -d "payment_method_data[klarna][dob][month]"=10 \ -d "payment_method_data[klarna][dob][year]"=1990 ``` ![Capture d'écran de la page de paiement Klarna préremplie avec les informations de facturation issues de l'API et personnalisée de sorte à s'afficher en anglais](https://b.stripecdn.com/docs-statics-srv/assets/klarna-kpp-prefilled-customized.75932cc9aa3223960aa2fcf769c1ce62.png) Page de paiement Klarna préremplie avec les informations de facturation issues de l’API et personnalisée de sorte à s’afficher en anglais pour un client basé en Allemagne ## Optional: Ajouter des postes de facture au Paymentintent > #### Postes de facture unifiés avec Klarna > > Pour optimiser les taux d’approbation lors de l’intégration à Klarna, incluez des données `line_items` pour représenter le contenu du panier d’un acheteur. Pour bénéficier d’un accès anticipé, consultez la page [Postes de paiement](https://docs.stripe.com/payments/payment-line-items.md). ## Échecs de paiement Klarna prend en compte de nombreux facteurs pour accepter ou refuser une transaction (par exemple, la durée d’utilisation de Klarna, le montant résiduel que le client doit rembourser ou encore la valeur de la commande actuelle). Lorsque le client sélectionne un moyen de paiement différé, Klarna effectue une évaluation des risques avant d’accepter la transaction. Klarna peut refuser la transaction en raison d’un résultat insatisfaisant de l’évaluation des risques, du montant de la transaction en question ou du niveau de dette du client. C’est pourquoi nous vous recommandons d’intégrer des options de paiement supplémentaires telles que `card` dans votre tunnel de paiement. Dans ces cas, le [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) est dissocié et l’état de l’objet [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) passe automatiquement à `requires_payment_method`. Les clients sont tenus d’effectuer le paiement dans les 48 heures suivant leur redirection vers le site Klarna. Si aucune action n’est effectuée au bout de 48 heures, le [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) est dissocié et l’état de l’objet [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) passe automatiquement de `requires_action` à `requires_payment_method`. Dans ce cas, informez votre client pour réessayer avec une option de paiement différente présentée dans votre tunnel de paiement. ### Limites de débit Klarna Les requêtes API adressées à Klarna sont soumises à des limites d’appels supplémentaires qui vont au-delà des [limites d’appels](https://docs.stripe.com/rate-limits.md) à l’échelle de l’API Stripe. Ces limites peuvent varier en fonction de la forme des requêtes API que vous effectuez. En général, si vous faites plus de 50 requêtes par seconde, vous constaterez peut-être une limite d’appels sous la forme de réponses avec le code d’état HTTP `400` ou `402`. Veuillez nous contacter via le formulaire du[service de support Stripe](https://support.stripe.com)(https://support.stripe.com) pour obtenir de plus amples détails si vous craignez que votre utilisation n’atteigne ces niveaux, car Klarna pourrait augmenter ces limites au cas par cas. ### Messages d’erreur Les paiements Klarna qui échouent renvoient normalement l’un des codes d’échec suivants. Ces codes apparaissent dans l’objet API [last_payment_error](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-last_payment_error). > Dans les versions de l’API antérieures à `2023-08-16`, chaque erreur Klarna était signalée comme suit : [payment_intent_authentication_failure](https://docs.stripe.com/error-codes.md#payment_intent_authentication_failure). Assurez-vous que votre version de l’API est à jour pour consulter les erreurs répertoriées ci-dessous. | Code d’échec | Explication | | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | [payment_method_customer_decline](https://docs.stripe.com/error-codes.md#payment-method-customer-decline) | Le client a annulé le paiement depuis la page Klarna. | | [payment_method_provider_decline](https://docs.stripe.com/error-codes.md#payment-method-provider-decline) | Klarna a refusé le paiement du client | | [payment_intent_payment_attempt_expired](https://docs.stripe.com/error-codes.md#payment-intent-payment-attempt-expired) | Le client n’a jamais mené à bien le paiement sur la page de Klarna et la session de paiement a expiré | | [payment_method_not_available](https://docs.stripe.com/error-codes.md#payment-method-not-available) | Une erreur inattendue est survenue lors de l’utilisation de Klarna | # React Native > This is a React Native for when payment-ui is mobile and platform is react-native. View the full page at https://docs.stripe.com/payments/klarna/accept-a-payment?payment-ui=mobile&platform=react-native. Lorsqu’un client utilise Klarna dans votre application, une vue Web lui permettant d’authentifier son paiement s’affiche. Votre client revient ensuite dans votre application et vous pouvez immédiatement *confirmer* (Confirming an intent indicates that the customer intends to use the current or provided payment method. Upon confirmation, the intent attempts to initiate the portions of the flow that have real-world side effects) si le paiement a abouti ou échoué. ## Configurer Stripe [Côté serveur] [Côté client] ### Côté serveur Pour cette intégration, votre serveur doit être doté d’endpoints qui communiquent avec l’API Stripe. Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre serveur : #### Ruby ```bash # Available as a gem sudo gem install stripe ``` ```ruby # If you use bundler, you can add this line to your Gemfile gem 'stripe' ``` ### Côté client Le [SDK React Native](https://github.com/stripe/stripe-react-native) est disponible en open source et fait l’objet d’une documentation complète. En interne, il utilise des SDK [Android](https://github.com/stripe/stripe-android) et [iOS natifs](https://github.com/stripe/stripe-ios). Pour installer le SDK React Native de Stripe, exécutez l’une des commandes suivantes dans le répertoire de votre projet (selon le gestionnaire de paquets que vous utilisez) : #### yarn ```bash yarn add @stripe/stripe-react-native ``` #### npm ```bash npm install @stripe/stripe-react-native ``` Ensuite, installez les autres dépendances nécessaires : - Pour iOS, accédez au directeur **ios** et exécutez `pod install` pour vous assurer que vous installez également les dépendances natives requises. - Pour Android, il n’y a plus de dépendances à installer. > Nous vous recommandons de suivre le [guide officiel de TypeScript](https://reactnative.dev/docs/typescript#adding-typescript-to-an-existing-project) pour ajouter la prise en charge de TypeScript. ### Initialisation de Stripe Pour initialiser Stripe dans votre application React Native, wrappez votre écran de paiement avec le composant `StripeProvider` ou utilisez la méthode d’initialisation `initStripe`. Seule la [clé publiable](https://docs.stripe.com/keys.md#obtain-api-keys) de l’API dans `publishableKey` est nécessaire. L’exemple suivant montre comment initialiser Stripe à l’aide du composant `StripeProvider`. ```jsx import { useState, useEffect } from 'react'; import { StripeProvider } from '@stripe/stripe-react-native'; function App() { const [publishableKey, setPublishableKey] = useState(''); const fetchPublishableKey = async () => { const key = await fetchKey(); // fetch key from your server here setPublishableKey(key); }; useEffect(() => { fetchPublishableKey(); }, []); return ( {/* Your app code here */} ); } ``` > Utilisez vos [clés de test](https://docs.stripe.com/keys.md#obtain-api-keys) d’API lors de vos activités de test et de développement, et vos clés du [mode production](https://docs.stripe.com/keys.md#test-live-modes) pour la publication de votre application. ## Créer un PaymentIntent [Côté serveur] [Côté client] Pour représenter votre intention d’encaisser le paiement d’un client, Stripe utilise un objet [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) qui suit vos tentatives de débit et les changements d’état du paiement tout au long du processus de paiement. ### Côté serveur Créez tout d’abord un `PaymentIntent` sur votre serveur, puis indiquez le montant à encaisser ainsi que la devise. Si votre intégration inclut déjà l’[API Payment Intents](https://docs.stripe.com/payments/payment-intents.md), ajoutez `klarna` à la liste des [types de moyens de paiement](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_types) valides pour votre `PaymentIntent`. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur ``` ### Côté client Un PaymentIntent contient une *clé secrète du client* (The client secret is a unique key returned from Stripe as part of a PaymentIntent. This key lets the client access important fields from the PaymentIntent (status, amount, currency) while hiding sensitive ones (metadata, customer)). Au lieu de transmettre la totalité de l’objet PaymentIntent, vous pouvez utiliser la clé secrète du client dans votre application React Native pour finaliser le processus de paiement en toute sécurité. Dans votre application, demandez un PaymentIntent auprès de votre serveur et sauvegardez sa clé secrète du client. ```javascript function PaymentScreen() { // ... const fetchPaymentIntentClientSecret = async () => { const response = await fetch(`${API_URL}/create-payment-intent`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ currency: 'eur', }), }); const {clientSecret} = await response.json(); return clientSecret; }; return ...; } ``` ## Soumettre le paiement à Stripe [Côté client] Pour soumettre le paiement à Stripe, vous devez utiliser la clé secrète client à partir du PaymentIntent que vous avez créé. Incluez-la dans votre appel à `confirmPayment` : ```javascript import {Picker} from '@react-native-picker/picker'; import {confirmPayment} from '@stripe/stripe-react-native'; export default function MyPaymentScreen() { const handlePayPress = async () => { // Fetch the intent client secret from the backend. // See `fetchPaymentIntentClientSecret()`'s implementation above. const clientSecret = await fetchPaymentIntentClientSecret(); const {error, paymentIntent} = await confirmPayment(clientSecret, { paymentMethodType: 'Klarna' }, }); if (error) { console.log('Payment confirmation error', error.message); // Update UI to prompt user to retry payment (and possibly another payment method) } else if (paymentIntent) { Alert.alert('Success', `The payment was confirmed successfully!`); } }; ``` ## Tester l'intégration Klarna > Klarna utilise des cookies pour le suivi des sessions. Pour tester différents emplacements clients, déconnectez-vous de l’environnement de test Klarna de la session précédente et utilisez les déclencheurs pertinents. Nous avons réuni ci-dessous des données de test pour les pays pris en charge. Dans un environnement de test, Klarna s’appuie sur l’adresse e-mail fournie pour approuver ou refuser une transaction. #### Australie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 03-05-1994 | | Prénom | Test | John | | Nom | Person-au | snow | | Rue | Wharf St | Silverwater Rd | | Numéro de rue | 4 | 1-5 | | Code postal | 4877 | 2128 | | Ville | Port Douglas | Silverwater | | Région | QLD | NSW | | Téléphone | +61473752244 | +61473763254 | | Adresse e-mail | customer@email.au | customer+denied@email.au | #### Autriche | | Approuvé | Refusé | | ----------------- | ------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-at | Person-at | | E-mail | customer@email.at | customer+denied@email.at | | Rue | Mariahilfer Straße | Mariahilfer Straße | | Numéro de rue | 47 | 47 | | Ville | Vienne | Vienne | | Code postal | 1060 | 1060 | | Téléphone | +4306762600456 | +4306762600745 | #### Belgique | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-be | Person-be | | E-mail | customer@email.be | customer+denied@email.be | | Rue | Grote Markt | Grote Markt | | Numéro de rue | 1 | 1 | | Ville | Bruxelles | Bruxelles | | Code postal | 1 000 | 1 000 | | Téléphone | +32485121291 | +32485212123 | #### Canada | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ca | Person-ca | | Rue | 2693 Byron Rd | 2693 Byron Rd | | Code postal | V7H 1L9 | V7H 1L9 | | Ville | North Vancouver | North Vancouver | | Région | BC | BC | | Téléphone | +15197438620 | +15197308624 | | Adresse e-mail | customer@email.ca | customer+denied@email.ca | #### République tchèque | | Approuvé | Refusé | | ----------------- | ----------------------- | ------------------------ | | Date de naissance | 01-01-1970 | 27-06-1992 | | Prénom | Test | Test | | Nom | Person-cz | Person-cz | | E-mail | customer@email.cz | customer+denied@email.cz | | Rue | Zazvorkova 1480/11 | Zázvorkova 1480/11 | | Code postal | 155 00 | 155 00 | | Ville | Prague | PRAHA 13 | | Téléphone | +420771613715 | +420771623691 | #### Danemark | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-dk | Person-dk | | E-mail | customer@email.dk | customer+denied@email.dk | | Rue | Dantes Plads | Nygårdsvej | | Numéro de rue | 7 | 65 | | Ville | København Ø | København Ø | | Code postal | 1556 | 2100 | | Téléphone | +4542555628 | +4552555348 | #### Finlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1999 | 01-01-1999 | | Prénom | Test | Person FI | | Nom | Person-fi | Test | | E-mail | customer@email.fi | customer+denied@email.fi | | Rue | Mannerheimintie | Mannerheimintie | | Numéro de rue | 34 | 34 | | Ville | Helsinki | Helsinki | | Code postal | 00100 | 00100 | | Téléphone | +358401234567 | +358401234568 | #### France | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10-07-1990 | 10-07-1990 | | Lieu de naissance | Paris | Paris | | Prénom | Test | Test | | Nom | Person-fr | Person-fr | | E-mail | customer@email.fr | customer+denied@email.fr | | Rue | rue La Fayette | rue La Fayette | | Numéro de rue | 33 | 33 | | Ville | Paris | Paris | | Code postal | 75009 | 75009 | | Téléphone | +33689854321 | +33687984322 | #### Allemagne | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Mock | Test | | Nom | Mock | Person-de | | E-mail | customer@email.de | customer+denied@email.de | | Rue | Neue Schönhauser Str. | Neue Schönhauser Str. | | Numéro de rue | 2 | 2 | | Ville | Berlin | Berlin | | Code postal | 10178 | 10178 | | Téléphone | +49017614284340 | +49017610927312 | #### Grèce | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Numéro fiscal | 090000045 | 090000045 | | Date de naissance | 01-01-1960 | 11-11-1970 | | Prénom | Test | Test | | Nom | Person-gr | Test-gr | | E-mail | customer@email.gr | customer+denied@email.gr | | Rue | Kephisias | Baralo | | Numéro de rue | 37 | 56 | | Code postal | 151 23 | 123 67 | | Ville | Athina | Athina | | Téléphone | +306945553624 | +306945553625 | #### Irlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ie | Person-ie | | E-mail | customer@email.ie | customer+denied@email.ie | | Rue | King Street South | King Street South | | Numéro de rue | 30 | 30 | | Ville | Dublin | Dublin | | Code EIR | D02 C838 | D02 C838 | | Téléphone | +353855351400 | +353855351401 | #### Italie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 01-01-1980 | | Prénom | Test | Test | | Nom | Person-it | Person-it | | E-mail | customer@email.it | customer+denied@email.it | | Code fiscal | RSSBNC80A41H501B | RSSBNC80A41H501B | | Rue | Via Enrico Fermi | Via Enrico Fermi | | Numéro de rue | 150 | 150 | | Ville | Rome | Rome | | Code postal | 00146 | 00146 | | Téléphone | +393339741231 | +393312232389 | #### Pays-Bas | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nl | Person-nl | | E-mail | customer@email.nl | customer+denied@email.nl | | Rue | Osdorpplein | Osdorpplein | | Numéro de rue | 137 | 137 | | Ville | Amsterdam | Amsterdam | | Code postal | 1068 SR | 1068 SR | | Téléphone | +31689124321 | +31632167678 | #### Nouvelle-Zélande | | Approuvé | Refusé | | ----------------- | ------------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nz | Person-nz | | Rue | Mount Wellington Highway | Mount Wellington Highway | | Numéro de rue | 286 | 286 | | Code postal | 6011 | 6011 | | Ville | Auckland | Wellington | | Téléphone | +6427555290 | +642993007712 | | Adresse e-mail | customer@email.nz | customer+denied@email.nz | #### Norvège | | Approuvé | Refusé | | ----------------- | ----------------------------- | ------------------------ | | Date de naissance | 01-08-1970 | 01-08-1970 | | Prénom | Jane | Test | | Nom | Test | Person-no | | E-mail | customer@email.no | customer+denied@email.no | | Numéro personnel | NO1087000571 | NO1087000148 | | Rue | Edvard Munchs Plass | Sæffleberggate | | Numéro de rue | 1 | 56 | | Ville | Oslo | Oslo | | Code postal | 0194 | 0563 | | Téléphone | +4740123456 | +4740123457 | #### Pologne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 05-05-1967 | 05-05-1967 | | Prénom | Test | Test | | Nom | Person-pl | Person-pl | | Rue | Ul. Górczewska | Ul. Górczewska | | Numéro de rue | 124 | 124 | | Code postal | 01-460 | 01-460 | | Ville | Varsovie | Varsovie | | Téléphone | +48795222223 | +48795223325 | | E-mail | customer@email.pl | customer+denied@email.pl | #### Portugal | | Approuvé | Refusé | | ----------------- | ---------------------------------- | ---------------------------------- | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-pt | Person-pt | | Rue | Avenida Dom João II | Avenida Dom João II | | Numéro de rue | 40 | 40 | | Code postal | 1990-094 | 1990-094 | | Ville | Lisbonne | Lisbonne | | Téléphone | +351935556731 | +351915593837 | | E-mail | customer@email.pt | customer+denied@email.pt | #### Roumanie | | Approuvé | Refusé | | --------------------------------------- | ----------------- | ------------------------ | | Date de naissance | 25-12-1970 | 25-12-1970 | | Prénom | Test | Test | | Nom | Person-ro | Person-ro | | E-mail | customer@email.ro | customer+denied@email.ro | | Rue | Drumul Taberei | Drumul Taberei | | Numéro de rue | 35 | 35 | | Ville | Bucarest | Bucarest | | Secteur | Sectorul 6 | Sectorul 6 | | Code postal | 061357 | 061357 | | Téléphone | +40741209876 | +40707127444 | | Numéro d’identification personnel (CNP) | 1701225193558 | | #### Espagne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | DNI/NIE | 99999999R | 99999999R | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-es | Person-es | | E-mail | customer@email.es | customer+denied@email.es | | Rue | C. de Atocha | C. de Atocha | | Numéro de rue | 27 | 27 | | Ville | Madrid | Madrid | | Code postal | 28012 | 28012 | | Téléphone | +34672563009 | +34682425101 | #### Suède | | Approuvé | Refusé | | ----------------- | ---------------------------- | ------------------------ | | Date de naissance | 21-03-1941 | 28-10-1941 | | Prénom | Alice | Test | | Nom | Test | Person-se | | E-mail | customer@email.se | customer+denied@email.se | | Rue | Södra Blasieholmshamnen | Karlaplan | | Numéro de rue | 2 | 3 | | Ville | Stockholm | Stockholm | | Code postal | 11 148 | 11 460 | | Téléphone | +46701740615 | +46701740620 | #### Suisse | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1990 | 01-01-2000 | | Prénom | Accepté | Client | | Nom | Person-ch | Person-ch | | Rue | Augustinergasse | Bahnhofstrasse | | Numéro de rue | 2 | 77 | | Code postal | 4051 | 8001 | | Ville | Bâle | Zürich | | Téléphone | +41758680000 | +41758680001 | | E-mail | customer@email.ch | customer+denied@email.ch | #### Royaume-Uni | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-uk | Person-uk | | E-mail | customer@email.uk | customer+denied@email.uk | | Rue | New Burlington Street | New Burlington Street | | Numéro de rue | 10 | 10 | | Appartement | Apt 214 | Apt 214 | | Code postal | W1S 3BE | W1S 3BE | | Ville | Londres | Londres | | Téléphone | +447755564318 | +447355505530 | #### États-Unis | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 07-10-1970 | 07-10-1970 | | Prénom | Test | Test | | Nom | Person-us | Person-us | | E-mail | customer@email.us | customer+denied@email.us | | Rue | Amsterdam Ave | Amsterdam Ave | | Numéro de rue | 509 | 509 | | Ville | New York | New York | | État | New York | New York | | Code postal | 10024-3941 | 10024-3941 | | Téléphone | +13106683312 | +13106354386 | ### Authentification à deux facteurs Tout numéro à six chiffres forme un code d’authentification à deux facteurs valide. Utilisez `999999`pour que l’authentification échoue. ### Mode de remboursement Dans le flux Klarna, vous pouvez utiliser les valeurs de test suivantes pour essayer divers types de remboursements : | Type | Valeur | | ----------------------- | ------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique | DE11520513735120710131 | | Virement bancaire | Banque de démonstration | | Carte bancaire | - Numéro : 4111 1111 1111 1111 - CVV : 123 - Date d’expiration : toute date future valide | | Carte de débit | - Numéro : 4012 8888 8888 1881 - CVV : 123 - Date d’expiration : toute date future valide | ## Optional: Autorisation et capture distinctes Klarna prend en charge [l’autorisation et la capture distinctes](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md). S’il y a un délai entre le paiement et la livraison des marchandises à votre client, autorisez d’abord le paiement et capturez-le plus tard. Au moment de la capture, Klarna envoie un relevé au client et initie les dates d’échéance de tous les paiements ultérieurs qu’il devra effectuer. **Un paiement Klarna autorisé doit être capturé dans les 28 jours suivant l’autorisation**. Dans le cas contraire, l’autorisation est automatiquement annulée et vous ne pouvez plus capturer le paiement. 1. Indiquer à Stripe d’autoriser seulement Pour indiquer que vous voulez séparer l’autorisation de la capture, définissez la valeur de l’option [capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) sur `manual` lorsque vous créez le PaymentIntent. Ce paramètre indique à Stripe d’autoriser uniquement le montant sur le compte Klarna du client. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d capture_method=manual ``` 1. Capturer les fonds Une fois l’autorisation réussie, l’[état](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-status) du PaymentIntent passe à `requires_capture`. Pour capturer les fonds autorisés, effectuez une requête de [capture](https://docs.stripe.com/api/payment_intents/capture.md) sur le PaymentIntent. Le montant total autorisé est capturé par défaut ; vous ne pouvez pas capturer plus que ce montant, mais vous pouvez en capturer moins. ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/capture \ -u "<>:" \ -d amount_to_capture=750 ``` 1. (Facultatif) Annuler l’autorisation Klarna comptabilise tous les paiements autorisés par rapport au pouvoir d’achat total du client au sein de Klarna. Assurez-vous d’annuler activement tout paiement autorisé que vous ne pouvez pas honorer (par exemple, les marchandises ne peuvent pas être expédiées) dès que cela devient évident. ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/cancel \ -u "<>:" \ -d cancellation_reason=abandoned ``` ## Optional: Gérer les événements post-paiement Stripe envoie un événement [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) à l’issue du paiement. Utilisez le Dashboard, un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) personnalisé ou une solution partenaire pour recevoir ces événements et exécuter des actions, comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un workflow de livraison. Plutôt que d’attendre un rappel de votre client, écoutez ces événements. En effet, côté client, l’acheteur pourrait fermer la fenêtre de son navigateur ou quitter l’application avant l’exécution du rappel. Des personnes malveillantes peuvent en profiter pour manipuler la réponse. Si vous configurez votre intégration de manière à écouter les événements asynchrones, cela vous permettra également d’accepter de nouveaux moyens de paiement plus facilement à l’avenir. Apprenez-en davantage sur les [différences entre les différents moyens de paiement pris en charge](https://stripe.com/payments/payment-methods-guide). - **Gérer les événements manuellement dans le Dashboard** Utilisez le Dashboard pour [afficher vos paiements de test dans le Dashboard](https://dashboard.stripe.com/test/payments), envoyer des reçus par e-mail, gérer les virements ou réessayer les paiements échoués. - **Créer un webhook personnalisé** [Build a custom webhook](https://docs.stripe.com/webhooks/handling-payment-events.md#build-your-own-webhook) handler to listen for events and build custom asynchronous payment flows. Test and debug your webhook integration locally with the Stripe CLI. - **Intégrer une application prédéfinie** Gérez les événements commerciaux courants, tels que l’[automatisation](https://stripe.partners/?f_category=automation) ou le [marketing et les ventes](https://stripe.partners/?f_category=marketing-and-sales), en intégrant une application partenaire. ## Optional: Personnaliser la page de paiement Klarna - **Préremplir le formulaire Klarna** Lorsque le client choisit de payer avec Klarna en utilisant une option de paiement différé (payer plus tard, versements échelonnés ou financement), Klarna collecte suffisamment d’informations pour l’évaluation des risques et l’approbation. Le type d’informations dépend du pays du client. Pour la plupart des pays d’Europe, il s’agit des coordonnées de facturation complètes et de la date de naissance. Vous pouvez transmettre ces informations via l’API, et le formulaire sera prérempli lorsque votre client arrivera sur la page. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d confirm=true \ --data-urlencode return_url="https://example.com/checkout/complete" \ -d "payment_method_data[type]"=klarna \ --data-urlencode "payment_method_data[billing_details][email]"="customer@example.com" \ -d "payment_method_data[billing_details][name]"="Jenny Rosen" \ --data-urlencode "payment_method_data[billing_details][phone]"="+4915142321555" \ -d "payment_method_data[billing_details][address][line1]"="Alexanderplatz 1" \ -d "payment_method_data[billing_details][address][city]"=Berlin \ -d "payment_method_data[billing_details][address][postal_code]"=10551 \ -d "payment_method_data[billing_details][address][country]"=DE \ -d "payment_method_data[klarna][dob][day]"=10 \ -d "payment_method_data[klarna][dob][month]"=10 \ -d "payment_method_data[klarna][dob][year]"=1990 ``` ![Capture d'écran de la page de paiement Klarna préremplie avec les informations de facturation issues de l'API et personnalisée de sorte à s'afficher en anglais](https://b.stripecdn.com/docs-statics-srv/assets/klarna-kpp-prefilled-customized.75932cc9aa3223960aa2fcf769c1ce62.png) Page de paiement Klarna préremplie avec les informations de facturation issues de l’API et personnalisée de sorte à s’afficher en anglais pour un client basé en Allemagne ## Optional: Ajouter des postes de facture au Paymentintent > #### Postes de facture unifiés avec Klarna > > Pour optimiser les taux d’approbation lors de l’intégration à Klarna, incluez des données `line_items` pour représenter le contenu du panier d’un acheteur. Pour bénéficier d’un accès anticipé, consultez la page [Postes de paiement](https://docs.stripe.com/payments/payment-line-items.md). ## Échecs de paiement Klarna prend en compte de nombreux facteurs pour accepter ou refuser une transaction (par exemple, la durée d’utilisation de Klarna, le montant résiduel que le client doit rembourser ou encore la valeur de la commande actuelle). Lorsque le client sélectionne un moyen de paiement différé, Klarna effectue une évaluation des risques avant d’accepter la transaction. Klarna peut refuser la transaction en raison d’un résultat insatisfaisant de l’évaluation des risques, du montant de la transaction en question ou du niveau de dette du client. C’est pourquoi nous vous recommandons d’intégrer des options de paiement supplémentaires telles que `card` dans votre tunnel de paiement. Dans ces cas, le [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) est dissocié et l’état de l’objet [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) passe automatiquement à `requires_payment_method`. Les clients sont tenus d’effectuer le paiement dans les 48 heures suivant leur redirection vers le site Klarna. Si aucune action n’est effectuée au bout de 48 heures, le [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) est dissocié et l’état de l’objet [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) passe automatiquement de `requires_action` à `requires_payment_method`. Dans ce cas, informez votre client pour réessayer avec une option de paiement différente présentée dans votre tunnel de paiement. ### Limites de débit Klarna Les requêtes API adressées à Klarna sont soumises à des limites d’appels supplémentaires qui vont au-delà des [limites d’appels](https://docs.stripe.com/rate-limits.md) à l’échelle de l’API Stripe. Ces limites peuvent varier en fonction de la forme des requêtes API que vous effectuez. En général, si vous faites plus de 50 requêtes par seconde, vous constaterez peut-être une limite d’appels sous la forme de réponses avec le code d’état HTTP `400` ou `402`. Veuillez nous contacter via le formulaire du[service de support Stripe](https://support.stripe.com)(https://support.stripe.com) pour obtenir de plus amples détails si vous craignez que votre utilisation n’atteigne ces niveaux, car Klarna pourrait augmenter ces limites au cas par cas. ### Messages d’erreur Les paiements Klarna qui échouent renvoient normalement l’un des codes d’échec suivants. Ces codes apparaissent dans l’objet API [last_payment_error](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-last_payment_error). > Dans les versions de l’API antérieures à `2023-08-16`, chaque erreur Klarna était signalée comme suit : [payment_intent_authentication_failure](https://docs.stripe.com/error-codes.md#payment_intent_authentication_failure). Assurez-vous que votre version de l’API est à jour pour consulter les erreurs répertoriées ci-dessous. | Code d’échec | Explication | | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | [payment_method_customer_decline](https://docs.stripe.com/error-codes.md#payment-method-customer-decline) | Le client a annulé le paiement depuis la page Klarna. | | [payment_method_provider_decline](https://docs.stripe.com/error-codes.md#payment-method-provider-decline) | Klarna a refusé le paiement du client | | [payment_intent_payment_attempt_expired](https://docs.stripe.com/error-codes.md#payment-intent-payment-attempt-expired) | Le client n’a jamais mené à bien le paiement sur la page de Klarna et la session de paiement a expiré | | [payment_method_not_available](https://docs.stripe.com/error-codes.md#payment-method-not-available) | Une erreur inattendue est survenue lors de l’utilisation de Klarna | # API Direct > This is a API Direct for when payment-ui is direct-api. View the full page at https://docs.stripe.com/payments/klarna/accept-a-payment?payment-ui=direct-api. ## Lister manuellement les moyens de paiement Nous vous recommandons d’utiliser les [moyens de paiement dynamiques](https://docs.stripe.com/payments/payment-methods/dynamic-payment-methods.md), où Stripe gère la logique d’affichage dynamique des moyens de paiement éligibles les plus pertinents pour chaque client afin de maximiser la conversion. Si vous choisissez de [lister manuellement les moyens de paiement](https://docs.stripe.com/payments/payment-methods/integration-options.md#listing-payment-methods-manually), spécifiez `klarna` dans la liste [payment_method_types](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_types) lorsque vous créez un [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md). ### Créer un PaymentIntent Pour maximiser les taux d’acceptation et réduire les litiges, transmettez les paramètres suivants lors de la [création d’un PaymentIntent](https://docs.stripe.com/api/payment_intents/create.md) for les paiements Klarna : - [expédition](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-shipping) : assurez-vous que ces champs sont définis et non vides : `name`, `address.line1`, `city`, `country` et `postal_code`. - [amount_details.line_items](https://docs.stripe.com/payments/payment-line-items.md) - [payment_method_data.billing_details](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_data-billing_details) : assurez-vous que ces champs sont définis et non vides : `name`, `address.line1`, `city`, `country` et `postal_code`. > Lorsque vous définissez le paramètre [setup_future_usage](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-setup_future_usage), le paiement n’est pas considéré comme un paiement ponctuel. Cela a un impact sur les [options de paiement disponibles](https://docs.stripe.com/payments/klarna.md#payment-options) et empêche le [Payment Method Messaging Element](https://docs.stripe.com/elements/payment-method-messaging.md) et le [Payment Element](https://docs.stripe.com/payments/payment-element.md) d’afficher les plans de paiement auxquels un client est éligible. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[0]"=klarna \ -d amount=1099 \ -d currency=eur \ -d "amount_details[line_items][0][product_name]"="Your product name" \ -d "amount_details[line_items][0][unit_cost]"=1099 \ -d "amount_details[line_items][0][quantity]"=1 \ -d "shipping[address][city]"=Brothers \ -d "shipping[address][country]"=US \ -d "shipping[address][line1]"="27 Fredrick Ave" \ -d "shipping[address][postal_code]"=97712 \ -d "shipping[address][state]"=OR \ -d "payment_method_data[billing_details][address][city]"=Brothers \ -d "payment_method_data[billing_details][address][country]"=US \ -d "payment_method_data[billing_details][address][line1]"="27 Fredrick Ave" \ -d "payment_method_data[billing_details][address][postal_code]"=97712 \ -d "payment_method_data[billing_details][address][state]"=OR \ --data-urlencode "payment_method_data[billing_details][email]"="jenny.rosen@example.com" \ -d "payment_method_data[billing_details][name]"="Jenny Rosen" ``` ### Récupérer la clé secrète du client Le PaymentIntent contient une *clé secrète* (The client secret is a unique key returned from Stripe as part of a PaymentIntent. This key lets the client access important fields from the PaymentIntent (status, amount, currency) while hiding sensitive ones (metadata, customer)) à utiliser côté client pour finaliser le processus de paiement en toute sécurité. Vous pouvez adopter différentes approches pour transmettre cette clé secrète côté client. #### Application monopage Récupérez la clé secrète du client à partir d’un endpoint sur votre serveur, à l’aide de la fonction `fetch` du navigateur. Cette approche est recommandée si votre côté client est une application d’une seule page, en particulier si elle repose sur un framework front-end moderne tel que React. Créez l’endpoint de serveur qui gère la clé secrète du client : #### Ruby ```ruby get '/secret' do intent = # ... Create or retrieve the PaymentIntent {client_secret: intent.client_secret}.to_json end ``` Récupérez ensuite la clé secrète du client à l’aide JavaScript côté client : ```javascript (async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })(); ``` #### Rendu côté serveur Transmettez la clé secrète à votre client depuis votre serveur. Cette approche fonctionne mieux si votre application génère du contenu statique sur le serveur avant de l’envoyer sur le navigateur. Ajoutez le [client_secret](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-client_secret) à votre formulaire de paiement. Dans votre code côté serveur, récupérez la clé secrète du client à partir du PaymentIntent : #### Ruby ```erb
``` ```ruby get '/checkout' do @intent = # ... Fetch or create the PaymentIntent erb :checkout end ``` ## Soumettre le paiement à Stripe À cette étape, vous effectuerez les paiements Klarna côté client avec [Stripe.js](https://docs.stripe.com/payments/elements.md). ### Configurer Stripe.js Lorsqu’un client clique pour payer avec Klarna, nous vous recommandons d’utiliser Stripe.js pour soumettre le paiement à Stripe. Stripe.js est notre bibliothèque JavaScript de base pour créer les tunnels de paiement. Elle gère automatiquement les opérations complexes telles que la redirection décrite ci-dessous, et vous permettra de facilement étendre votre intégration à d’autres moyens de paiement à l’avenir. Incluez le script Stripe.js sur votre page de paiement en l’ajoutant en haut de votre fichier HTML. ```html Checkout ``` Créez une instance de Stripe.js avec le code JavaScript suivant sur votre page de paiement. ```javascript // Set your publishable key: remember to change this to your live publishable key in production // See your keys here: https://dashboard.stripe.com/apikeys var stripe = Stripe('<>'); ``` Plutôt que d’envoyer l’objet PaymentIntent complet au client, utilisez sa [clé secrète client](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-client_secret). (Ceci est différent de vos clés d’API qui authentifient les requêtes de l’API Stripe.) Veillez à manipuler la clé secrète client avec précaution, car elle peut servir à finaliser le paiement. Ne la consignez pas, ne l’intégrez pas dans des URL et ne l’exposez à personne d’autre que le client. Utilisez [stripe.confirmKlarnaPayment](https://docs.stripe.com/js/payment_intents/confirm_klarna_payment) pour gérer la redirection hors de votre page et finaliser le paiement. Ajoutez une [return_url](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-return_url) à cette fonction pour indiquer où Stripe doit rediriger l’utilisateur une fois qu’il a finalisé le paiement sur le site Web ou l’application mobile de Klarna. Sur la page de paiement de Klarna, le client choisit parmi les options de paiement disponibles sur son marché. Consultez le tableau sur [la page de présentation](https://docs.stripe.com/payments/klarna.md#payment-options) pour connaître la disponibilité par marché. Vous ne pouvez pas limiter ou présélectionner les options de paiement sur la page de paiement de Klarna ; le fait de laisser ce choix au consommateur maximise ses chances de réaliser une transaction avec vous. ```javascript // Redirects away from the client const {error} = await stripe.confirmKlarnaPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}',{ return_url: 'https://example.com/checkout/complete', } ); if (error) { // Inform the customer that there was an error. } ``` Lorsque votre client effectue un paiement, Stripe le redirige vers l’URL `return_url` et inclut les paramètres de requête d’URL suivants. La page de redirection peut utiliser ces paramètres pour récupérer l’état du PaymentIntent et ainsi afficher l’état du paiement pour le client. Lorsque vous spécifiez une URL `return_url`, vous pouvez également ajouter vos propres paramètres de requête à utiliser sur la page de redirection. | Paramètre | Description | | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `payment_intent` | Identifiant unique du `PaymentIntent`. | | `payment_intent_client_secret` | La [clé secrète du client](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-client_secret) de l’objet `PaymentIntent`. Pour les intégrations d’abonnements, le client_secret est également exposé sur l’objet `Invoice` via [`confirmation_secret`](https://docs.stripe.com/api/invoices/object.md#invoice_object-confirmation_secret) | Lorsque le client est redirigé vers votre site, vous pouvez utiliser le `payment_intent_client_secret` pour interroger le PaymentIntent et communiquer l’état de la transaction à votre client. Vous trouverez des détails sur l’option de paiement Klarna sélectionnée par le client sur l’objet `charge`, dans la propriété [payment_method_details](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details-klarna). Il existe quatre valeurs possibles : `pay_later`, `pay_with_financing`, `pay_now` et `pay_in_installments`. Consultez notre [page de présentation de Klarna](https://docs.stripe.com/payments/klarna.md#payment-options) pour plus d’informations sur ces options. Vous pouvez également trouver les paramètres régionaux utilisés pour localiser la page de paiement de Klarna sous la propriété [payment_method_details](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details-klarna). ```json { "charges": { "data": [ {"payment_method_details": { "klarna": { "payment_method_category": "pay_in_installments", "preferred_locale": "en-US" }, "type": "klarna" }, "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source", "amount": 1099, "client_secret": "src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU", "created": 1445277809, "currency": "eur", "livemode": true, "statement_descriptor": null, "status": "succeeded", "type": "klarna", "usage": "single_use" } ], "object": "list", "has_more": false, "url": "/v1/charges?payment_intent=pi_1G1sgdKi6xqXeNtkldRRE6HT" }, "payment_method_options": { "klarna": {} }, "payment_method_types": [ "klarna" ], "id": "pi_1G1sgdKi6xqXeNtkldRRE6HT", "object": "payment_intent", "amount": 1099, "client_secret": "pi_1G1sgdKi6xqXeNtkldRRE6HT_secret_h9B56ObhTN72fQiBAuzcVPb2E", "confirmation_method": "automatic", "created": 1579259303, "currency": "eur", "livemode": true, "next_action": null } ``` ## Tester votre intégration > Klarna utilise des cookies pour le suivi des sessions. Pour tester différents emplacements clients, déconnectez-vous de l’environnement de test Klarna de la session précédente et utilisez les déclencheurs pertinents. Nous avons réuni ci-dessous des données de test pour les pays pris en charge. Dans un environnement de test, Klarna s’appuie sur l’adresse e-mail fournie pour approuver ou refuser une transaction. #### Australie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 03-05-1994 | | Prénom | Test | John | | Nom | Person-au | snow | | Rue | Wharf St | Silverwater Rd | | Numéro de rue | 4 | 1-5 | | Code postal | 4877 | 2128 | | Ville | Port Douglas | Silverwater | | Région | QLD | NSW | | Téléphone | +61473752244 | +61473763254 | | Adresse e-mail | customer@email.au | customer+denied@email.au | #### Autriche | | Approuvé | Refusé | | ----------------- | ------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-at | Person-at | | E-mail | customer@email.at | customer+denied@email.at | | Rue | Mariahilfer Straße | Mariahilfer Straße | | Numéro de rue | 47 | 47 | | Ville | Vienne | Vienne | | Code postal | 1060 | 1060 | | Téléphone | +4306762600456 | +4306762600745 | #### Belgique | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-be | Person-be | | E-mail | customer@email.be | customer+denied@email.be | | Rue | Grote Markt | Grote Markt | | Numéro de rue | 1 | 1 | | Ville | Bruxelles | Bruxelles | | Code postal | 1 000 | 1 000 | | Téléphone | +32485121291 | +32485212123 | #### Canada | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ca | Person-ca | | Rue | 2693 Byron Rd | 2693 Byron Rd | | Code postal | V7H 1L9 | V7H 1L9 | | Ville | North Vancouver | North Vancouver | | Région | BC | BC | | Téléphone | +15197438620 | +15197308624 | | Adresse e-mail | customer@email.ca | customer+denied@email.ca | #### République tchèque | | Approuvé | Refusé | | ----------------- | ----------------------- | ------------------------ | | Date de naissance | 01-01-1970 | 27-06-1992 | | Prénom | Test | Test | | Nom | Person-cz | Person-cz | | E-mail | customer@email.cz | customer+denied@email.cz | | Rue | Zazvorkova 1480/11 | Zázvorkova 1480/11 | | Code postal | 155 00 | 155 00 | | Ville | Prague | PRAHA 13 | | Téléphone | +420771613715 | +420771623691 | #### Danemark | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-dk | Person-dk | | E-mail | customer@email.dk | customer+denied@email.dk | | Rue | Dantes Plads | Nygårdsvej | | Numéro de rue | 7 | 65 | | Ville | København Ø | København Ø | | Code postal | 1556 | 2100 | | Téléphone | +4542555628 | +4552555348 | #### Finlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1999 | 01-01-1999 | | Prénom | Test | Person FI | | Nom | Person-fi | Test | | E-mail | customer@email.fi | customer+denied@email.fi | | Rue | Mannerheimintie | Mannerheimintie | | Numéro de rue | 34 | 34 | | Ville | Helsinki | Helsinki | | Code postal | 00100 | 00100 | | Téléphone | +358401234567 | +358401234568 | #### France | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10-07-1990 | 10-07-1990 | | Lieu de naissance | Paris | Paris | | Prénom | Test | Test | | Nom | Person-fr | Person-fr | | E-mail | customer@email.fr | customer+denied@email.fr | | Rue | rue La Fayette | rue La Fayette | | Numéro de rue | 33 | 33 | | Ville | Paris | Paris | | Code postal | 75009 | 75009 | | Téléphone | +33689854321 | +33687984322 | #### Allemagne | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Mock | Test | | Nom | Mock | Person-de | | E-mail | customer@email.de | customer+denied@email.de | | Rue | Neue Schönhauser Str. | Neue Schönhauser Str. | | Numéro de rue | 2 | 2 | | Ville | Berlin | Berlin | | Code postal | 10178 | 10178 | | Téléphone | +49017614284340 | +49017610927312 | #### Grèce | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Numéro fiscal | 090000045 | 090000045 | | Date de naissance | 01-01-1960 | 11-11-1970 | | Prénom | Test | Test | | Nom | Person-gr | Test-gr | | E-mail | customer@email.gr | customer+denied@email.gr | | Rue | Kephisias | Baralo | | Numéro de rue | 37 | 56 | | Code postal | 151 23 | 123 67 | | Ville | Athina | Athina | | Téléphone | +306945553624 | +306945553625 | #### Irlande | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-ie | Person-ie | | E-mail | customer@email.ie | customer+denied@email.ie | | Rue | King Street South | King Street South | | Numéro de rue | 30 | 30 | | Ville | Dublin | Dublin | | Code EIR | D02 C838 | D02 C838 | | Téléphone | +353855351400 | +353855351401 | #### Italie | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1980 | 01-01-1980 | | Prénom | Test | Test | | Nom | Person-it | Person-it | | E-mail | customer@email.it | customer+denied@email.it | | Code fiscal | RSSBNC80A41H501B | RSSBNC80A41H501B | | Rue | Via Enrico Fermi | Via Enrico Fermi | | Numéro de rue | 150 | 150 | | Ville | Rome | Rome | | Code postal | 00146 | 00146 | | Téléphone | +393339741231 | +393312232389 | #### Pays-Bas | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nl | Person-nl | | E-mail | customer@email.nl | customer+denied@email.nl | | Rue | Osdorpplein | Osdorpplein | | Numéro de rue | 137 | 137 | | Ville | Amsterdam | Amsterdam | | Code postal | 1068 SR | 1068 SR | | Téléphone | +31689124321 | +31632167678 | #### Nouvelle-Zélande | | Approuvé | Refusé | | ----------------- | ------------------------ | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-nz | Person-nz | | Rue | Mount Wellington Highway | Mount Wellington Highway | | Numéro de rue | 286 | 286 | | Code postal | 6011 | 6011 | | Ville | Auckland | Wellington | | Téléphone | +6427555290 | +642993007712 | | Adresse e-mail | customer@email.nz | customer+denied@email.nz | #### Norvège | | Approuvé | Refusé | | ----------------- | ----------------------------- | ------------------------ | | Date de naissance | 01-08-1970 | 01-08-1970 | | Prénom | Jane | Test | | Nom | Test | Person-no | | E-mail | customer@email.no | customer+denied@email.no | | Numéro personnel | NO1087000571 | NO1087000148 | | Rue | Edvard Munchs Plass | Sæffleberggate | | Numéro de rue | 1 | 56 | | Ville | Oslo | Oslo | | Code postal | 0194 | 0563 | | Téléphone | +4740123456 | +4740123457 | #### Pologne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 05-05-1967 | 05-05-1967 | | Prénom | Test | Test | | Nom | Person-pl | Person-pl | | Rue | Ul. Górczewska | Ul. Górczewska | | Numéro de rue | 124 | 124 | | Code postal | 01-460 | 01-460 | | Ville | Varsovie | Varsovie | | Téléphone | +48795222223 | +48795223325 | | E-mail | customer@email.pl | customer+denied@email.pl | #### Portugal | | Approuvé | Refusé | | ----------------- | ---------------------------------- | ---------------------------------- | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-pt | Person-pt | | Rue | Avenida Dom João II | Avenida Dom João II | | Numéro de rue | 40 | 40 | | Code postal | 1990-094 | 1990-094 | | Ville | Lisbonne | Lisbonne | | Téléphone | +351935556731 | +351915593837 | | E-mail | customer@email.pt | customer+denied@email.pt | #### Roumanie | | Approuvé | Refusé | | --------------------------------------- | ----------------- | ------------------------ | | Date de naissance | 25-12-1970 | 25-12-1970 | | Prénom | Test | Test | | Nom | Person-ro | Person-ro | | E-mail | customer@email.ro | customer+denied@email.ro | | Rue | Drumul Taberei | Drumul Taberei | | Numéro de rue | 35 | 35 | | Ville | Bucarest | Bucarest | | Secteur | Sectorul 6 | Sectorul 6 | | Code postal | 061357 | 061357 | | Téléphone | +40741209876 | +40707127444 | | Numéro d’identification personnel (CNP) | 1701225193558 | | #### Espagne | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | DNI/NIE | 99999999R | 99999999R | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-es | Person-es | | E-mail | customer@email.es | customer+denied@email.es | | Rue | C. de Atocha | C. de Atocha | | Numéro de rue | 27 | 27 | | Ville | Madrid | Madrid | | Code postal | 28012 | 28012 | | Téléphone | +34672563009 | +34682425101 | #### Suède | | Approuvé | Refusé | | ----------------- | ---------------------------- | ------------------------ | | Date de naissance | 21-03-1941 | 28-10-1941 | | Prénom | Alice | Test | | Nom | Test | Person-se | | E-mail | customer@email.se | customer+denied@email.se | | Rue | Södra Blasieholmshamnen | Karlaplan | | Numéro de rue | 2 | 3 | | Ville | Stockholm | Stockholm | | Code postal | 11 148 | 11 460 | | Téléphone | +46701740615 | +46701740620 | #### Suisse | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 01-01-1990 | 01-01-2000 | | Prénom | Accepté | Client | | Nom | Person-ch | Person-ch | | Rue | Augustinergasse | Bahnhofstrasse | | Numéro de rue | 2 | 77 | | Code postal | 4051 | 8001 | | Ville | Bâle | Zürich | | Téléphone | +41758680000 | +41758680001 | | E-mail | customer@email.ch | customer+denied@email.ch | #### Royaume-Uni | | Approuvé | Refusé | | ----------------- | --------------------- | ------------------------ | | Date de naissance | 10/07/1970 | 10/07/1970 | | Prénom | Test | Test | | Nom | Person-uk | Person-uk | | E-mail | customer@email.uk | customer+denied@email.uk | | Rue | New Burlington Street | New Burlington Street | | Numéro de rue | 10 | 10 | | Appartement | Apt 214 | Apt 214 | | Code postal | W1S 3BE | W1S 3BE | | Ville | Londres | Londres | | Téléphone | +447755564318 | +447355505530 | #### États-Unis | | Approuvé | Refusé | | ----------------- | ----------------- | ------------------------ | | Date de naissance | 07-10-1970 | 07-10-1970 | | Prénom | Test | Test | | Nom | Person-us | Person-us | | E-mail | customer@email.us | customer+denied@email.us | | Rue | Amsterdam Ave | Amsterdam Ave | | Numéro de rue | 509 | 509 | | Ville | New York | New York | | État | New York | New York | | Code postal | 10024-3941 | 10024-3941 | | Téléphone | +13106683312 | +13106354386 | Pour les tests en production, vous pouvez utiliser un montant de `3500` dans votre devise locale pour tester toutes les options de paiement proposées par Klarna. Par exemple, pour tester le paiement en 3 fois en Italie, vous pouvez utiliser une transaction de 35,00 EUR. ### Authentification à deux facteurs Tout numéro à six chiffres forme un code d’authentification à deux facteurs valide. Utilisez `999999`pour que l’authentification échoue. ### Mode de remboursement Dans le flux Klarna, vous pouvez utiliser les valeurs de test suivantes pour essayer divers types de remboursements : | Type | Valeur | | ----------------------- | ------------------------------------------------------------------------------------------------------------ | | Prélèvement automatique | DE11520513735120710131 | | Virement bancaire | Banque de démonstration | | Carte bancaire | - Numéro : 4111 1111 1111 1111 - CVV : 123 - Date d’expiration : toute date future valide | | Carte de débit | - Numéro : 4012 8888 8888 1881 - CVV : 123 - Date d’expiration : toute date future valide | ## Échecs de paiement Klarna prend en compte de nombreux facteurs pour accepter ou refuser une transaction (par exemple, la durée d’utilisation de Klarna, le montant résiduel que le client doit rembourser ou encore la valeur de la commande actuelle). Lorsque le client sélectionne un moyen de paiement différé, Klarna effectue une évaluation des risques avant d’accepter la transaction. Klarna peut refuser la transaction en raison d’un résultat insatisfaisant de l’évaluation des risques, du montant de la transaction en question ou du niveau de dette du client. C’est pourquoi nous vous recommandons d’intégrer des options de paiement supplémentaires telles que `card` dans votre tunnel de paiement. Dans ces cas, le [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) est dissocié et l’état de l’objet [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) passe automatiquement à `requires_payment_method`. Les clients sont tenus d’effectuer le paiement dans les 48 heures suivant leur redirection vers le site Klarna. Si aucune action n’est effectuée au bout de 48 heures, le [PaymentMethod](https://docs.stripe.com/api/payment_methods/object.md) est dissocié et l’état de l’objet [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) passe automatiquement de `requires_action` à `requires_payment_method`. Dans ce cas, informez votre client pour réessayer avec une option de paiement différente présentée dans votre tunnel de paiement. ### Limites de débit Klarna Les requêtes API adressées à Klarna sont soumises à des limites d’appels supplémentaires qui vont au-delà des [limites d’appels](https://docs.stripe.com/rate-limits.md) à l’échelle de l’API Stripe. Ces limites peuvent varier en fonction de la forme des requêtes API que vous effectuez. En général, si vous faites plus de 50 requêtes par seconde, vous constaterez peut-être une limite d’appels sous la forme de réponses avec le code d’état HTTP `400` ou `402`. Veuillez nous contacter via le formulaire du[service de support Stripe](https://support.stripe.com)(https://support.stripe.com) pour obtenir de plus amples détails si vous craignez que votre utilisation n’atteigne ces niveaux, car Klarna pourrait augmenter ces limites au cas par cas. ### Messages d’erreur Les paiements Klarna qui échouent renvoient normalement l’un des codes d’échec suivants. Ces codes apparaissent dans l’objet API [last_payment_error](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-last_payment_error). > Dans les versions de l’API antérieures à `2023-08-16`, chaque erreur Klarna était signalée comme suit : [payment_intent_authentication_failure](https://docs.stripe.com/error-codes.md#payment_intent_authentication_failure). Assurez-vous que votre version de l’API est à jour pour consulter les erreurs répertoriées ci-dessous. | Code d’échec | Explication | | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | [payment_method_customer_decline](https://docs.stripe.com/error-codes.md#payment-method-customer-decline) | Le client a annulé le paiement depuis la page Klarna. | | [payment_method_provider_decline](https://docs.stripe.com/error-codes.md#payment-method-provider-decline) | Klarna a refusé le paiement du client | | [payment_intent_payment_attempt_expired](https://docs.stripe.com/error-codes.md#payment-intent-payment-attempt-expired) | Le client n’a jamais mené à bien le paiement sur la page de Klarna et la session de paiement a expiré | | [payment_method_not_available](https://docs.stripe.com/error-codes.md#payment-method-not-available) | Une erreur inattendue est survenue lors de l’utilisation de Klarna | ## Personnalisations facultatives Vous pouvez éventuellement implémenter plusieurs personnalisations différentes pour les tunnels de paiement Klarna (telles que la séparation de l’autorisation et de la capture des fonds) et les interactions avec les clients (telles que la gestion des redirections). ### Séparer l’autorisation et la capture Klarna prend en charge [l’autorisation et la capture distinctes](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md). S’il y a un délai entre le paiement et la livraison des marchandises à votre client, autorisez d’abord le paiement et capturez-le plus tard. Au moment de la capture, Klarna envoie un relevé au client et initie les dates d’échéance de tous les paiements ultérieurs qu’il devra effectuer. **Un paiement Klarna autorisé doit être capturé dans les 28 jours suivant l’autorisation**. Dans le cas contraire, l’autorisation est automatiquement annulée et vous ne pouvez plus capturer le paiement. 1. Indiquer à Stripe d’autoriser seulement Pour indiquer que vous voulez séparer l’autorisation de la capture, définissez la valeur de l’option [capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) sur `manual` lorsque vous créez le PaymentIntent. Ce paramètre indique à Stripe d’autoriser uniquement le montant sur le compte Klarna du client. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d capture_method=manual ``` 1. Capturer les fonds Une fois l’autorisation réussie, l’[état](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-status) du PaymentIntent passe à `requires_capture`. Pour capturer les fonds autorisés, effectuez une requête de [capture](https://docs.stripe.com/api/payment_intents/capture.md) sur le PaymentIntent. Le montant total autorisé est capturé par défaut ; vous ne pouvez pas capturer plus que ce montant, mais vous pouvez en capturer moins. ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/capture \ -u "<>:" \ -d amount_to_capture=750 ``` 1. (Facultatif) Annuler l’autorisation Klarna comptabilise tous les paiements autorisés par rapport au pouvoir d’achat total du client au sein de Klarna. Assurez-vous d’annuler activement tout paiement autorisé que vous ne pouvez pas honorer (par exemple, les marchandises ne peuvent pas être expédiées) dès que cela devient évident. ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/cancel \ -u "<>:" \ -d cancellation_reason=abandoned ``` ### Gérer manuellement la redirection Klarna Nous vous recommandons d’utiliser Stripe.js pour gérer les redirections et les paiements Klarna côté client avec `confirmKlarnaPayment`. L’utilisation de Stripe.js permet d’ajouter d’autres moyens de paiement à votre intégration. Cependant, vous pouvez aussi rediriger vos clients manuellement sur votre serveur en procédant comme suit : - Créez et confirmez un [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) de type `klarna`. Vous devez fournir l’URL de redirection postpaiement pour votre client dans le champ `return_url`. Dans cette URL, vous pouvez fournir vos propres paramètres de requête, qui seront inclus dans l’URL finale du flux de redirection. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d confirm=true \ --data-urlencode return_url="https://example.com/checkout/complete" \ -d "payment_method_data[type]"=klarna ``` - Le `PaymentIntent` créé a l’état `requires_action` et le type de `next_action` est `redirect_to_url`. #### JSON ```json {"status": "requires_action", "next_action": { "type": "redirect_to_url", "redirect_to_url": { "url": "https://hooks.stripe.com/...", "return_url": "https://example.com/checkout/complete" } }, "id": "pi_1G1sgdKi6xqXeNtkldRRE6HT", "object": "payment_intent", "amount": 1099, "client_secret": "pi_1G1sgdKi6xqXeNtkldRRE6HT_secret_h9B56ObhTN72fQiBAuzcVPb2E", "confirmation_method": "automatic", "created": 1579259303, "currency": "eur", "livemode": true, "charges": { "data": [], "object": "list", "has_more": false, "url": "/v1/charges?payment_intent=pi_1G1sgdKi6xqXeNtkldRRE6HT" }, "payment_method_options": { "klarna": {} }, "payment_method_types": [ "klarna" ] } ``` - Redirigez le client vers l’URL fournie dans la propriété `next_action.redirect_to_url.url`. L’exemple de code fourni ici n’a qu’une valeur illustrative : la méthode de redirection peut différer sur votre framework web. #### Ruby ```ruby if payment_intent.status == 'requires_action' && payment_intent.next_action.type == 'redirect_to_url' url = payment_intent.next_action.redirect_to_url.url redirect(url) end ``` Lorsque le client a terminé le processus de paiement, il est redirigé vers le `return_url` configuré à l’étape 1. Les paramètres de requête d’URL `payment_intent` et `payment_intent_client_secret` sont inclus. Si `return_url` incluait déjà des paramètres de requête, ceux-ci seront également conservés. Nous vous recommandons d’[utiliser des webhooks](https://docs.stripe.com/payments/payment-intents/verifying-status.md#webhooks) afin de confirmer l’état du paiement. ### Gérer les événements post-paiement Stripe envoie un événement [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) à l’issue du paiement. Utilisez le Dashboard, un *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) personnalisé ou une solution partenaire pour recevoir ces événements et exécuter des actions, comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un workflow de livraison. Plutôt que d’attendre un rappel de votre client, écoutez ces événements. En effet, côté client, l’acheteur pourrait fermer la fenêtre de son navigateur ou quitter l’application avant l’exécution du rappel. Des personnes malveillantes peuvent en profiter pour manipuler la réponse. Si vous configurez votre intégration de manière à écouter les événements asynchrones, cela vous permettra également d’accepter de nouveaux moyens de paiement plus facilement à l’avenir. Apprenez-en davantage sur les [différences entre les différents moyens de paiement pris en charge](https://stripe.com/payments/payment-methods-guide). - **Gérer les événements manuellement dans le Dashboard** Utilisez le Dashboard pour [afficher vos paiements de test dans le Dashboard](https://dashboard.stripe.com/test/payments), envoyer des reçus par e-mail, gérer les virements ou réessayer les paiements échoués. - **Créer un webhook personnalisé** [Build a custom webhook](https://docs.stripe.com/webhooks/handling-payment-events.md#build-your-own-webhook) handler to listen for events and build custom asynchronous payment flows. Test and debug your webhook integration locally with the Stripe CLI. - **Intégrer une application prédéfinie** Gérez les événements commerciaux courants, tels que l’[automatisation](https://stripe.partners/?f_category=automation) ou le [marketing et les ventes](https://stripe.partners/?f_category=marketing-and-sales), en intégrant une application partenaire. ### Personnaliser la page de paiement Klarna - **Préremplir le formulaire Klarna** Lorsque le client choisit de payer avec Klarna en utilisant une option de paiement différé (payer plus tard, versements échelonnés ou financement), Klarna collecte suffisamment d’informations pour l’évaluation des risques et l’approbation. Le type d’informations dépend du pays du client. Pour la plupart des pays d’Europe, il s’agit des coordonnées de facturation complètes et de la date de naissance. Vous pouvez transmettre ces informations via l’API, et le formulaire sera prérempli lorsque votre client arrivera sur la page. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d confirm=true \ --data-urlencode return_url="https://example.com/checkout/complete" \ -d "payment_method_data[type]"=klarna \ --data-urlencode "payment_method_data[billing_details][email]"="customer@example.com" \ -d "payment_method_data[billing_details][name]"="Jenny Rosen" \ --data-urlencode "payment_method_data[billing_details][phone]"="+4915142321555" \ -d "payment_method_data[billing_details][address][line1]"="Alexanderplatz 1" \ -d "payment_method_data[billing_details][address][city]"=Berlin \ -d "payment_method_data[billing_details][address][postal_code]"=10551 \ -d "payment_method_data[billing_details][address][country]"=DE \ -d "payment_method_data[klarna][dob][day]"=10 \ -d "payment_method_data[klarna][dob][month]"=10 \ -d "payment_method_data[klarna][dob][year]"=1990 ``` ![Capture d'écran de la page de paiement Klarna préremplie avec les informations de facturation issues de l'API et personnalisée de sorte à s'afficher en anglais](https://b.stripecdn.com/docs-statics-srv/assets/klarna-kpp-prefilled-customized.75932cc9aa3223960aa2fcf769c1ce62.png) Page de paiement Klarna préremplie avec les informations de facturation issues de l’API et personnalisée de sorte à s’afficher en anglais pour un client basé en Allemagne ### Ajouter des postes au PaymentIntent > #### Postes de facture unifiés avec Klarna > > Pour optimiser les taux d’approbation lors de l’intégration à Klarna, incluez des données `line_items` pour représenter le contenu du panier d’un acheteur. Pour bénéficier d’un accès anticipé, consultez la page [Postes de paiement](https://docs.stripe.com/payments/payment-line-items.md). ### Afficher des messages sur les moyens de paiement sur votre site Web Le composant [Payment Method Messaging Element](https://docs.stripe.com/js/elements_object/create_element?type=paymentMethodMessaging) est un composant d’interface utilisateur intégrable qui permet à vos clients de savoir quelles options de paiement différé leur seront proposées, directement depuis vos pages de produit, de panier ou de paiement. Pour ajouter le composant Payment Method Messaging Element à votre site Web, veuillez consulter le [guide dédié](https://docs.stripe.com/elements/payment-method-messaging.md).