Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Outils de développement
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
    Présentation
    Options d'intégration des moyens de paiement
    Gérer les moyens de paiement par défaut dans le Dashboard
    Types de moyens de paiement
    Cartes bancaires
    Payer avec le solde Stripe
    Cryptomonnaies
    Prélèvements bancaires
    Virements avec redirection bancaire
    Virements bancaires
    Virements (Sources)
    Achetez maintenant, payez plus tard
      Affirm
      Afterpay/Clearpay
        Accepter un paiement
        Messages du site
      Alma
      Billie
      Capchase Pay
      Klarna
      Kriya
      Mondu
      Paiement sur facture
      Scalapay
      SeQura
      Sunbit
      Zip
    Paiements en temps réel
    Coupons
    Portefeuilles
    Activer des moyens de paiement locaux par pays
    Moyens de paiement personnalisés
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Web Elements
Elements intégrés à l'application
Scénarios de paiement
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Autres produits Stripe
Financial Connections
Cryptomonnaies
Climate
AccueilPaiementsAdd payment methodsBuy now, pay laterAfterpay / Clearpay

Accepter un paiement Afterpay ou Clearpay

Comment accepter Afterpay (aussi connu sous le nom de Clearpay au Royaume-Uni), un moyen de paiement utilisé aux États-Unis, au Canada, au Royaume-Uni, en Australie, et en Nouvelle-Zélande.

Copier la page

L’acceptation d’Afterpay dans votre application consiste à afficher une vue Web permettant à votre client d’authentifier son paiement. Votre client retourne ensuite dans votre application et vous pouvez immédiatement confirmer si le paiement a abouti ou échoué.

Remarque

Avant de commencer l’intégration, assurez-vous que votre compte est admissible à Afterpay en vous rendant dans vos paramètres des moyens de paiement.

Configurer Stripe
Côté serveur
Côté client

Tout d’abord, il vous faut un compte Stripe. Inscrivez-vous.

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 :

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Côté client

Le SDK Stripe Android est disponible en open source et fait l’objet d’une documentation complète.

Pour installer le SDK, ajoutez stripe-android au bloc dependencies de votre fichier app/build.gradle :

build.gradle.kts
Kotlin
plugins { id("com.android.application") } android { ... } dependencies { // ... // Stripe Android SDK implementation("com.stripe:stripe-android:21.17.0") // Include the financial connections SDK to support US bank account as a payment method implementation("com.stripe:financial-connections:21.17.0") }

Remarque

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 sur GitHub. Pour savoir quand une nouvelle version est disponible, surveillez les versions du référentiel.

Configurez le SDK avec votre clé publique Stripe de façon à ce qu’il puisse envoyer des requêtes à l’API Stripe, par exemple à la sous-classe Application :

Kotlin
import com.stripe.android.PaymentConfiguration class MyApp : Application() { override fun onCreate() { super.onCreate() PaymentConfiguration.init( applicationContext,
"pk_test_TYooMQauvdEDq54NiTphI7jx"
) } }

Remarque

Utilisez vos clés de test lors de vos activités de test et de développement et vos clés du mode production pour la publication de votre application.

Les échantillons de code de Stripe utilisent également OkHttp et GSON pour envoyer des requêtes HTTP à un serveur.

Créez un PaymentIntent
Côté serveur
Côté client

Un PaymentIntent 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, ajoutez afterpay_clearpay à la liste des types de moyens de paiement valides pour votre PaymentIntent.

Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd" \ -d "payment_method_types[]"="afterpay_clearpay"

Options supplémentaires du moyen de paiement

Vous pouvez préciser un paramètre reference facultatif dans les options des moyens de paiement pour votre PaymentIntent qui définit un identifiant de commande interne pour le paiement. Bien que ces informations ne soient généralement pas visibles ni par l’entreprise ni par le consommateur, l’équipe d’assistance interne d’Afterpay peut y accéder lors des demandes d’assistance manuelles. L’identifiant est limité à 128 caractères et ne doit contenir que des lettres, des chiffres, des traits de soulignement, des barres obliques inversées et des tirets.

Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd" \ -d "payment_method_types[]"="afterpay_clearpay" \ -d "payment_method_options[afterpay_clearpay][reference]"="order_123"

Côté client

Le PaymentIntent renvoyé contient une clé secrète du client, 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 auprès de votre serveur et sauvegardez la clé secrète du client.

Kotlin
class AfterpayPaymentActivity: 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 } }

