简介
RsCode.Payment软商网络开发的第三方支付平台SDK,使用.net技术开发,帮助应用快速接入支付系统
支持多个商户号同时支付
快速入门
引用
RsCode.Payment.Tenapy.dll
或RsCode.Payment.Alipay.dll
在项目根目录下创建pay.json文件,内容如下
pay.json配置
{ "Default": { "TenpayMchId": "1604955852", //默认使用的微信商户号 "AppId": "wx7c829604a62b02e8" //默认使用的appid }, "Payment": [ { "PaymentChannel": 1, "PaymentStatus": true, "MchType": 0, "MchId": "16042", "Rate": 1.0, //支付费率 "APIKey": "geyu223j22wqva", "APIKeyV3": "ghue28437ncjp2ucndjf7", "PublicKeyCertPath": "cert/160492/apiclient_cert.p12", "PrivateKeyCertPath": "cert/162/apiclient_cert.p12", "CertPassword": "1604", "NotifyUrl": "/tenpay/notify" }, { "PaymentChannel": 1, "PaymentStatus": true, "MchType": 0, "MchId": "1425162102", "Rate": 1.0, "APIKey": "xduiesuwxst3", "APIKeyV3": "hnrswlmp389e2", "PublicKeyCertPath": "cert/142512/apiclient_cert.p12", "PrivateKeyCertPath": "cert/1425102/apiclient_cert.p12", "CertPassword": "142512", "pay_platform_cert_path": "/", "pay_platform_cert": "", "NotifyUrl": "/tenpay/notify/v2" } ], "App": [ { "AppId": "wx4d99cd", "MchId": "1487", "Token": "", "AppSecret": "ab54daa9", "PayChannel": "1", "Description": "weihuo mp", "AppType": 1 } ], "AuthKey": [ { "id": "1-c791674b611e", "create_date": "2020年04月02日 22:47:40", "authkey": "c9a9e5ccaabfdc" } ] }
配置支付参数
调用支付
ITenpayClient tenpay; public Demo(IEnumerable<ITenpayClient> _tenpay) { tenpay = _tenpay.FirstOrDefault(p => p.Ver == "3") ; } public void ff(){ var options= tenpay.UseMchId("mchid") // tenpay.SendAsync<>() }
实例代码
public class Service
{
ITenpayClient tenpay; //微信支付客户端
IAlipayClient alipay; //支付宝客户端
public Service(ITenpayClient _tenpay,IAlipayClient _alipay)
{
tenpay=_tenpay;
//设置支付api版本
tenpay = _tenpay.FirstOrDefault(p => p.Ver == "2");
alipay=_alipay;
}
public async Task TestPay()
{
//使用支付配置
tenpay.UseMchId(mchId);
var redpack = new RedpacketSendRequest(info.OrderNo,
options.MchId,
"软商网络",
appId,
info.OpenId,
"感谢您参与优惠活动",
"优惠活动",
"参与越多得越多",
0 - info.WidthdrawalAmount,
"PRODUCT_2"
);
var ret = await tenpay.SendAsync<RedpacketSendResponse>(redpack);
}
}
实例项目
交易宝收款软件是使用这个库进行开发的应用
PC网站 时,可以显示二维码 两种做法: 1.使用jsapi接口,公众号支付时使用 订单创建后,在业务服务器完成预支付信息,生成二维码图片返给前端,前端显示图片 ;
2.native接口,PC端直接支付时使用 订单创建后,请求native接口,它返回微信支付的字符串,由前端生成二维码图片并显示
名词解释
支付场景(pay_scene)
app发起支付的场景,取值范围 1jsapi 2app 3 native
支付渠道(pay_channel)
第三方支付信息 取值范围 1微信 2支付宝
支付客户端
以应用为单位,系统为应用分配唯一的clientId 每个应用只能对应一种支付场景 每个clientId可以分配多个商户号
注意事项
pay.json 证书使用p12证书 相对网站的路径 例 cert/apicert.p12
支付回调地址 可以添加上商户号 例: tenpay/notify/mchId
其它
微信支付请求客户端,分两个版本: TenpayClient
TenpayClientV3
默认情况下,直接注入ITenpayClient client
使用V3版本的微信支付 调用支付 client.UseMchId(mchId); 发送业务请求 client.SendAsync<TenpayBaseResponse>(TenpayBaseRequest quest,certSerialNo)
certSerialNo为本请求使用的证书序列号,不写时,使用p12证书序列号
使用v2版本的微信支付API,注入IEnumerable<ITenpayClient> tenpayClients
ITenpayClient tenpay = tenpayClients.FirstOrDefault(x => x.Ver == "2");
微信支付业务
开通条件
商家开通微信支付条件:
注册成为微信支付商家并完成登录 注册地址 https://pay.weixin.qq.com
打开产品中心-开发配置-JSAPI支付-添加支付目录授权
打开产品中心-Appid账号管理-关联AppId
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_3
服务商分账
特约商户开通分账功能
服务商发起邀请 产品中心--特约商户授权产品--服务商分账 特约商户列表 选择商户,发起邀请