微信企业付款给个人零钱
使用盛派开发的sdk :nuget地址 senparc.weixin.mp.dll
盛派sdk地址:https://weixin.senparc.com/
盛派SDK github 地址:https://github.com/JeffreySu/WeiXinMPSDK
企业付款API
使用接口:
TenPayV3.Transfers(TenPayV3TransfersRequestData dataInfo, string cert, string certPassword, int timeOut = Config.TIME_OUT)
TenPayV3TransfersRequestData 类是对一系列查询参数的封装,最后转换成XML格式
cert 证书存放的绝对路径
certPassword 秘钥
timeout 超时时间
返回结果
类型:TransfersResult
TenPayV3TransfersRequestData(string mchAppid, string mchId, string deviceInfo, string nonceStr, string outTradeNo, string openId, string key, string checkName, string reUserName, decimal amount, string desc, string spbillCreateIP)
其中的参数
参数 | 类型 | 备注 | 是否必须 |
mchAppid | string | 公众号appid | |
mchId | string | 商户号 | |
deviceInfo | string | 设备号 | 否 |
nonceStr | string | 随机字符串 | |
outTradeNo | string | 商户订单号 | |
openId | string | 用户openid | |
key | string | api密钥 | |
checkName | string | 校验用户名选项 | NO_CHECK:不校验真实姓名 FORCE_CHECK:强校验真实姓名 |
reUserName | string | 收款用户姓名 |
可选 收款用户真实姓名。 |
amount | decimal | 金额 | |
desc | string | 描述 | |
spbillCreateIP | string | 用户ip |
TransfersResult 返回类型
返回值 | 描述 |
err_code | 错误代码 |
err_code_des | 错误代码描述 |
result_code | 返回业务结果 |
result_code | 设备号 |
mch_appid | 商户appid |
nonce_str | 随机字符串 |
partner_trade_no | 商户订单号 |
payment_no | 微信订单号 |
payment_time | 微信支付成功时间 |
实现代码如下
//获取配置信息 string appId = "appid"; string MCHID = "商户号"; //获取随机字符串 string nonceStr = JSSDKHelper.GetNoncestr();//利用sdk jssdkhelper类获取随机字符串方法 //获取商户订单号 string partner_trade_no = WxPayApi.GenerateOutTradeNo();//利用wxpayapi 下生成的随机字符串 //用户openIDstring openid = "用户openid"; //api密钥 string key ="api密钥";
//用户真实姓名string reUserName = "";//可填/可不填 //金额 decimal amount = 自己设定; //描述 string desc = "描述信息"; //获取提现用户ip地址 string ip = HttpContext.Current.Request.UserHostAddress; TenPayV3TransfersRequestData data = new TenPayV3TransfersRequestData(appId, MCHID, "设备号(可为空)", nonceStr, partner_trade_no, openid, key, "NO_CHECK(两个参数可选)", reUserName, amount, desc, ip);
//获取证书路径 string cert = Server.MapPath("证书路径"); TransfersResult result = TenPayV3.Transfers(data, cert, "cert密码", 10000);
//接受微信返回的信息 string IsSuccess = result.result_code;
if (IsSuccess == "SUCCESS")
{ //执行逻辑操作 }
else
{
}