2025年6月8日 星期日 乙巳(蛇)年 三月十二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > PHP

宇润 PaySDK 无依赖轻量级 PHP 集成支付 SDK

时间:12-14来源:作者:点击数:8

PaySDK 是 PHP 集成支付 SDK ,集成了支付宝、微信支付的支付接口和其它相关接口的操作。

无框架依赖,支持所有框架,支持 Swoole 协程环境。

支持的支付接口

支付宝

  • 即时到账-电脑网站支付(老)
  • 即时到账-手机网站支付(老)
  • 当面付
  • 手机网站支付
  • 电脑网站支付
  • APP支付服务端
  • 小程序支付
  • 单笔转账到支付宝账户
  • 海外支付(电脑网站、手机网站、APP、扫码)
  • 海关报关
  • 其它辅助交易接口(退款、查询等)

微信支付

  • 刷卡支付
  • 公众号支付
  • 扫码支付
  • APP支付
  • H5支付
  • 小程序支付
  • 企业付款到零钱
  • 企业付款到银行卡
  • 海外支付(刷卡、公众号、扫码、APP)
  • 海关报关
  • 其它辅助交易接口(退款、查询等)

安装

在您的composer.json中加入配置:

PHP >= 5.5

  • {
  • "require": {
  • "yurunsoft/pay-sdk": "~3.0"
  • }
  • }

PHP >= 5.4

  • {
  • "require": {
  • "yurunsoft/pay-sdk": "~2.0"
  • }
  • }

3.x 版本支持 PHP >= 5.5,持续迭代维护中

2.x 版本支持 PHP >= 5.4,支持长期 BUG 维护,保证稳定可用,停止功能性更新

然后执行composer update命令。

代码示例

支付宝即时到账

  • // SDK实例化,传入公共配置
  • $pay = new \Yurun\PaySDK\Alipay\SDK($params);
  • // 支付接口
  • $request = new \Yurun\PaySDK\Alipay\Params\Pay\Request;
  • $request->notify_url = ''; // 支付后通知地址(作为支付成功回调,这个可靠)
  • $request->return_url = ''; // 支付后跳转返回地址
  • $request->businessParams->seller_id = $GLOBALS['PAY_CONFIG']['appid']; // 卖家支付宝用户号
  • $request->businessParams->out_trade_no = 'test' . mt_rand(10000000,99999999); // 商户订单号
  • $request->businessParams->total_fee = 0.01; // 价格
  • $request->businessParams->subject = '测试商品'; // 商品标题
  • // 跳转到支付页面
  • // $pay->redirectExecute($request);
  • // 获取跳转url
  • $pay->prepareExecute($request, $url);
  • var_dump($url);

支付宝手机网站支付

  • // SDK实例化,传入公共配置
  • $pay = new \Yurun\PaySDK\AlipayApp\SDK($params);
  • // 支付接口
  • $request = new \Yurun\PaySDK\AlipayApp\Wap\Params\Pay\Request;
  • $request->notify_url = ''; // 支付后通知地址(作为支付成功回调,这个可靠)
  • $request->return_url = ''; // 支付后跳转返回地址
  • $request->businessParams->out_trade_no = 'test' . mt_rand(10000000,99999999); // 商户订单号
  • $request->businessParams->total_amount = 0.01; // 价格
  • $request->businessParams->subject = '小米手机9黑色陶瓷尊享版'; // 商品标题
  • // 跳转到支付页面
  • // $pay->redirectExecute($request);
  • // 获取跳转url
  • $pay->prepareExecute($request, $url);
  • var_dump($url);

微信H5支付

  • // SDK实例化,传入公共配置
  • $pay = new \Yurun\PaySDK\Weixin\SDK($params);
  • // 支付接口
  • $request = new \Yurun\PaySDK\Weixin\H5\Params\Pay\Request;
  • $request->body = 'test'; // 商品描述
  • $request->out_trade_no = 'test' . mt_rand(10000000,99999999); // 订单号
  • $request->total_fee = 1; // 订单总金额,单位为:分
  • $request->spbill_create_ip = '127.0.0.1'; // 客户端ip
  • $request->notify_url = ''; // 异步通知地址
  • // 调用接口
  • $result = $pay->execute($request);
  • if($pay->checkResult())
  • {
  • // 跳转支付界面
  • header('Location: ' . $result['mweb_url']);
  • }
  • else
  • {
  • var_dump($pay->getErrorCode() . ':' . $pay->getError());
  • }
  • exit;

Swoole 协程环境支持

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

主流框架的 Request 和 Response 对象,一般都遵循 PSR-7 标准,可以直接使用。

imi 框架中使用

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

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

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

  • /**
  • * 这是一个在控制器中的动作方法
  • * @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);
  • // 这句话必须填写
  • return $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;
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