Paiements Alipay avec Sources
Utilisez Sources pour accepter des paiements Alipay, un moyen de paiement très répandu en Chine.
Avertissement
L’API Sources est obsolète, et nous prévoyons de ne plus prendre en charge les moyens de paiement locaux. Si votre intégration Alipay utilise l’API Sources, vous devez migrer vers l’API Payment Methods.
Pour en savoir plus sur l’intégration d’Alipay avec les API actuelles, consultez la page Paiements Alipay.
Les utilisateurs de Stripe peuvent utiliser Sources pour accepter des paiements Alipay de clients en Chine.
Lors du processus de paiement, un objet Source est créé, puis votre client est redirigé vers Alipay pour autoriser le paiement. Une fois l’opération effectuée, votre intégration utilise la source pour envoyer une demande de paiement et finaliser le règlement.
Alipay est un moyen de paiement de type push, à usage unique et synchrone. Autrement dit, votre client prend l’initiative d’autoriser le virement de fonds via une redirection. La réussite ou l’échec d’un paiement est immédiatement confirmé(e).
Créer un objet Source
Un objet Source est créé soit côté client à l’aide de Stripe.js, soit côté serveur avec l’endpoint de création de source, en utilisant les paramètres suivants :
| Paramètre | Valeur |
|---|---|
type | alipay |
currency | La devise par défaut de votre pays est cny. Les devises suivantes sont acceptées : aud, cad, cny, eur, gbp, hkd, jpy, nzd, sgd et usd. Les utilisateurs au Danemark, en Norvège, en Suède et en Suisse doivent utiliser la devise eur. |
redirect[return_ | L’URL vers laquelle le client doit être redirigé après le processus d’autorisation. |
amount | Entier positif exprimé dans la plus petite unité monétaire représentant le montant à facturer au client (par ex. : 1099 pour un paiement de 10,99 USD). |
Pour créer une source avec Stripe.js, commencez par intégrer la bibliothèque sur votre site Web et configurez votre clé API publique. Après cela, utilisez la méthode createSource suivante pour créer une source côté client :
stripe.createSource({ type: 'alipay', amount: 1099, currency: 'usd', redirect: { return_url: '__TOKEN_PLACEHOLDER_0__', }, }).then(function(result) { // handle result.error or result.source });
En utilisant l’une ou l’autre méthode, Stripe renvoie un objet Source contenant les informations pertinentes pour le moyen de paiement utilisé. Les informations propres à Alipay sont fournies dans le sous-hachage alipay.
{ "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source", "amount": 1099, "client_secret": "src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU", "created": 1445277809, "currency": "usd", "flow": "redirect", "livemode": true, "owner": {
Codes d’erreur
La création de la source pour les paiements Alipay peut renvoyer l’une des erreurs suivantes :
| Erreur | Description |
|---|---|
payment_ | Le moyen de paiement n’est pas disponible actuellement. Il convient d’inviter votre client à choisir un autre moyen de paiement pour continuer. |
processing_ | Une erreur inattendue s’est produite qui a empêché la création de la source. Réessayez de créer la source. |
Le client doit procéder à l'autorisation
Lors de la création d’une source, son état est tout d’abord défini sur pending, et la source ne peut pas encore être utilisée pour faire une demande de paiement. Votre client doit autoriser un paiement Alipay pour que la source soit débitable. Pour permettre à votre client d’autoriser le paiement , redirigez-le vers l’URL fournie dans l’attribut redirect[url] de l’objet Source.
Après le processus d’autorisation, votre client est redirigé vers l’URL fournie comme valeur de redirect[return_. Cette redirection a lieu, que l’autorisation ait abouti ou non. Si le client a autorisé le paiement, l’état de l’objet Source basculera sur chargeable au moment où il est prêt à être utilisé dans une demande de paiement. Si le client refuse le paiement, l’état basculera sur failed.
Lors de la redirection de votre client vers votre site Web, Stripe renseigne automatiquement les paramètres GET suivants dans l’URL redirect[return_ :
source: une chaîne indiquant l’ID initial de l’objetSourcelivemode: indique s’il s’agit d’un paiement en mode production (ses valeurs peuvent êtretrueoufalse)client_: permet de confirmer que le client récurrent est bien celui ayant déclenché la création de la source (les ID de source ne sont pas considérés comme secrets)secret
Quand vous spécifiez l’URL redirect[return_, vous pouvez inclure tout autre paramètre GET dont vous avez besoin. N’utilisez pas les noms ci-dessus comme noms de paramètres, car ils seraient remplacés par les valeurs que nous générons automatiquement.
Applications mobiles
Pour intégrer Alipay dans une application mobile, renseignez le schéma d’URI de votre application dans la valeur redirect[return_. Cela permet à vos clients de revenir vers votre application après avoir donné leur autorisation. Les redirections directes vers l’application Alipay sont également prises en charge lorsque vous utilisez nos SDK natifs.
Pour les sources Android, le SDK Alipay est requis pour la prise en charge d’application à application.
Test du processus de redirection
Lors de la création d’un objet Source à l’aide de vos clés API de test, vous pouvez suivre l’URL renvoyée dans le champ redirect[url]. Celle-ci vous redirige vers une page Stripe qui affiche des informations sur la requête API et qui vous permet d’autoriser ou d’annuler le paiement. Le fait d’autoriser le paiement vous redirige vers l’URL précisée dans le champ redirect[return_.
Débiter la source
Une fois que le client a autorisé le paiement, le status de la source bascule sur chargeable et elle peut être utilisée pour effectuer une demande de paiement. Ce changement d’état a lieu de manière asynchrone et peut se produire après que le client a été redirigé vers votre site web.
Certains clients qui utilisent Alipay supposent que le processus de commande est terminé une fois qu’ils ont authentifié le paiement et reçu la confirmation sur le site Web ou l’application. Par conséquent, ils ferment leur navigateur au lieu de suivre la redirection et de revenir sur votre application ou votre site Web.
Pour ces raisons, il est essentiel que votre intégration s’appuie sur des webhooks pour déterminer à quel moment la source devient débitable et ainsi créer le paiement. Pour découvrir comment intégrer au mieux des moyens de paiement à l’aide de webhooks, veuillez consulter nos bonnes pratiques.
Webhooks
Les événements de webhook suivants sont envoyés pour vous informer des changements d’état d’une source :
| Événement | Description |
|---|---|
source. | Un objet Source devient chargeable une fois qu’un client a autorisé et vérifié un paiement. |
source. | Un objet Source n’est pas devenu débitable, car le client n’a pas autorisé le paiement. |
source. | Un objet Source a expiré et ne peut plus être utilisé pour créer un paiement. |
Effectuer une demande de paiement à l’aide de la source
Une fois que la source est débitable, vous pouvez effectuer une demande de paiement à partir de votre gestionnaire de webhooks source. en renseignant l’ID de la source dans le paramètre source afin de finaliser le paiement.
Par défaut, le libellé de relevé bancaire de votre compte apparaît sur le relevé du client lorsque vous créez un paiement Alipay.
Codes d’erreur
La création du paiement pour les paiements Alipay peut renvoyer l’une des erreurs suivantes :
| Erreur | Description |
|---|---|
insufficient_ | Le compte Alipay ne dispose pas de fonds suffisants pour finaliser l’achat. Le client doit approvisionner son compte et réessayer, ou utiliser un autre moyen de paiement. |
invalid_ | Cela se produit si le montant du paiement est plus important que celui pris en charge par Alipay. |
Confirmer la réussite du paiement
Puisque le client a déjà autorisé le paiement dans le cadre de la redirection, le débit réussira automatiquement, sauf erreur inattendue.
Vous recevrez également l’événement de webhook suivant lors de la création du paiement :
| Événement | Description |
|---|---|
charge. | L’opération a abouti et le paiement a été mené à bien. |
Nous vous recommandons d’utiliser l’événement de webhook charge. pour informer votre client que le processus de paiement a abouti et que sa commande est confirmée. Pour plus d’informations sur la meilleure façon d’intégrer des moyens de paiement à l’aide de webhooks, reportez-vous à nos bonnes pratiques.
Paiements contestés
Si le compte Alipay d’un client est utilisé de manière illicite, Alipay et Stripe traitent le problème en interne. Les paiements avec Alipay ne sont contestés que si le client fait une réclamation concernant les biens ou les services fournis. En cas de litige, un événement de webhook charge. est envoyé sur votre endpoint de webhook et Stripe déduit le montant du litige de votre solde Stripe.
Remboursements
Les paiements effectués avec Alipay ne peuvent être soumis pour remboursement que dans les 90 jours à compter de la date du débit initial. Passé ce délai, le remboursement n’est plus possible.
Expiration de la source à usage unique
Une source Alipay à usage unique doit être débitée dans les six heures après être devenue chargeable, ou avant 23 h 45 heure normale de Chine (GMT+8) en raison des restrictions du gouvernement chinois concernant le règlement. Si ce n’est pas le cas, son état passe automatiquement à canceled et votre intégration reçoit un événement de webhook source.. Une fois qu’une source débitable est annulée, le paiement Alipay autorisé par le client est remboursé automatiquement, et aucune somme n’est transférée sur votre compte. Pour cette raison, assurez-vous que la commande est annulée de votre côté et que le client est informé lorsque vous recevez l’événement source..
De plus, les sources pending sont annulées au bout d’une heure si elles ne sont pas utilisées pour autoriser un paiement, ce qui garantit que toutes les sources finissent par passer de l’état pending à l’état canceled si elles ne sont pas utilisées.
Devises de règlement
Alipay prend en charge les règlements dans la devise par défaut de votre compte. Si vous détenez un compte bancaire dans une autre devise et souhaitez créer des sources Alipay dans cette devise, veuillez contacter le service d’assistance. Les devises supplémentaires sont prises en charge au cas par cas.