内容简介:PaySDK 是 PHP 集成支付 SDK ,集成了支付宝、微信支付的支付接口和其它相关接口的操作。可以轻松嵌入支持 PHP >= 5.4 的任何系统中,2.0 版现已支持 Swoole 协程环境。 我们有完善的在线技术文档:http://doc.yu...
PaySDK 是 PHP 集成支付 SDK ,集成了支付宝、微信支付的支付接口和其它相关接口的操作。可以轻松嵌入支持 PHP >= 5.4 的任何系统中,2.0 版现已支持 Swoole 协程环境。
我们有完善的在线技术文档:http://doc.yurunsoft.com/PaySDK
API 文档:https://apidoc.gitee.com/yurunsoft/PaySDK
大家在开发中肯定会对接各种各样的支付平台,我个人精力有限,欢迎各位来提交 PR (码云/Github),一起完善 PaySDK ,让它能够支持更多的支付平台,更加好用。
更新日志(v2.1.0)
- 优化 Swoole 环境下使用体验,支持 PSR-7 标准的 Request 和 Response
Swoole 协程环境支持
在 WorkerStart
事件中加入:
\Yurun\Util\YurunHttp::setDefaultHandler('Yurun\Util\YurunHttp\Handler\Swoole');
在支付、退款异步通知中,需要赋值 Swoole
的 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); // 这句话必须填写 $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;
支持的支付接口
支付宝
-
即时到账-电脑网站支付(老)
-
即时到账-手机网站支付(老)
-
当面付
-
手机网站支付
-
电脑网站支付
-
APP支付服务端
-
单笔转账到支付宝账户
-
海外支付(电脑网站、手机网站、APP、扫码)
-
海关报关
-
其它辅助交易接口(退款、查询等)
微信支付
-
刷卡支付
-
公众号支付
-
扫码支付
-
APP支付
-
H5支付
-
小程序支付
-
企业付款到零钱
-
企业付款到银行卡
-
海外支付(刷卡、公众号、扫码、APP)
-
海关报关
-
其它辅助交易接口(退款、查询等)
安装
在您的composer.json中加入配置:
{ "require": { "yurunsoft/pay-sdk": "~2.1" } }
然后执行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);
支付宝手机网站支付
// 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);
微信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;
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Erupt Framework 1.5.5 发布,全面兼容 PostgreSQL,通用后台管理框架
- 伯克利AI分布式框架Ray,兼容TensorFlow、PyTorch与MXNet
- PHP 框架 QueryPHP 1.0.3 发布,兼容 PHP 8.0 和 PHP 8.1
- PHP升级代码兼容
- 记一次兼容处理经历
- 聊聊flink如何兼容StormTopology
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++语言的设计和演化
[美] Bjarne Stroustrup / 裘宗燕 / 机械工业出版社 / 2002-1 / 48.00元
这本书是C++的设计者关于C++语言的最主要著作之一。作者综合性地论述了C++的历史和发展,C++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了C++所适合的应用领域及其未来的发展前景。一起来看看 《C++语言的设计和演化》 这本书的介绍吧!