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
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’implémenter l’intégration du tunnel de paiement personnalisé. Le tunnel de paiement personnalisé vous permet d’ajouter facilement Cash App Pay et d’autres moyens de paiement à votre intégration. L’acceptation de Cash App Pay à l’aide d’une intégration API directe consiste à :

  • Créer un objet PaymentIntent pour suivre un paiement.
  • Soumettre le paiement à Stripe pour traitement.
  • Authentifier le paiement (via une redirection d’application mobile ou un code QR).
  • Gérer les événements post-paiement pour rediriger le client après la réussite ou l’échec d’une commande.

Configurer Stripe
Côté serveur

Pour commencer, vous devez créer un compte Stripe. Inscrivez-vous maintenant.

Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :

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'

Créer un PaymentIntent
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 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.
Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=6000 \ -d currency=usd \ -d "payment_method_types[]"=cashapp

Récupérer la clé secrète du client

Le PaymentIntent contient une clé secrète à 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.

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 :

main.rb
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 :

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

Soumettre le paiement à Stripe et authentifier les transactions côté client

À cette étape, vous effectuerez des paiements Cash App Pay côté client avec Stripe.js. Pour authentifier une transaction, vous devez rediriger votre acheteur vers Cash App.

Intégrez le script Stripe.js à votre page de paiement en l’ajoutant entre les balises head de votre fichier HTML.

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/basil/stripe.js"></script> </head>

Créez une instance de Stripe.js avec le code JavaScript suivant sur votre page de paiement :

client.js
// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
);

Utilisez stripe.confirmCashappPayment pour confirmer le PaymentIntent côté client.

client.js
const form = document.getElementById('payment-form'); form.addEventListener('submit', function(event) { event.preventDefault(); // Pass the clientSecret obtained from the server in step 2 as the first argument stripe.confirmCashappPayment( clientSecret, { payment_method: { type: 'cashapp', }, return_url: 'https://www.example.com/checkout/done', }, ); });

Mise en garde

confirmCashappPayment redirige uniquement les navigateurs mobiles vers votre URL return_url, mais pas les navigateurs d’ordinateur de bureau. Vous pouvez rediriger manuellement les clients utilisant un navigateur de bureau vers votre URL de redirection une fois la promesse renvoyée résolue.

Les clients peuvent authentifier les transactions Cash App Pay avec des applications mobiles ou de bureau. Le client utilisé par le client détermine la méthode d’authentification après l’appel de confirmCashappPayment.

Après avoir appelé confirmCashappPayment, les clients sont redirigés vers Cash App pour approuver ou refuser le paiement. Une fois qu’ils ont autorisé le paiement, ils sont redirigés vers la return_url du Payment Intent. Stripe ajoute payment_intent, payment_intent_client_secret, redirect_pm_type et redirect_status comme paramètres de requête d’URL (ainsi que tous les paramètres de requête existants dans la return_url).

Une session d’authentification expire au bout de 60 minutes, puis l’état du PaymentIntent repasse à require_payment_method. Après le changement d’état, le client voit s’afficher une erreur de paiement et doit recommencer le processus de paiement.

FacultatifGérer la redirection et l'authentification manuellement

FacultatifAutorisation et capture distinctes

FacultatifGérer les événements post-paiement

Tester votre intégration

Pour tester votre intégration, choisissez Cash App Pay comme moyen de paiement et appuyez sur Payer. Pendant le test, vous serez redirigé vers une page de paiement de test où vous pouvez autoriser ou refuser le paiement.

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