Collectez les informations du moyen de paiement
Côté client

Afterpay exige que les données de facturation soient présentes pour que le paiement aboutisse. Dans votre application, recueillez les informations de facturation requises auprès du client :

  • Nom complet (nom et prénom)
  • Adresse e-mail
  • Adresse de facturation complète

Créez ensuite un objet PaymentMethodCreateParams avec ces données.

De plus, bien que les informations de livraison ne soient pas obligatoires, elles peuvent contribuer à améliorer les taux d’authentification. Pour collecter les informations de livraison, recueillez les renseignements suivants auprès du client :

  • Nom complet
  • Adresse de livraison complète

Créez ensuite un objet ConfirmPaymentIntentParams.Shipping avec ces données.

Kotlin
val billingDetails = PaymentMethod.BillingDetails( name = "Jenny Rosen", email = "jenny@rosen.com", address = Address.Builder() .setLine1("1234 Market St") .setCity("San Francisco") .setState("CA") .setCountry("US") .setPostalCode("94111") .build() ) val paymentMethodCreateParams = PaymentMethodCreateParams.createAfterpayClearpay(billingDetails) // Shipping details are optional but recommended to pass in. val shippingDetails = ConfirmPaymentIntentParams.Shipping( name = "Jenny Rosen", address = Address.Builder() .setLine1("1234 Market St") .setCity("San Francisco") .setState("CA") .setCountry("US") .setPostalCode("94111") .build() )

Envoyez le paiement à Stripe
Côté client

Récupérez la clé secrète du client auprès du PaymentIntent que vous avez créé à l’étape 2, puis appelez la méthode confirm de PaymentLauncher. Une page Web s’affiche, dans laquelle le client peut finaliser le paiement sur le site Web ou l’application de sa banque. Une fois l’opération terminée, onActivityResult est appelé avec le résultat du paiement.

Kotlin
class AfterpayPaymentActivity : 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() { // ... // Shipping details are optional but recommended to pass in. 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) } } } }

FacultatifAjoutez des postes de facture au Paymentintent

FacultatifSéparez l'autorisation et la capture

FacultatifGérer les événements post-paiement

FacultatifTestez l'intégration Afterpay

Échecs de paiement

Afterpay prend en compte de nombreux facteurs pour accepter ou décliner une transaction (par exemple, la durée d’utilisation d’Afterpay par le client, le montant restant que le client doit rembourser, ou encore la valeur de la commande actuelle).

Vous devez toujours présenter des options de paiement supplémentaires telles que card dans votre tunnel de paiement, car les paiements Afterpay ont un taux de refus supérieur aux autres moyens de paiement. Dans ces cas, le PaymentMethod est dissocié et l’état de l’objet PaymentIntent passe automatiquement à requires_payment_method.

Pour un PaymentIntent Afterpay portant l’état requires_action, les clients doivent effectuer le paiement dans les 3 heures suivant leur redirection vers le site d’Afterpay (ceci ne s’applique pas aux paiements refusés). Si aucune action n’est effectuée dans ce délai de 3 heures, le PaymentMethod est dissocié et l’état de l’objet PaymentIntent passe automatiquement à requires_payment_method.

Dans ces cas, informez votre client pour réessayer avec une option de paiement différente présentée dans votre tunnel de paiement.

Codes d’erreur

Voici les codes d’erreur courants et les actions recommandées correspondantes :

Code d’erreurAction recommandée
payment_intent_payment_attempt_failedErreur générique indiquant l’échec du paiement Afterpay. Il peut également s’agir d’un refus qui n’apparaît pas sous la forme d’un code d’erreur de refus.
payment_method_provider_declineAfterpay a refusé le paiement du client. Le client doit désormais contacter Afterpay pour obtenir plus d’informations.
payment_intent_payment_attempt_expiredLe client n’a jamais effectué le paiement sur la page de paiement d’Afterpay et la session a expiré. Stripe fait automatiquement expirer les Payment Intents qui n’ont pas été autorisés 3 heures après la création de la session de paiement.
payment_method_not_availableAfterpay a rencontré une erreur liée au service et n’est pas en mesure de répondre à la demande. Réessayez ultérieurement.
amount_too_smallSaisissez un montant compris dans les limites de transaction par défaut d’Afterpay pour chaque pays.
amount_too_largeSaisissez un montant compris dans les limites de transaction par défaut d’Afterpay pour chaque pays.
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc