All Projects → KevinWG → Oss.clients.pay

KevinWG / Oss.clients.pay

Licence: apache-2.0
开源支付SDK(标准库),主要打造微信支付,支付宝支付,标准库项目,同时支持.net framework和.net core

Projects that are alternatives of or similar to Oss.clients.pay

Paylink
Paylink 是基于 .NET Core 、 ASP.NET Core 开发的支付SDK集,它极大简化了API调用及通知的处理流程。
Stars: ✭ 947 (+201.59%)
Mutual labels:  payment, alipay
Icanpay
ICanPay是一个简单易用的支付平台支付处理类库,目前支持的支付平台有:支付宝(Alipay)、微信支付(WeChatPay)、财付通(Tenpay)、易宝(Yeepay)。
Stars: ✭ 136 (-56.69%)
Mutual labels:  payment, alipay
Alipay Api Php
A concise library in PHP for the Alipay API merchant account.
Stars: ✭ 47 (-85.03%)
Mutual labels:  payment, alipay
Ijpay
IJPay 让支付触手可及,封装了微信支付、QQ支付、支付宝支付、京东支付、银联支付、PayPal 支付等常用的支付方式以及各种常用的接口。不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。右上角点下小星星✨
Stars: ✭ 3,561 (+1034.08%)
Mutual labels:  payment, alipay
Sdk3rd
第三方SDK集成库,授权/分享/支付
Stars: ✭ 249 (-20.7%)
Mutual labels:  payment, alipay
Laravel Pay
可能是我用过的最优雅的 Alipay 和 WeChat 的 laravel 支付扩展包了
Stars: ✭ 856 (+172.61%)
Mutual labels:  payment, alipay
Hsweb Payment
基于hsweb的开源聚合支付系统,多商户,多渠道,多配置.
Stars: ✭ 112 (-64.33%)
Mutual labels:  payment, alipay
Gopay
golang支付:微信公众号,微信app,微信小程序,微信企业支付,支付宝网页版,支付宝app,支付宝企业支付
Stars: ✭ 313 (-0.32%)
Mutual labels:  payment, alipay
Omnipay Pingpp
A Ping++ driver for the Omnipay PHP payment processing library. 一个聚合了支付宝(APP、Wap、PC、即时到账、扫码、企业付款),微信(APP、公众号、红包), 银联网关、银联企业网银、Apple Pay、QQ 钱包、易宝支付、百度钱包、京东支付、京东白条、招行一网通、分期支付等国内主流支付渠道的聚合支付网关(Ping++, also known as Pingpp/Pingxx/Pingplusplus)
Stars: ✭ 227 (-27.71%)
Mutual labels:  payment, alipay
Payment
Payment是php版本的支付聚合第三方sdk,集成了微信支付、支付宝支付、招商一网通支付。提供统一的调用接口,方便快速接入各种支付、查询、退款、转账能力。服务端接入支付功能,方便、快捷。
Stars: ✭ 2,293 (+630.25%)
Mutual labels:  payment, alipay
Omnipay Alipay
Alipay driver for the Omnipay PHP payment processing library
Stars: ✭ 559 (+78.03%)
Mutual labels:  payment, alipay
payjs
基于 PAYJS 微信支付个人接口开发的 Package,可直接用于生产环境
Stars: ✭ 73 (-76.75%)
Mutual labels:  payment, alipay
Pay
个人网站即时到账收款解决方案 / Personal website instant payment solution
Stars: ✭ 558 (+77.71%)
Mutual labels:  payment, alipay
java-pay
微信支付宝App、小程序、扫码支付、退款、提现案例
Stars: ✭ 40 (-87.26%)
Mutual labels:  payment, alipay
Pay
可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了
Stars: ✭ 4,176 (+1229.94%)
Mutual labels:  payment, alipay
Payment
支付宝支付、银联支付、微信支付、paypal、苹果内购支付
Stars: ✭ 48 (-84.71%)
Mutual labels:  payment, alipay
Gopay
golang语言实现的支付模块,支持支付宝app,支付宝网页版,微信app,微信公众号支付
Stars: ✭ 151 (-51.91%)
Mutual labels:  payment, alipay
CGYPay
统一支付接口(仅供参考)
Stars: ✭ 13 (-95.86%)
Mutual labels:  payment, alipay
QSPay
😀安卓一行代码☕搞定微信支付、支付宝支付、银联支付
Stars: ✭ 28 (-91.08%)
Mutual labels:  payment, alipay
SSLCommerz-Laravel
SSLCOMMERZ is a bangladeshi payment gateway provider. This is Laravel Library for SSLCOMMERZ.
Stars: ✭ 66 (-78.98%)
Mutual labels:  payment

