132 Star 518 Fork 140

宇润 / PaySDK

2021-04-09 14:26
105007 yurunsoft 1578917691 宇润
  • 支持微信 V3 接口签名、验签,新增 V3 证书下载接口

  • 增加微信分账接口,微信 V3 通知处理

  • 增加接口返回错误的异常抛出

  • 优化时间戳获取,不再需要将默认时区设为北京时间

  • 微信支付新增 receipt、profit_sharing 参数

  • 修复因微信命名不规范导致的各种字段名问题

2019-11-20 10:16
105007 yurunsoft 1578917691 宇润
  • 修复 PSR-7 Response 设置响应内容问题

  • 修正支付宝 app 支付的错误用法示例

2019-11-18 16:15
105007 yurunsoft 1578917691 宇润
  • 优化 Swoole 环境下使用体验,支持 PSR-7 标准的 Request 和 Response

Swoole 协程环境支持

WorkerStart 事件中加入:

\Yurun\Util\YurunHttp::setDefaultHandler('Yurun\Util\YurunHttp\Handler\Swoole');

在支付、退款异步通知中,需要赋值 SwooleRequestResponse 对象,或者遵循 PSR-7 标准的对象即可。

imi 框架中使用

imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。

在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。

imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

https://www.imiphp.com/

/**
 * 这是一个在控制器中的动作方法
 * @Action
 */
public function test()
{
    $payNotify = new class extends \Yurun\PaySDK\Weixin\Notify\Pay
    {
        /**
         * 后续执行操作
         * @return void
         */
        protected function __exec()
        {

        }
    };
    $context = RequestContext::getContext();
    // 下面两行很关键
    $payNotify->swooleRequest = $context['request'];
    $payNotify->swooleResponse = $context['response'];

    $sdk->notify($payNotify);

    // 这句话必须填写
    $context['response'] = $payNotify->swooleResponse;
}

其它框架(Swoole 对象)

$payNotify = new class extends \Yurun\PaySDK\Weixin\Notify\Pay
{
    /**
     * 后续执行操作
     * @return void
     */
    protected function __exec()
    {

    }
};
// 下面两行很关键,$request、$response 从 request 中获取
// 或者查阅如何从你使用的框架中获取
$payNotify->swooleRequest = $request;
$payNotify->swooleResponse = $response;

$sdk->notify($payNotify);

其它框架(PSR-7 对象)

$payNotify = new class extends \Yurun\PaySDK\Weixin\Notify\Pay
{
    /**
     * 后续执行操作
     * @return void
     */
    protected function __exec()
    {

    }
};
// 目前主流 Swoole 基本都支持 PSR-7 标准的对象
// 所以可以直接传入,如何获取请查阅对应框架的文档
$payNotify->swooleRequest = $request;
$payNotify->swooleResponse = $response;

$sdk->notify($payNotify);

// 处理完成后需要将 $response 从控制器返回或者赋值给上下文
// 不同框架的操作不同,请自行查阅对应框架的文档
return $payNotify->swooleResponse;
最后提交信息为: 更新说明
2019-05-23 15:49
2019-05-13 13:59
105007 yurunsoft 1578917691 宇润
  • 修复错误等级包括E_STRICT时的错误信息 Deprecated: Non-static method xxx::toString() should not be called statically
2019-05-13 10:23
105007 yurunsoft 1578917691 宇润
  • 修复 Cannot access parent:: when current class scope has no parent
2019-04-17 09:24
105007 yurunsoft 1578917691 宇润
  • 修复 Yurun\PaySDK\Weixin\Params\Detail 对 goods_detail 没有正确处理的问题
最后提交信息为: 更新README.md
2018-07-09 09:11
2018-07-04 16:43
105007 yurunsoft 1578917691 宇润
  • 修复XXE漏洞,PHP 5.4 用户强烈建议升级!
最后提交信息为: Merge branch 'dev'
2018-05-16 12:42
105007 yurunsoft 1578917691 宇润
  • 修正微信支付-APP支付-客户端所需信息nonce_str改为noncestr
最后提交信息为: Merge branch 'dev'
2018-04-13 16:41
105007 yurunsoft 1578917691 宇润

修复微信退款异步通知验证问题,现在传入不正确的参数,不会进入__exec()方法

2018-02-09 10:00
105007 yurunsoft 1578917691 宇润
  • 修复微信异步通知验证问题

  • 去除微信异步通知返回的签名

最后提交信息为: 修复微信异步通知验证问题
2018-02-08 11:15
2018-02-02 14:54
105007 yurunsoft 1578917691 宇润
  • 新增支持支付宝手机网站即时到账支付接口
  • 新增支持无密退款接口
最后提交信息为: 更新demo
2018-01-15 15:15
105007 yurunsoft 1578917691 宇润

新增签名验签自动处理证书内容格式,统一转为换行格式,防止部分环境报错问题

2017-12-11 08:46
105007 yurunsoft 1578917691 宇润

修复iOS下微信支付提示调用JSAPI缺少参数timeStamp的问题

修正php版本支持为 >= 5.4

最后提交信息为: 修改timeStamp为字符串类型
2017-11-27 15:37
105007 yurunsoft 1578917691 宇润
  • 新增微信内H5调起支付所需参数的Request类
  • 修正SplitFundInfo类没有任何属性的问题
  • 完善注释、修正一些注释错误
最后提交信息为: 修正注释问题
2017-11-24 14:51
105007 yurunsoft 1578917691 宇润
  • 新增支持支付宝企业转账到支付宝账户、海外支付(电脑网站、手机网站、APP、扫码)、海关报关

  • 新增支持微信企业付款到零钱、企业付款到银行卡、海外支付(刷卡、公众号、扫码、APP)、海关报关

  • 修正签名方法命名

  • 将微信企业付款接口强制设为使用MD5签名,因为微信只支持MD5

  • 更新微信h5支付demo

  • 调整微信通知写法

  • 调整通知不合法提示

  • 调整微信异步通知处理实现、修复BUG

  • 优化代码

最后提交信息为: 更新README.md
PHP
1
https://gitee.com/yurunsoft/PaySDK.git
git@gitee.com:yurunsoft/PaySDK.git
yurunsoft
PaySDK
PaySDK

搜索帮助