Découvrez WeChat Pay, un portefeuille numérique populaire auprès des clients chinois. #
WeChat Pay est un portefeuille numérique intégré à la célèbre superapplication chinoise WeChat. Au fil des ans, WeChat Pay s'est imposé comme une solution de paiement essentielle pour les entreprises qui cherchent à entrer en contact avec les consommateurs chinois, tant au niveau national qu'international. WeChat s'est transformé en un écosystème complet, offrant aux acheteurs chinois la possibilité de discuter, de consulter des produits ou des services et d'effectuer des paiements de manière transparente au sein d'une plateforme unifiée. Cette intégration a rendu l'expérience d'achat aussi facile qu'une conversation amicale avec vos compagnons, le tout en un seul endroit.
Caractéristiques #
Localisation des clients | Consommateurs chinois Chinois d'outre-mer Voyageurs chinois |
---|---|
Traitement des devises | CNY, GBP, USD, EUR, HKD |
Devises de règlement | GBP, EUR, USD, HKD |
Montant minimum de la transaction | Aucune limite |
Montant maximum de la transaction | 50 000 USD |
Remboursements | ✅ |
Remboursements partiels | ✅ |
Remboursement partiel multiple | ✅ |
Répétition de la dette | ❌ |
Sous-produits #
Cas de paiement | Produit | Description des scénarios de paiement |
---|---|---|
Code QR | Paiement par Internet | Après avoir sélectionné WeChatPay comme méthode de paiement, un code QR apparaît sur le navigateur de l'ordinateur de bureau. L'acheteur ouvre alors l'application WeChat sur son téléphone portable et scanne le code-barres affiché sur la page du navigateur pour effectuer le paiement. |
Code QR | Paiement rapide | Sur le point de vente, les commerçants peuvent afficher le code QR sur le terminal et les clients peuvent ouvrir l'application WeChat sur leur téléphone portable pour scanner le code QR et effectuer le paiement. |
Flux mobiles H5 | Paiement H5 | Sur le navigateur mobile, un acheteur sélectionne WeChatPay comme méthode de paiement à la caisse du commerçant, et est redirigé du navigateur vers l'application WeChatPay pour terminer le paiement avant d'être redirigé vers le navigateur du commerçant. |
Mobile - Dans l'application WeChat | Compte officiel | Habituellement populaires sur les marchés où l'on parle le plus le chinois, les commerçants peuvent envisager de créer une page de profil sur le site social WeChat et d'inviter les acheteurs à sélectionner des produits et à effectuer le paiement dans l'environnement du site social WeChat. |
Mobile - Dans l'application WeChat | Mini programme | Un mini-programme est une sorte de site web au sein du site social WeChat, qui permet au marchand de personnaliser davantage son offre et aux acheteurs de sélectionner des produits et d'effectuer le paiement dans cet environnement. |
Flux de paiement #
Code QR #
Flux mobiles H5 #
Mobile - Dans l'application WeChat #
Méthode d'intégration #
Valeurs de l'énumération des méthodes de paiement : wechat_pay
Il existe deux méthodes d'intégration pour Wechat pay
- API directe
- Sortie de caisse
Méthode d'intégration | Sous-production de Wechat Pay | Valeurs de l'énumération terminal_type |
---|---|---|
API directe | Paiement par Internet | WEB |
API directe | Paiement rapide | SCAN_CODE |
API directe | Paiement H5 | WAP |
API directe | Paiement du compte officiel | COMPTE_OFFICIEL |
API directe | Mini programme | MINI_PROGRAMME |
Méthode d'intégration | Sous-production de Wechat Pay | Valeurs de l'énumération terminal_type |
---|---|---|
Sortie de caisse | Paiement par Internet | Vous n'avez pas besoin d'identifier le type de terminal lors du paiement. La caisse génère automatiquement un code QR ou redirige vers l'application WeChat en fonction de l'appareil du client. |
Sortie de caisse | Paiement H5 | Vous n'avez pas besoin d'identifier le type de terminal lors du paiement. La caisse génère automatiquement un code QR ou redirige vers l'application WeChat en fonction de l'appareil du client. |
API directe #
Un PaymentIntent est un objet qui représente votre intention de percevoir un paiement de la part de votre client et qui suit le cycle de vie du processus de paiement. Créez un PaymentIntent sur votre serveur et indiquez le montant à encaisser ainsi qu'une devise prise en charge.
Créer un PaymentIntent #
Pour une intégration API directe, vous pouvez créer un PaymentIntent et obtenir l'url en une seule étape. Voici une démonstration de la création d'intentions de paiement :
- Paiement par Internet
- Paiement H5
- Paiement rapide
- Paiement du compte officiel
Paiement par Internet #
Demande
{
"montant":20,
"devise" : "CNY",
"confirm":true,
"payment_method_options":{
"wechat_pay":{
"terminal_type" : "WEB",
"os_type" : "IOS",
"client_ip":"192.168.0.1"
}
},
"payment_method_data":{
"type" : "wechat_pay"
},
"return_url" : "https://wooshpay.com"
}
Réponse
{
"id" : "pi_1666625039547498496",
"object" : "payment_intent",
"created" : 1686189348000,
"livemode" : false,
"currency" : "CNY",
"montant" : 20,
"status" : "requires_action",
"client_secret": "pi_1666625039547498496_secret_qGj2VEg4khXSWkXvRI7Y3yZe",
"next_action" : {
"type" : "wechat_pay_display_qr_code",
"wechat_pay_display_qr_code" : {
"image_data_url" : "weixin://wxpay/bizpayurl?pr=lJhTByDzz"
}
},
"payment_method_types" : [
"wechat_pay",
],
"confirmation_method" : "automatique",
"payment_method_options" : {
"wechat_pay" : {
"terminal_type" : "WEB",
"os_type" : "IOS",
"client_ip" : "192.168.0.1"
}
},
"return_url" : "https://wooshpay.com",
"payment_method" : "pm_1666625039430057984",
"capture_method" : "automatic"
}
Le image_data_url
de wechat_pay_display_qr_code
de action_suivante
peut être ouvert, à partir du lien, le commerçant peut générer les codes QR correspondants. Il peut ensuite utiliser le code QR correspondant pour facturer.
Paiement H5 #
Demande
{
"montant" : 20,
"devise" : "CNY",
"confirm" : true,
"payment_method_options" : {
"wechat_pay" : {
"terminal_type" : "WAP",
"client_ip" : "192.168.124.133" /l'ip du mobile du client
}
},
"payment_method_data" : {
"type" : "wechat_pay"
},
"return_url" : "yourwebsite"
}
Réponse
{
"id": "pi_1666625208749916160",
"object": "payment_intent",
"created": 1686189389000,
"livemode": false,
"currency": "CNY",
"amount": 20,
"status": "requires_action",
"client_secret": "pi_1666625208749916160_secret_BeEXcbvAQNUkrV9C6ZFjOamS",
"next_action": {
"type": "wechat_pay_redirect_to_web",
"wechat_pay_redirect_to_web": {
"url": "https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx08095629694611f41b32df91d6ea160000&package=3449031350&redirect_url=https%3A%2F%2Fwooshpay.com"
}
},
"payment_method_types": [
"wechat_pay"
],
"confirmation_method": "automatic",
"payment_method_options": {
"wechat_pay": {
"terminal_type": "WAP",
"os_type": "IOS",
"client_ip": "172.31.5.62"
}
},
"return_url": "https://wooshpay.com",
"payment_method": "pm_1666625208624087040",
"capture_method": "automatic"
}
Le url
de wechat_pay_redirect_to_web
de action_suivante
peut être ouvert, à partir du lien, le client sera dirigé vers l'APP wechat pour le paiement, et sera dirigé vers l'APP wechat pour le paiement. return_url
après paiement.
Paiement rapide #
Demande
{
"montant":10,
"devise" : "CNY",
"confirm":true,
"payment_method_options":{
"wechat_pay":{
"terminal_type" : "SCAN_CODE",
"os_type" : "IOS",
"client_ip":"192.168.0.1"
}
},
"payment_method_data":{
"type" : "wechat_pay",
"wechat_pay":{
"payment_code":"132993614656096754"
}
},
"return_url" : "https://yourweb.com"
}
Réponse
{
"id" : "pi_1666627489012645888",
"object" : "payment_intent",
"created" : 1686189932000,
"livemode" : false,
"currency" : "CNY",
"montant" : 10,
"status" : "requires_action",
"client_secret": "pi_1666627489012645888_secret_t6oeKYYGb9egt3koNMsntfSg",
"payment_method_types" : [
"wechat_pay"
],
"confirmation_method" : "automatique",
"payment_method_options" : {
"wechat_pay" : {
"terminal_type" : "SCAN_CODE",
"os_type" : "IOS",
"client_ip" : "192.168.0.1"
}
},
"return_url" : "https://yourweb.com",
"payment_method" : "pm_1666627488878428160",
"capture_method" : "automatic"
}
Le paiement sans mot de passe peut être effectué directement, sinon le client doit saisir le mot de passe, l'empreinte digitale, etc. sur le téléphone portable pour payer.
Paiement du compte officiel #
Demande
{
"montant" : 20,
"devise" : "CNY",
"confirm" : true,
"payment_method_options" : {
"wechat_pay" : {
"terminal_type" : "COMPTE_OFFICIEL",
"client_ip" : "192.168.0.1",
"openid" : ""
}
},
"payment_method_data" : {
"type" : "wechat_pay"
}
}
Réponse
{
"id" : "pi_1666626536515567616",
"object" : "payment_intent",
"created" : 1686189705000,
"livemode" : false,
"currency" : "CNY",
"montant" : 20,
"status" : "requires_payment_method",
"client_secret": "pi_1666626536515567616_secret_CcrukFKgxbPp7UEAxodLlNRD",
"last_payment_error" : {
"code" : "payment_method_provider_decline",
"message" : "erreur de service. Veuillez réessayer",
"payment_method" : {
"id" : "pm_1666626536389738496",
"objet" : "payment_method",
"created" : 1686189705000,
"livemode" : false,
"type" : "wechat_pay",
"billing_details" : {}
},
"decline_code" : "invalid_request_error"
},
"payment_method_types" : [
"wechat_pay"
],
"confirmation_method" : "automatique",
"payment_method_options" : {
"wechat_pay" : {
"openid" : "",
"terminal_type" : "COMPTE_OFFICIEL",
"client_ip" : "192.168.0.1"
}
},
"payment_method" : "pm_1666626536389738496",
"capture_method" : "automatic"
}
paramètres_du_compte_officiel_de_paiement_de_Wechat
de action_suivante
contient certains paramètres que vous devez utiliser dans la partie frontale. Vous trouverez ci-dessous un exemple d'utilisation de ces paramètres. js exemple
function onBridgeReady(){
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId":"wx7a154c094f74e84f",
"timeStamp":"1682239457",
"nonceStr":"kLRl3fI6FiP8PXxNNAiytwuQBdoCWXvZ",
"package":"prepay_id=wx23164417189051acf8825c57d275230000",
"signType":"MD5",
"paySign":"703868ed93842f83c9dff4d80d0cad67"
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ) {} // Using the above method to judge the front-end return, the WeChat team solemnly reminds: res.err_msg will return ok after the user's payment is successful, but it does not guarantee that it is absolutely reliable.
}
);
}
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
}else{
onBridgeReady();
}
Mini programme #
Demande
{
"montant" : 20,
"devise" : "GBP",
"confirm" : true,
"payment_method_options" : {
"wechat_pay" : {
"terminal_type" : "MINI_PROGRAMME",
"client_ip" : "192.168.0.1",
"openid" : "ojt**********QnCY"
}
},
"payment_method_data" : {
"type" : "wechat_pay"
}
}
Réponse
{
"id" : "pi_1684807723566235648",
"object" : "payment_intent",
"created" : 1690524438000,
"livemode" : true,
"currency" : "GBP",
"montant" : 20,
"status" : "requires_action",
"client_secret": "pi_1684807723566235648_secret_V3rhLjnidzwNnc7UomZJzzxc",
"next_action" : {
"type" : "wechat_pay_mini_program_params",
"wechat_pay_mini_program_params" : {
"appId" : "***********",
"timeStamp" : "1690524439",
"nonceStr" : "VVdQaFzG9LjOSNyGNLFbt7NZAn2oE87z",
"signType" : "MD5",
"paySign" : "9d0a90a35935d71d7a0f5f33689030fe",
"package" : "prepay_id=wx281407195596079e2b5253415099630000"
}
},
"payment_method_types" : [
"wechat_pay",
],
"confirmation_method" : "automatique",
"payment_method_options" : {
"wechat_pay" : {
"openid" : "**********",
"terminal_type" : "MINI_PROGRAMME",
"client_ip" : "192.168.0.1"
}
},
"payment_method" : "pm_1684807723448795136",
"capture_method" : "automatic"
}
Sortie de caisse #
Vous pouvez également utiliser WeChat Pay via la caisse hébergée par WooshPay. Pour prendre en charge les paiements, une session de paiement doit remplir toutes les conditions suivantes :
- Les prix de tous les articles doivent être exprimés dans la même devise. Si les articles sont libellés dans des devises différentes, créez des sessions de paiement distinctes pour chaque devise.
- Vous ne pouvez utiliser que des postes uniques.
Activer wechat pay comme méthode de paiement
Lors de la création d'une nouvelle session de paiement, vous devez.. :
Ajouter Wechat Pay à la liste des types_méthodes_de_paiement
. Assurez-vous que tous les articles_de_ligne
utilisent la même monnaie.
Créer une session #
Demande
{
"cancel_url" : "https://wooshpay.com",
"mode" : "paiement",
"success_url" : "https://wooshpay.com",
"payment_method_types" : [
"wechat_pay"
],
"line_items" : [
{
"price_data" : {
"currency" : "CNY",
"unit_amount" : 100,
"product_data" : {
"name" : "fengli",
"url" : "www.baidu.com"
}
},
"quantité" : 1
}
]
}
Réponse
{
"id" : "cs_1666627733867724800",
"object" : "checkout.session",
"created" : 1686189991000,
"livemode" : false,
"currency" : "CNY",
"client" : "",
"mode" : "paiement",
"statut" : "ouvert",
"url" : "https://checkouttest.wooshpay.com/pay/cs_test_1666627733867724800?key=pk_test_NTE1OTU5NzQ3NTQ2MTM5ODkzNzcxOktFZ0xlam1KbUxUb2gyUUNqWVVoaGpDSjE2NjkzNDUwMDgxMTE=",
"cancel_url" : "https://wooshpay.com",
"line_items" : {
"object" : "liste",
"data" : [
{
"id" : "li_1666627733993553920",
"object" : "item",
"currency" : "CNY",
"description" : "fengli",
"prix" : {
"id" : "price_1666627734022914048",
"objet" : "prix",
"created" : 1686189991000,
"livemode" : false,
"active" : true,
"currency" : "CNY",
"produit" : {
"id" : "prod_1666627734064857088",
"objet" : "produit",
"created" : 1686189991000,
"livemode" : false,
"active" : true,
"nom" : "fengli",
"url" : "www.baidu.com",
"updated" : 1686189991000
},
"type" : "one_time",
"unit_amount" : 100,
"billing_scheme" : "per_unit"
},
"quantity" : 1,
"amount_subtotal" : 100,
"montant_total" : 100
}
]
},
"payment_intent" : "pi_1666627734450733056",
"payment_method_types" : [
"wechat_pay"
],
"payment_status" : "non payé",
"success_url" : "https://wooshpay.com",
"amount_subtotal" : 100,
"amount_total" : 100,
"billing_address_collection" : "auto",
"expires_at" : 1686276390865,
"payment_link" : "",
"client_secret": "pi_1666627734450733056_secret_jajX5Fe4Qlp6VGEm0ftP1wcZ"
}
Vous pouvez accéder à la caisse par l'intermédiaire de l'URL et sélectionner le paiement par WeChat. Si le client est une page web, un code QR sera généré et vous pourrez le scanner pour effectuer le paiement. Si le client est un terminal mobile, il passera directement à l'application WeChat pour le paiement.
Prochaine étape #
Vous pouvez ajouter d'autres fonctionnalités à votre intégration en fonction de vos besoins.
Créer un Webhook #
Écoutez les événements sur votre compte WooshPay afin que votre intégration puisse déclencher automatiquement des réactions. Créez un webhook qui se concentre principalement sur enabled_events et url.
Créer un remboursement #
Créez un remboursement pour restituer des fonds à votre client. Vous pouvez également effectuer des remboursements partiels, mais ils ne sont pas pris en charge par toutes les méthodes de paiement. Un remboursement partiel consiste à ne rembourser qu'une partie du montant de la transaction initiale.