快速了解

OSS支付SDK,主要打造微信支付,支付宝支付,以及其他银行支付接口标准库项目
此项目以标准库的形式提供服务,也就是可以同时支持.Net Framework(4.6及以上版本) 和 .Net Core

如果有问题,也可以在公众号(osscore)中提问:

osscore

OSS.PayCenter 使用

一. 安装使用

   nuget下安装命令:Install-Package OSS.Clients.Pay.WX (微信支付 nuget下安装命令:Install-Package OSS.Clients.Pay.Ali (支付宝支付

二. 调用示例

  1. 微信调用示例:
// 声明配置
private static WXPayCenterConfig config= new WXPayCenterConfig()
{
    AppId = "xxxxxxxxxx",
    MchId = "xxxxxxxxxx",
    Key = "xxxxxxxxxx",
    AppSecret = "xxxxxxxxxx",

    CertPassword = "xxxxxxxxxx",
    CertPath = "cert/xxxxxxxxxx.p12"   
};
//  公众号调用示例
private static WXPayTradeApi _api=new WXPayTradeApi(config);

public async Task<IActionResult> GetJsPayInfo()
{
    var order = new WXAddPayUniOrderReq
    {
        notify_url = "http://你的域名/wxpay/receive",
        body = "OSSCoder-测试商品",
        device_info = "WEB",
        openid = "oldRAw-Wu4eOD5CVPWeWVDOvhRbo",
        out_trade_no = "123456789",
        spbill_create_ip = "114.242.25.208",
        total_fee = 1,
        trade_type = "JSAPI"
    };
    
    var orderRes=await _api.AddUniOrderAsync(order);
    if (!orderRes.IsSuccess()) return Json(orderRes);

    var jsPara = _api.GetJsClientParaResp(orderRes.prepay_id);
    return Json(jsPara);
}
public IActionResult receive()
{
    string strPayResult;
    using (var streamReader = new StreamReader(Request.Body))
    {
        strPayResult = streamReader.ReadToEnd();
    }
    var payRes = _api.DecryptTradeResult(strPayResult);
    // to do something with payRes
    var returnXml = _api.GetCallBackReturnXml(new Resp());
    return Content(returnXml);
}
  1. 支付宝调用示例
 private static string privateKey = "自定义私钥";
 private static string publicKey = "支付宝提供的公钥";

protected static ZPayCenterConfig ZPayConfig { get; set; } = new ZPayCenterConfig()
{
    AppSource = "1",
    AppId = "xxxxxxxxxx",
    AppPrivateKey = privateKey,
    AppPublicKey = publicKey
};

protected static ZPayTradeApi zPayApi = new ZPayTradeApi(ZPayConfig);

public async Task<IActionResult> ZPay(PayOrderMo order)
{
    string orderNum = DateTime.Now.ToString("yyyyMMddHHmmss");

    var payReq = new ZAddPreTradeReq("http://pay.sample.osscore.com/base/ZCallBack");

    payReq.body = order.order_name;
    payReq.out_trade_no = orderNum;
    payReq.total_amount = order.order_price;
    payReq.subject = order.order_name;

    var res =await zPayApi.AddPreTradeAsync(payReq);
    return Json(res);
}

三. 注意事项

因为底层接口使用了Task返回,在.Net Framework MVC项目中如果你的在action中通过 Result或者wait等方式,直接返回ActionResult对象,界面会出现假死状态,解决方案:
1. action 返回类型 ActionResult 修改为 async Task<ActionResult>, 全程异步
2. 将异步调用方法 通过 var task=  Task.Run(()=> 异步方法 )返回异步对象,再使用task.Result即可
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].