Paiements Cash App Pay
Découvrez comment accepter Cash App Pay, un portefeuille électronique populaire auprès des clients américains.
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 StripeCôté serveur![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
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 :
Créer un PaymentIntentCôté serveur![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
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 votrePaymentIntent
. Assurez-vous que Cash App Pay est activé dans le Dashboard.
Récupérer la clé secrète du client![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
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.
Soumettre le paiement à Stripe et authentifier les transactions côté client![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
À 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.
<head> <title>Checkout</title> <script src="https://js.stripe.com/v3/"></script> </head>
Créez une instance de Stripe.js avec le code JavaScript suivant sur votre page de paiement :
// 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.
pour confirmer le PaymentIntent côté client.
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_
, 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
.
Échecs de paiement![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Cash App Pay utilise plusieurs données pour décider du refus d’une transaction (par exemple, si son modèle de machine learning 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_
Hormis le refus d’un paiement, dans le cas d’un PaymentIntent Cash App Pay à l’état requires_
, 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_
.
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![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Le tableau suivant détaille les codes d’erreur courants et les actions recommandées :
Code d’erreur | Action recommandée |
---|---|
payment_ | Saisissez la devise appropriée. Cash App Pay prend uniquement en charge l’usd . |
missing_ | Consultez le message d’erreur pour en savoir plus sur le paramètre requis. |
payment_ | Ce 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_ | Spécifiez une URL return_ lors de la confirmation d’un PaymentIntent avec Cash App Pay. |