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
Ressources pour les développeurs
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
    Paiements en temps réel
    Coupons
    Portefeuilles
      Alipay
      Amazon Pay
      Apple Pay
      Cash App Pay
        Accepter un paiement
        Enregistrer les informations de paiement
      Google Pay
      GrabPay
      Link
      MB WAY
      MobilePay
      PayPal
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    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
Elements pour le web
Elements intégrés à l'application
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Financial Connections
Climate
Comprendre la fraude
Radar pour la protection contre la fraude
Gestion des litiges
Vérifier l'identité
AccueilPaiementsAdd payment methodsWalletsCash App Pay

Paiements Cash App Pay

Ajoutez la prise en charge de Cash App Pay à votre intégration.

Nous vous recommandons d’utiliser le composant Mobile Payment Element, un formulaire de paiement intégrable, pour ajouter Cash App Pay (et d’autres moyens de paiement) à votre intégration le plus facilement possible.

Ce guide explique comment accepter les paiements Cash App Pay depuis votre application mobile native à l’aide de votre propre formulaire de paiement personnalisé.

Si vous acceptez les paiements Cash App Pay à partir de votre application mobile native, vos clients sont redirigés vers l’application mobile Cash App pour authentification. L’achat est finalisé dans l’application mobile Cash App, et le client est redirigé vers votre application mobile native.

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
Python
PHP
Java
Node
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Côté client

Le SDK iOS de Stripe est disponible en open source et fait l’objet d’une documentation complète. Il est également compatible avec les applications prenant en charge iOS 13 et les versions ultérieures.

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.
  2. Sélectionnez le dernier numéro de version, visible sur notre page des versions.
  3. Ajoutez le produit StripePaymentsUI à la cible de votre application.

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 recevoir une notification lors de la publication d’une nouvelle version, surveillez les versions à partir du référentiel.

Configurez le SDK avec votre clé publiable Stripe au démarrage de votre application. Cela lui permet d’envoyer des requêtes à l’API Stripe.

AppDelegate.swift
Swift
Objective-C
No results
import UIKit import StripePaymentsUI @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
// do any other necessary launch configuration return true } }

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.

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

Côté serveur

Un PaymentIntent est un objet qui représente votre intention d’encaisser le paiement d’un client et qui suit le cycle de vie du processus de paiement étape par étape.

Pour créer et confirmer un PaymentIntent sur votre serveur :

  • Indiquez le montant à encaisser et la devise.
  • Ajoutez cashapp à la liste des types de moyens de paiement pour votre PaymentIntent. Assurez-vous que Cash App Pay est activé dans le Dashboard.
  • Définissez payment_method_data[type] sur cashapp pour créer un PaymentMethod et l’utiliser immédiatement avec ce PaymentIntent.
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=6000 \ -d currency=usd \ -d "payment_method_types[]"=cashapp \ -d "payment_method_data[type]"=cashapp \ --data-urlencode return_url="payments-example://stripe-redirect"

Le PaymentIntent renvoyé contient la clé secrète du client, que vous utiliserez pour confirmer le PaymentIntent. Renvoyez cette clé secrète côté client pour permettre son utilisation à l’étape suivante.

Côté client

Côté client, demandez un PaymentIntent auprès de votre serveur et sauvegardez la clé secrète du client qu’il contient.

CheckoutViewController.swift
Swift
Objective C
No results
Afficher l'exemple dans son intégralité
class CheckoutViewController: UIViewController { var paymentIntentClientSecret: String? // ...continued from previous step override func viewDidLoad() { // ...continued from previous step startCheckout() } func startCheckout() { // Request a PaymentIntent from your server and store its client secret // Click View full sample to see a complete implementation } }

Soumettre le paiement à Stripe
Côté client

Lorsqu’un client appuie sur le bouton pour payer avec Cash App Pay, confirmez le PaymentIntent pour finaliser le paiement. Configurez un objet STPPaymentIntentParams avec la clé secrète du client du PaymentIntent.

La clé secrète est différente de vos clés API qui servent à authentifier les requêtes de l’API Stripe. Elle doit être utilisée avec prudence, car elle peut servir à réaliser le paiement. Ne l’enregistrez pas, ne l’intégrez pas dans des URL et ne la dévoilez à personne d’autre que votre client.

Configurer une URL de redirection

Le SDK iOS présente une vue Web dans votre application afin d’effectuer le paiement Cash App Pay. Si vous souhaitez qu’une fois l’authentification effectuée, la vue Web disparaisse automatiquement, sans que votre client ait à la fermer, vous pouvez paramétrer une URL personnalisée ou un lien universel, puis configurer votre délégation d’application de façon à transférer l’URL au SDK.

Swift
Objective C
No results
// This method handles opening custom URL schemes (for example, "your-app://stripe-redirect") func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { let stripeHandled = StripeAPI.handleURLCallback(with: url) if (stripeHandled) { return true } else { // This was not a Stripe url – handle the URL normally as you would } return false } // This method handles opening universal link URLs (for example, "https://example.com/stripe_ios_callback") func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { if userActivity.activityType == NSUserActivityTypeBrowsingWeb { if let url = userActivity.webpageURL { let stripeHandled = StripeAPI.handleURLCallback(with: url) if (stripeHandled) { return true } else { // This was not a Stripe url – handle the URL normally as you would } } } return false }

Transmettez l’URL en tant que return_url lorsque vous confirmez le PaymentIntent. Une fois l’authentification effectuée sur la vue Web, Stripe redirige l’utilisateur vers la return_url.

Confirmer un paiement Cash App Pay

Finalisez le paiement en appelant STPPaymentHandler confirmPayment. Une vue Web s’affiche pour permettre au client d’effectuer le paiement avec Cash App Pay. Le bloc de finalisation est ensuite appelé avec le résultat du paiement.

Swift
Objective C
No results
let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret) // Cash App Pay does not require additional parameters so we only need to pass the initialized // STPPaymentMethodCashAppParams instance to STPPaymentMethodParams let cashApp = STPPaymentMethodCashAppParams() let paymentMethodParams = STPPaymentMethodParams(cashApp: cashApp, billingDetails: nil, metadata: nil) paymentIntentParams.paymentMethodParams = paymentMethodParams paymentIntentParams.returnURL = "payments-example://stripe-redirect" STPPaymentHandler.shared().confirmPayment(paymentIntentParams, with: self) { (handlerStatus, paymentIntent, error) in switch handlerStatus { case .succeeded: // Payment succeeded // ... case .canceled: // Payment canceled // ... case .failed: // Payment failed // ... @unknown default: fatalError() } }

FacultatifAutorisation et capture distinctes

FacultatifGérer les événements post-paiement

Tester votre intégration

Testez votre intégration Cash App Pay en affichant la page de redirection à l’aide de vos clés API de test. Vous pouvez tester la réussite de paiement en l’authentifiant sur la page de redirection. Le PaymentIntent bascule alors de l’état requires_action à succeeded.

Pour tester un échec d’authentification de l’utilisateur, utilisez vos clés API de test et accédez à la page de redirection. Sur cette page, cliquez sur Échec du paiement test. Le PaymentIntent bascule alors de l’état requires_action à requires_payment_method.

Pour les PaymentIntents de capture manuelle de test, le PaymentIntent non capturé expire automatiquement 7 jours après l’autorisation.

En mode production, le fait d’appuyer sur Payer vous redirige vers l’application mobile Cash App. Vous n’avez pas la possibilité d’approuver ou de refuser le paiement dans l’application Cash. Le paiement est automatiquement approuvé après la redirection.

Échecs de paiement

Cash App Pay utilise plusieurs données pour décider du refus d’une transaction (par exemple, si son modèle d’IA a détecté un risque élevé de fraude pour la transaction, ou si le client a révoqué votre autorisation de débit dans Cash App).

Dans ce cas, le PaymentMethod est détaché et le statut de l’objet PaymentIntent passe automatiquement à requires_payment_method

Hormis le refus d’un paiement, dans le cas d’un PaymentIntent Cash App Pay à l’état requires_action, les clients doivent effectuent le paiement sous 10 minutes une fois qu’ils ont été redirigés vers Cash App. En l’absence d’action sous 10 minutes, le PaymentMethod est détaché et l’état de l’objet PaymentIntent passe automatiquement à requires_payment_method.

Dans ce cas, le composant Payment Element affiche des messages d’erreur et demande à votre client de réessayer avec un autre moyen de paiement.

Codes d’erreur

Le tableau suivant détaille les codes d’erreur courants et les actions recommandées :

Code d’erreurAction recommandée
payment_intent_invalid_currencySaisissez la devise appropriée. Cash App Pay prend uniquement en charge l’usd.
missing_required_parameterConsultez le message d’erreur pour en savoir plus sur le paramètre requis.
payment_intent_payment_attempt_failedCe code peut apparaître dans le champ last_payment_error.code d’un PaymentIntent. Consultez le message d’erreur pour connaître la raison détaillée de l’échec et obtenir une suggestion de traitement de l’erreur.
payment_intent_redirect_confirmation_without_return_urlSpécifiez une URL return_url lors de la confirmation d’un PaymentIntent avec Cash App Pay.
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