


C# développe le portail WeChat et applique l'opération d'emballage des paiements d'entreprise de paiement WeChat
Mar 07, 2017 am 09:41 AM1. Introduction au paiement d'entreprise
Le soi-disant paiement d'entreprise fait référence aux réclamations des clients, aux rachats et aux retours de produits dans le secteur de l'assurance après les fonctions. sont ouvertes. Les opérations telles que le paiement, la distribution de bonus pour les activités de collecte et les interactions de loterie peuvent toutes être réalisées via le paiement de l'entreprise. Auparavant, WeChat Pay ne pouvait proposer aux clients que des paiements unidirectionnels vers les entreprises.
Si le commer?ant doit payer l'utilisateur, il peut directement transférer l'argent dans le ? WeChat Change ? de l'utilisateur. WeChat Pay informera l'utilisateur du changement, et le re?u de modification et les détails des dépenses s'afficheront. l'enregistrement correspondant. Pour la version client historique sans changement de compte, les fonds seront versés sur le compte enveloppe rouge de l'utilisateur. Il n'y a aucun message de WeChat Pay pour informer l'utilisateur, et l'entreprise peut choisir de contacter l'utilisateur par elle-même.
Les comptes d'entreprise certifiés peuvent activer la fonction de paiement WeChat. Un compte d'entreprise certifié peut demander la fonction de paiement WeChat dans le portail ? WeChat Payment ? du ? Service Center ? de la plateforme de gestion. Après avoir ouvert la fonction de paiement WeChat, le compte d'entreprise aura deux fonctions : l'encaissement et le paiement. Si un paiement est effectué depuis un compte utilisateur vers un compte d'entreprise, l'argent sera versé sur le compte marchand associé au compte d'entreprise. Dans le même temps, les comptes d'entreprise peuvent payer les comptes d'utilisateurs via des enveloppes rouges WeChat ou des transferts WeChat.
Le paiement d'entreprise permet aux entreprises de payer les utilisateurs et aide les entreprises à effectuer des paiements via l'interface API ou à effectuer des paiements via la fonction Web de la plateforme marchande de paiement WeChat.
Les fonctions impliquant des opérations de fonds ont des exigences de sécurité élevées et nécessitent que l'opérateur installe un certificat (Plateforme marchande - Paramètres du compte - Sécurité par mot de passe - Le certificat d'opération fonctionne via une API ou des pages Web et effectue des paiements aux utilisateurs cibles (); les entreprises peuvent cibler les utilisateurs en fonction de l'APPID OpenID). Pour les utilisateurs disposant d'une authentification par nom réel, WeChat Pay peut fournir la fonction facultative de vérification de la cohérence de leurs vrais noms.
Conseils de paiement d'entreprise?:
◆ Pour les paiements vers le même utilisateur réel, la limite quotidienne unique est de 2W/2W
◆ Pour les paiements au même utilisateur sans nom réel Paiement de l'utilisateur, la limite quotidienne unique est de 2000/2000
◆ La limite de paiement totale pour un commer?ant le même jour est de 100W
◆Prend uniquement en charge le APPID lié au compte marchand?;
◆ Pour les utilisateurs cibles du paiement, les utilisateurs qui ont été authentifiés par WeChat Pay peuvent fournir la fonction de vérification de leur vrai nom. Les utilisateurs qui n'ont pas été authentifiés par leur vrai nom ne peuvent pas l'être. vérifié. Les entreprises peuvent choisir le type de vérification en fonction du niveau de sécurité de leur propre entreprise
◆ Le montant du paiement doit être inférieur ou égal au solde disponible actuel du commer?ant
◆ Pour les payés?; enregistrements, les entreprises peuvent afficher les données correspondantes via une requête de paiement d'entreprise.
2. API de paiement d'entreprise
L'activité de paiement d'entreprise est basée sur les capacités de gestion de fonds de la plateforme marchande de paiement WeChat, afin d'aider les commer?ants avec commodité, il permet aux entreprises de payer les particuliers de manière efficace et fournit la fonction d'effectuer des paiements d'entreprise via l'API pour certains commer?ants dotés de capacités de développement.
Par exemple, le secteur actuel de l'assurance rachète les polices, verse des prestations et règle les réclamations des clients.
Le paiement entreprise utilisera le solde disponible du commer?ant, et il faut s'assurer que le solde disponible est suffisant. Pour vérifier le solde disponible, recharger et retirer de l'argent, veuillez vous connecter à la ? Gestion des fonds ? de la plateforme marchande pour opérer.
Adresse de l'interface
Lien de l'interface : https:/ / /api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
Si un certificat est requis
Les demandes nécessitent un certificat bidirectionnel. Le certificat détaillé utilise les
paramètres de requête
Exemple de données soumises?:
<xml> <mch_appid>wxe062425f740c30d8</mch_appid> <mchid>10000098</mchid> <nonce_str>3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str> <partner_trade_no>100000982014120919616</partner_trade_no> <openid>ohO4Gt7wVPxIT1A9GjFaMYMiZY1s</openid> <check_name>OPTION_CHECK</check_name> <re_user_name>張三</re_user_name> <amount>100</amount> <desc>節(jié)日快樂!</desc> <spbill_create_ip>10.2.3.10</spbill_create_ip> <sign>C97BDBACF37622775366F38B629F45E3</sign> </xml>
Exemple de données renvoyées avec succès?:
<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[]]></return_msg> <mch_appid><![CDATA[wxec38b8ff840bd989]]></mch_appid> <mchid><![CDATA[10013274]]></mchid> <device_info><![CDATA[]]></device_info> <nonce_str><![CDATA[lxuDzMnRjpcXzxLx0q]]></nonce_str> <result_code><![CDATA[SUCCESS]]></result_code> <partner_trade_no><![CDATA[10013574201505191526582441]]></partner_trade_no> <payment_no><![CDATA[1000018301201505190181489473]]></payment_no> <payment_time><![CDATA[2015-05-19 15:26:59]]></payment_time> </xml>
Selon la description de l'interface ci-dessus, ainsi que les paramètres d'entrée et de retour, nous pouvons construire l'interface de code C# correspondante
Selon la définition de l'interface ci-dessus, nous pouvons définir Les informations d'interface sont les suivantes
/// <summary> /// 微信支付接口 /// </summary> public interface ITenPayApi { /// <summary> /// 企業(yè)付款(請(qǐng)求需要雙向證書) /// 企業(yè)付款業(yè)務(wù)是基于微信支付商戶平臺(tái)的資金管理能力,為了協(xié)助商戶方便地實(shí)現(xiàn)企業(yè)向個(gè)人付款, /// 針對(duì)部分有開發(fā)能力的商戶,提供通過API完成企業(yè)付款的功能。 比如目前的保險(xiǎn)行業(yè)向客戶退保、給付、理賠。 /// 企業(yè)付款將使用商戶的可用余額,需確??捎糜囝~充足。查看可用余額、充值、提現(xiàn)請(qǐng)登錄商戶平臺(tái)“資金管理”進(jìn)行操作。https://pay.weixin.qq.com/ /// 注意:與商戶微信支付收款資金并非同一賬戶,需要單獨(dú)充值。 /// </summary> /// <param name="json">企業(yè)支付數(shù)據(jù)</param> /// <returns></returns> CorpPayResult CorpPay(CorpPayJson json); ..............
Les CorpPayJson et CorpPayResult ci-dessus sont respectivement les paramètres entrants et le contenu du résultat obtenu. les deux sont basés sur les paramètres.
/// <summary> /// 企業(yè)付款的數(shù)據(jù)信息 /// </summary> public class CorpPayJson { public CorpPayJson() { this.check_name = "FORCE_CHECK"; } /// <summary> /// 微信支付分配的終端設(shè)備號(hào) /// </summary> public string device_info { get; set; } /// <summary> /// 用戶openid /// </summary> public string openid { get; set; } /// <summary> /// 校驗(yàn)用戶姓名選項(xiàng),可以使用 PayCheckName枚舉對(duì)象獲取名稱 /// NO_CHECK:不校驗(yàn)真實(shí)姓名 /// FORCE_CHECK:強(qiáng)校驗(yàn)真實(shí)姓名(未實(shí)名認(rèn)證的用戶會(huì)校驗(yàn)失敗,無法轉(zhuǎn)賬) /// OPTION_CHECK:針對(duì)已實(shí)名認(rèn)證的用戶才校驗(yàn)真實(shí)姓名(未實(shí)名認(rèn)證用戶不校驗(yàn),可以轉(zhuǎn)賬成功) /// </summary> public string check_name { get; set; } /// <summary> /// 收款用戶真實(shí)姓名。 /// 如果check_name設(shè)置為FORCE_CHECK或OPTION_CHECK,則必填用戶真實(shí)姓名 /// </summary> public string re_user_name { get; set; } /// <summary> /// 企業(yè)付款金額,單位為分 /// </summary> public int amount { get; set; } /// <summary> /// 企業(yè)付款操作說明信息。必填。 /// </summary> public string desc { get; set; } /// <summary> /// 調(diào)用接口的機(jī)器Ip地址 /// </summary> public string spbill_create_ip { get; set; } }
/// <summary> /// 企業(yè)付款操作的返回結(jié)果 /// </summary> public class CorpPayResult : PayResult { /// <summary> /// 微信分配的公眾賬號(hào)ID(企業(yè)號(hào)corpid即為此appId) /// </summary> public string mch_appid { get; set; } /// <summary> /// 微信支付分配的終端設(shè)備號(hào) /// </summary> public string device_info { get; set; } /// <summary> /// 商戶使用查詢API填寫的單號(hào)的原路返回. /// </summary> public string partner_trade_no { get; set; } /// <summary> /// 企業(yè)付款成功,返回的微信訂單號(hào) /// </summary> public string payment_no { get; set; } /// <summary> /// 企業(yè)付款成功時(shí)間 /// </summary> public string payment_time { get; set; } }
企業(yè)付款的API實(shí)現(xiàn)和前面兩種紅包的處理方式 差不多,一個(gè)是傳入常規(guī)的賬號(hào)信息,一個(gè)是傳入業(yè)務(wù)參數(shù),然后提交獲取結(jié)果即可,具體代碼如下所示。
/// <summary> /// 企業(yè)付款(請(qǐng)求需要雙向證書) /// 企業(yè)付款業(yè)務(wù)是基于微信支付商戶平臺(tái)的資金管理能力,為了協(xié)助商戶方便地實(shí)現(xiàn)企業(yè)向個(gè)人付款, /// 針對(duì)部分有開發(fā)能力的商戶,提供通過API完成企業(yè)付款的功能。 比如目前的保險(xiǎn)行業(yè)向客戶退保、給付、理賠。 /// 企業(yè)付款將使用商戶的可用余額,需確保可用余額充足。查看可用余額、充值、提現(xiàn)請(qǐng)登錄商戶平臺(tái)“資金管理”進(jìn)行操作。https://pay.weixin.qq.com/ /// 注意:與商戶微信支付收款資金并非同一賬戶,需要單獨(dú)充值。 /// </summary> /// <param name="json">企業(yè)支付數(shù)據(jù)</param> /// <returns></returns> public CorpPayResult CorpPay(CorpPayJson json) { CheckAccount();//檢查AccountInfo的對(duì)象屬性值 WxPayData data = new WxPayData(); data.SetValue("mch_appid", AccountInfo.UniteAppId);//公眾賬號(hào)appid, 注意是mch_appid,而非wxappid data.SetValue("mchid", AccountInfo.MchID);//商戶號(hào), 注意是mchid而非mch_id data.SetValue("nonce_str", data.GenerateNonceStr());//隨機(jī)字符串 data.SetValue("spbill_create_ip", NetworkUtil.GetIPAddress());//終端ip data.SetValue("partner_trade_no", data.GenerateOutTradeNo(AccountInfo.MchID));//隨機(jī)字符串 data.SetValue("device_info", json.device_info);//終端ip data.SetValue("openid", json.openid); data.SetValue("check_name", json.check_name); data.SetValue("re_user_name", json.re_user_name); data.SetValue("amount", json.amount); data.SetValue("desc", json.desc); data.SetValue("sign", data.MakeSign(AccountInfo.PayAPIKey));//最后生成簽名 var url = string.Format("https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"); return Helper.GetPayResultWithCert<CorpPayResult>(data, url, AccountInfo.CertPath, AccountInfo.CertPassword); }
接口定義及實(shí)現(xiàn)好后,我們可以在項(xiàng)目中對(duì)API進(jìn)行調(diào)用測試,具體代碼如下所示
CorpPayJson json = new CorpPayJson() { amount = 100, check_name = PayCheckName.FORCE_CHECK.ToString(), desc = "測試退款", openid = this.openId, device_info = "", re_user_name = "伍華聰", spbill_create_ip = NetworkUtil.GetIPAddress() }; var result = api.CorpPay(json); var message = string.Format("企業(yè)直接付款:{0} {1}", result.Success ? "成功" : "失敗", result.Message); Console.WriteLine(message); Console.WriteLine(result.ToJson());
付款操作成功后,我們可以看到這個(gè)錢是直接到用戶錢包里面去的,而且我們也可以在商戶后臺(tái)進(jìn)行記錄的查看,可以看到對(duì)應(yīng)的記錄。
?
?更多C# développe le portail WeChat et applique lopération demballage des paiements dentreprise de paiement WeChat相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!
?

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)