1. 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.
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.
Lien de l'interface : https:/ / /api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
Les demandes nécessitent un certificat bidirectionnel. Le certificat détaillé utilise les
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>节日快乐!</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> /// 企业付款(请求需要双向证书) /// 企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向个人付款, /// 针对部分有开发能力的商户,提供通过API完成企业付款的功能。 比如目前的保险行业向客户退保、给付、理赔。 /// 企业付款将使用商户的可用余额,需确保可用余额充足。查看可用余额、充值、提现请登录商户平台“资金管理”进行操作。https://pay.weixin.qq.com/ /// 注意:与商户微信支付收款资金并非同一账户,需要单独充值。 /// </summary> /// <param name="json">企业支付数据</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> /// 企业付款的数据信息 /// </summary> public class CorpPayJson { public CorpPayJson() { this.check_name = "FORCE_CHECK"; } /// <summary> /// 微信支付分配的终端设备号 /// </summary> public string device_info { get; set; } /// <summary> /// 用户openid /// </summary> public string openid { get; set; } /// <summary> /// 校验用户姓名选项,可以使用 PayCheckName枚举对象获取名称 /// NO_CHECK:不校验真实姓名 /// FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账) /// OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功) /// </summary> public string check_name { get; set; } /// <summary> /// 收款用户真实姓名。 /// 如果check_name设置为FORCE_CHECK或OPTION_CHECK,则必填用户真实姓名 /// </summary> public string re_user_name { get; set; } /// <summary> /// 企业付款金额,单位为分 /// </summary> public int amount { get; set; } /// <summary> /// 企业付款操作说明信息。必填。 /// </summary> public string desc { get; set; } /// <summary> /// 调用接口的机器Ip地址 /// </summary> public string spbill_create_ip { get; set; } }
/// <summary> /// 企业付款操作的返回结果 /// </summary> public class CorpPayResult : PayResult { /// <summary> /// 微信分配的公众账号ID(企业号corpid即为此appId) /// </summary> public string mch_appid { get; set; } /// <summary> /// 微信支付分配的终端设备号 /// </summary> public string device_info { get; set; } /// <summary> /// 商户使用查询API填写的单号的原路返回. /// </summary> public string partner_trade_no { get; set; } /// <summary> /// 企业付款成功,返回的微信订单号 /// </summary> public string payment_no { get; set; } /// <summary> /// 企业付款成功时间 /// </summary> public string payment_time { get; set; } }
企业付款的API实现和前面两种红包的处理方式 差不多,一个是传入常规的账号信息,一个是传入业务参数,然后提交获取结果即可,具体代码如下所示。
/// <summary> /// 企业付款(请求需要双向证书) /// 企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向个人付款, /// 针对部分有开发能力的商户,提供通过API完成企业付款的功能。 比如目前的保险行业向客户退保、给付、理赔。 /// 企业付款将使用商户的可用余额,需确保可用余额充足。查看可用余额、充值、提现请登录商户平台“资金管理”进行操作。https://pay.weixin.qq.com/ /// 注意:与商户微信支付收款资金并非同一账户,需要单独充值。 /// </summary> /// <param name="json">企业支付数据</param> /// <returns></returns> public CorpPayResult CorpPay(CorpPayJson json) { CheckAccount();//检查AccountInfo的对象属性值 WxPayData data = new WxPayData(); data.SetValue("mch_appid", AccountInfo.UniteAppId);//公众账号appid, 注意是mch_appid,而非wxappid data.SetValue("mchid", AccountInfo.MchID);//商户号, 注意是mchid而非mch_id data.SetValue("nonce_str", data.GenerateNonceStr());//随机字符串 data.SetValue("spbill_create_ip", NetworkUtil.GetIPAddress());//终端ip data.SetValue("partner_trade_no", data.GenerateOutTradeNo(AccountInfo.MchID));//随机字符串 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); }
接口定义及实现好后,我们可以在项目中对API进行调用测试,具体代码如下所示
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("企业直接付款:{0} {1}", result.Success ? "成功" : "失败", result.Message); Console.WriteLine(message); Console.WriteLine(result.ToJson());
付款操作成功后,我们可以看到这个钱是直接到用户钱包里面去的,而且我们也可以在商户后台进行记录的查看,可以看到对应的记录。
更多C# développe le portail WeChat et applique lopération demballage des paiements dentreprise de paiement WeChat相关文章请关注PHP中文网!