Scoprite WeChat Pay, un portafoglio digitale molto apprezzato dai clienti cinesi. #
WeChat Pay è un portafoglio digitale integrato nella popolare superapp cinese WeChat. Nel corso degli anni, ha acquisito una notevole importanza come soluzione di pagamento essenziale per le aziende che cercano di entrare in contatto con i consumatori cinesi, sia a livello nazionale che internazionale. WeChat si è trasformato in un ecosistema completo, che offre agli acquirenti cinesi la comodità di chattare, sfogliare prodotti o servizi ed effettuare pagamenti senza soluzione di continuità all'interno di una piattaforma unificata. Questa integrazione ha reso l'esperienza di acquisto semplice come una conversazione amichevole con i propri compagni, il tutto in un unico luogo.
Caratteristiche #
Sedi dei clienti | Consumatori cinesi Cinesi d'oltremare Viaggiatori cinesi |
---|---|
Elaborazione delle valute | CNY, GBP, USD, EUR, HKD |
Valute di regolamento | GBP, EUR, USD, HKD |
Importo minimo della transazione | Nessun limite |
Importo massimo della transazione | 50.000 USD |
Rimborsi | ✅ |
Rimborsi parziali | ✅ |
Rimborso parziale multiplo | ✅ |
Addebito | ❌ |
Sottoprodotti #
Caso di pagamento | Prodotto | Descrizione degli scenari di pagamento |
---|---|---|
Codice QR | Pagamento via web | Sul browser desktop, dopo aver selezionato WeChatPay come metodo di pagamento, appare un codice QR. L'acquirente apre quindi l'app WeChat sul proprio cellulare e scansiona il codice a barre visualizzato sulla pagina del browser per completare il pagamento. |
Codice QR | Pagamento rapido | Nel punto vendita, gli esercenti possono visualizzare il codice QR sul terminale e gli acquirenti possono aprire l'app WeChat sul cellulare per scansionare il codice QR e completare il pagamento. |
Flussi mobili H5 | Pagamento H5 | Sul browser mobile, l'acquirente seleziona WeChatPay come metodo di pagamento alla cassa dell'esercente e viene reindirizzato dal browser all'app WeChatPay per completare il pagamento prima di essere reindirizzato nuovamente al browser dell'esercente. |
Mobile - Nell'applicazione WeChat | Conto ufficiale | Solitamente diffusi nei mercati di lingua cinese, i commercianti possono prendere in considerazione la creazione di una pagina di profilo sul sito sociale WeChat e chiedere agli acquirenti di selezionare i prodotti e completare il pagamento nell'ambiente del sito sociale WeChat. |
Mobile - Nell'applicazione WeChat | Mini programma | Un'altra evoluzione degli account ufficiali, un Mini Program è come un sito web all'interno del sito sociale WeChat, dove sono possibili ulteriori personalizzazioni da parte dell'esercente e gli acquirenti possono selezionare i prodotti e completare il pagamento all'interno di questo ambiente. |
Flusso di pagamento #
Codice QR #
Flussi mobili H5 #
Mobile - Nell'applicazione WeChat #
Metodo di integrazione #
Valori dell'enumerazione del metodo di pagamento: wechat_pay
Esistono due metodi di integrazione per Wechat pay
- API diretta
- Cassa
Metodo di integrazione | Sottoproduzione di Wechat Pay | Valori dell'enumerazione terminal_type |
---|---|---|
API diretta | Pagamento via web | WEB |
API diretta | Pagamento rapido | CODICE SCAN |
API diretta | H5 Pagamento | WAP |
API diretta | Pagamento del conto ufficiale | CONTO_UFFICIALE |
API diretta | Mini programma | MINI_PROGRAMMA |
Metodo di integrazione | Sottoproduzione di Wechat Pay | Valori dell'enumerazione terminal_type |
---|---|---|
Cassa | Pagamento via web | Non è necessario identificare il tipo di terminale nel checkout. Il checkout genererà automaticamente un codice QR o reindirizzerà all'app WeChat in base al dispositivo dell'utente. |
Cassa | H5 Pagamento | Non è necessario identificare il tipo di terminale nel checkout. Il checkout genererà automaticamente un codice QR o reindirizzerà all'app WeChat in base al dispositivo dell'utente. |
API diretta #
Un PaymentIntent è un oggetto che rappresenta l'intenzione di riscuotere un pagamento dal cliente e tiene traccia del ciclo di vita del processo di pagamento. Creare un PaymentIntent sul server e specificare l'importo da riscuotere e una valuta supportata.
Creare un Intento di pagamento #
Per l'integrazione diretta con l'API, è possibile creare PaymentIntent e ottenere l'url in un solo passaggio. Di seguito è riportata la demo della creazione degli intenti di pagamento:
- Pagamento via web
- H5 Pagamento
- Pagamento rapido
- Pagamento del conto ufficiale
Pagamento via web #
Richiesta
{
"importo":20,
"valuta": "CNY",
"conferma":vero,
"opzioni_di_metodo_di_pagamento":{
"wechat_pay":{
"tipo_terminale": "WEB",
"os_type": "IOS",
"client_ip":"192.168.0.1"
}
},
"dati_di_metodo_di_pagamento":{
"type": "wechat_pay"
},
"return_url": "https://wooshpay.com"
}
Risposta
{
"id": "pi_1666625039547498496",
"oggetto": "payment_intent",
"creato": 1686189348000,
"livemode": false,
"valuta": "CNY",
"importo": 20,
"stato": "requires_action",
"client_secret": "pi_1666625039547498496_secret_qGj2VEg4khXSWkXvRI7Y3yZe",
"next_action": {
"tipo": "wechat_pay_display_qr_code",
"wechat_pay_display_qr_code": {
"image_data_url": "weixin://wxpay/bizpayurl?pr=lJhTByDzz".
}
},
"payment_method_types": [
"wechat_pay"
],
"metodo di conferma": "automatic",
"opzioni_metodo_di_pagamento": {
"wechat_pay": {
"tipo_terminale": "WEB",
"os_type": "IOS",
"client_ip": "192.168.0.1"
}
},
"return_url": "https://wooshpay.com",
"metodo di pagamento": "pm_1666625039430057984",
"metodo di acquisizione": "automatic"
}
Il url_immagine_dati
da wechat_pay_display_qr_code
da azione_successiva
Il link può essere aperto e il commerciante può generare i codici QR corrispondenti. Quindi utilizzare il codice QR corrispondente per effettuare l'addebito.
H5 Pagamento #
Richiesta
{
"importo": 20,
"valuta": "CNY",
"conferma": vero,
"payment_method_options": {
"wechat_pay": {
"tipo_terminale": "WAP",
"client_ip": "192.168.124.133" /Ip del cellulare del cliente
}
},
"dati_metodo_di_pagamento": {
"type": "wechat_pay"
},
"return_url": "yourwebsite"
}
Risposta
{
"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"
}
Il url
da wechat_pay_redirect_a_web
da azione_successiva
Il cliente può aprire il link per accedere direttamente all'APP di wechat per il pagamento e per accedere direttamente al sito web di wechat. indirizzo_di_ritorno
dopo il pagamento.
Pagamento rapido #
Richiesta
{
"importo":10,
"valuta": "CNY",
"confirm":true,
"opzioni_di_metodo_di_pagamento":{
"wechat_pay":{
"tipo_terminale": "SCAN_CODE",
"os_type": "IOS",
"client_ip":"192.168.0.1"
}
},
"dati_metodo_di_pagamento":{
"Tipo: "wechat_pay",
"wechat_pay":{
"payment_code":"132993614656096754"
}
},
"return_url": "https://yourweb.com"
}
Risposta
{
"id": "pi_1666627489012645888",
"oggetto": "payment_intent",
"creato": 1686189932000,
"livemode": false,
"valuta": "CNY",
"importo": 10,
"stato": "requires_action",
"client_secret": "pi_1666627489012645888_secret_t6oeKYYGb9egt3koNMsntfSg",
"tipi_di_pagamento": [
"wechat_pay"
],
"metodo_di_conferma": "automatic",
"opzioni_metodo_di_pagamento": {
"wechat_pay": {
"tipo_terminale": "SCAN_CODE",
"os_type": "IOS",
"client_ip": "192.168.0.1"
}
},
"return_url": "https://yourweb.com",
"metodo di pagamento": "pm_1666627488878428160",
"metodo di acquisizione": "automatic"
}
Il pagamento senza password può essere effettuato direttamente, altrimenti il cliente deve inserire la password, l'impronta digitale, ecc. sul telefono cellulare per pagare.
Pagamento del conto ufficiale #
Richiesta
{
"importo": 20,
"valuta": "CNY",
"conferma": vero,
"payment_method_options": {
"wechat_pay": {
"tipo_terminale": "OFFICIAL_ACCOUNT",
"client_ip": "192.168.0.1",
"openid": ""
}
},
"payment_method_data": {
"tipo": "wechat_pay"
}
}
Risposta
{
"id": "pi_1666626536515567616",
"oggetto": "payment_intent",
"creato": 1686189705000,
"livemode": false,
"valuta": "CNY",
"importo": 20,
"stato": "requires_payment_method",
"client_secret": "pi_1666626536515567616_secret_CcrukFKgxbPp7UEAxodLlNRD",
"last_payment_error": {
"code": "payment_method_provider_decline",
"messaggio": "Errore di servizio. Si prega di riprovare",
"metodo_di_pagamento": {
"id": "pm_1666626536389738496",
"oggetto": "payment_method",
"creato": 1686189705000,
"livemode": false,
"tipo": "wechat_pay",
"billing_details": {}
},
"codice di rifiuto": "invalid_request_error".
},
"tipi_di_pagamento": [
"wechat_pay"
],
"metodo di conferma": "automatic",
"opzioni_metodo_di_pagamento": {
"wechat_pay": {
"openid": "",
"tipo_terminale": "OFFICIAL_ACCOUNT",
"client_ip": "192.168.0.1"
}
},
"metodo di pagamento": "pm_1666626536389738496",
"metodo di acquisizione": "automatic"
}
wechat_pay_official_account_params
da azione_successiva
contiene alcuni parametri da utilizzare nel front-end. Di seguito è riportato un esempio di utilizzo dei parametri. js esempio
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 programma #
Richiesta
{
"importo": 20,
"valuta": "GBP",
"conferma": vero,
"payment_method_options": {
"wechat_pay": {
"tipo_terminale": "MINI_PROGRAMMA",
"client_ip": "192.168.0.1",
"openid": "ojt**********QnCY".
}
},
"payment_method_data": {
"tipo": "wechat_pay"
}
}
Risposta
{
"id": "pi_1684807723566235648",
"oggetto": "payment_intent",
"creato": 1690524438000,
"livemode": true,
"valuta": "GBP",
"importo": 20,
"stato": "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",
"pacchetto": "prepay_id=wx281407195596079e2b5253415099630000"
}
},
"payment_method_types": [
"wechat_pay"
],
"metodo di conferma": "automatic",
"opzioni_metodo_di_pagamento": {
"wechat_pay": {
"openid": "**********",
"tipo_terminale": "MINI_PROGRAMMA",
"client_ip": "192.168.0.1"
}
},
"metodo di pagamento": "pm_1684807723448795136",
"metodo di acquisizione": "automatic"
}
Cassa #
È inoltre possibile utilizzare WeChat Pay tramite la cassa ospitata da WooshPay. Per supportare i pagamenti, una sessione di checkout deve soddisfare tutte le seguenti condizioni:
- I prezzi di tutte le voci devono essere nella stessa valuta. Se gli articoli sono in valute diverse, creare sessioni di pagamento separate per ciascuna valuta.
- È possibile utilizzare solo voci una tantum.
Abilitare wechat pay come metodo di pagamento
Quando si crea una nuova sessione di cassa, è necessario:
Aggiungete Wechat Pay all'elenco di tipi_di_metodo_di_pagamento
. Assicurarsi che tutti voci_di_linea
utilizzare la stessa valuta.
Creare una sessione #
Richiesta
{
"cancel_url": "https://wooshpay.com",
"modalità": "payment",
"success_url": "https://wooshpay.com",
"tipi_di_metodo_di_pagamento": [
"wechat_pay"
],
"line_items": [
{
"price_data": {
"valuta": "CNY",
"importo_unità": 100,
"product_data": {
"nome": "fengli",
"url": "www.baidu.com"
}
},
"quantità": 1
}
]
}
Risposta
{
"id": "cs_1666627733867724800",
"oggetto": "checkout.session",
"creato": 1686189991000,
"livemode": false,
"valuta": "CNY",
"cliente": "",
"modalità": "pagamento",
"stato": "open",
"url": "https://checkouttest.wooshpay.com/pay/cs_test_1666627733867724800?key=pk_test_NTE1OTU5NzQ3NTQ2MTM5ODkzNzcxOktFZ0xlam1KbUxUb2gyUUNqWVVoaGpDSjE2NjkzNDUwMDgxMTE=",
"cancel_url": "https://wooshpay.com",
"voci_di_linea": {
"oggetto": "elenco",
"dati": [
{
"id": "li_1666627733993553920",
"oggetto": "item",
"valuta": "CNY",
"descrizione": "fengli",
"prezzo": {
"id": "price_1666627734022914048",
"oggetto": "prezzo",
"creato": 1686189991000,
"livemode": false,
"active": true,
"valuta": "CNY",
"prodotto": {
"id": "prod_1666627734064857088",
"oggetto": "prodotto",
"creato": 1686189991000,
"livemode": false,
"active": true,
"nome": "fengli",
"url": "www.baidu.com",
"aggiornato": 1686189991000
},
"tipo": "one_time",
"importo_unità": 100,
"schema di fatturazione": "per_unità".
},
"quantità": 1,
"importo_subtotale": 100,
"importo_totale": 100
}
]
},
"Intento di pagamento": "pi_1666627734450733056",
"tipi_di_pagamento": [
"wechat_pay"
],
"payment_status": "unpaid",
"success_url": "https://wooshpay.com",
"importo_subtotale": 100,
"importo_totale": 100,
"indirizzo_di_fatturazione_raccolta": "auto",
"scadenza": 1686276390865,
"link_di_pagamento": "",
"client_secret": "pi_1666627734450733056_secret_jajX5Fe4Qlp6VGEm0ftP1wcZ"
}
È possibile accedere alla cassa attraverso l'url e selezionare il pagamento con WeChat. Se il cliente è una pagina web, viene generato un codice QR che può essere scansionato per il pagamento. Se il cliente è un terminale mobile, salterà direttamente all'APP WeChat per il pagamento.
Passo successivo #
È possibile aggiungere altre funzionalità all'integrazione in base alle esigenze.
Creare un webhook #
Ascoltate gli eventi sul vostro account WooshPay in modo che la vostra integrazione possa attivare automaticamente le reazioni. Creare un webhook che si concentri principalmente su enabled_events e url.
Creare un rimborso #
Creare un rimborso per restituire i fondi al cliente. È possibile eseguire anche rimborsi parziali, ma non tutti i metodi di pagamento li supportano. Un rimborso parziale consiste nel rimborsare solo una parte dell'importo della transazione originale.