内容简介: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;
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Writing Windows VxDs and Device Drivers, Second Edition
Karen Hazzah / CMP / 1996-01-12 / USD 54.95
Software developer and author Karen Hazzah expands her original treatise on device drivers in the second edition of "Writing Windows VxDs and Device Drivers." The book and companion disk include the a......一起来看看 《Writing Windows VxDs and Device Drivers, Second Edition》 这本书的介绍吧!