<h1 align="center">Pay</h1>
<p align="center">
<a href="https://styleci.io/repos/100355112"><img src="https://styleci.io/repos/100355112/shield?branch=master" alt="StyleCI"></a>
<a href="https://scrutinizer-ci.com/g/yansongda/pay/?branch=master"><img src="https://scrutinizer-ci.com/g/yansongda/pay/badges/quality-score.png?b=master" alt="Scrutinizer Code Quality"></a>
<a href="https://scrutinizer-ci.com/g/yansongda/pay/build-status/master"><img src="https://scrutinizer-ci.com/g/yansongda/pay/badges/build.png?b=master" alt="Build Status"></a>
<a href="https://packagist.org/packages/yansongda/pay"><img src="https://poser.pugx.org/yansongda/pay/v/stable" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/yansongda/pay"><img src="https://poser.pugx.org/yansongda/pay/downloads" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/yansongda/pay"><img src="https://poser.pugx.org/yansongda/pay/v/unstable" alt="Latest Unstable Version"></a>
<a href="https://packagist.org/packages/yansongda/pay"><img src="https://poser.pugx.org/yansongda/pay/license" alt="License"></a>
</p>
开发了多次支付宝与微信支付后,很自然产生一种反感,惰性又来了,想在网上找相关的轮子,可是一直没有找到一款自己觉得逞心如意的,要么使用起来太难理解,要么文件结构太杂乱,只有自己撸起袖子干了。
**说明,请先熟悉支付宝说明文档!!**
欢迎 Star,欢迎 PR!
laravel 扩展包请 [传送至这里](https://github.com/yansongda/laravel-pay)
## 特点
- 命名不那么乱七八糟
- 隐藏开发者不需要关注的细节
- 根据支付宝、微信最新 API 开发而成
- 高度抽象的类,免去各种拼json与xml的痛苦
- 符合 PSR 标准,你可以各种方便的与你的框架集成
- 文件结构清晰易理解,可以随心所欲添加本项目中没有的支付网关
- 方法使用更优雅,不必再去研究那些奇怪的的方法名或者类名是做啥用的
## 运行环境
- PHP 5.6+
- composer
## 支持的支付网关
由于各支付网关参差不齐,所以我们抽象了两个方法 `driver()`,`gateway()`。
两个方法的作用如下:
`driver()` : 确定支付平台,如 `alipay`,`wechat`;
`gateway()`: 确定支付网关。通过此方法,确定支付平台下的支付网关。例如,支付宝下有 「电脑网站支付」,「手机网站支付」,「APP 支付」三种支付网关,通过传入 `web`,`wap`,`app` 确定。
详细思路可以查看源代码。
### 1、支付宝
- 电脑支付
- 手机网站支付
- APP 支付
- 刷卡支付
- 扫码支付
SDK 中对应的 driver 和 gateway 如下表所示:
| driver | gateway | 描述 |
| :----: | :-----: | :-------: |
| alipay | web | 电脑支付 |
| alipay | wap | 手机网站支付 |
| alipay | app | APP 支付 |
| alipay | pos | 刷卡支付 |
| alipay | scan | 扫码支付 |
| alipay | transfer | 帐户转账(可用于平台用户提现) |
### 2、微信
- 公众号支付
- 小程序支付
- H5 支付
- 扫码支付
- 刷卡支付
- APP 支付
SDK 中对应的 driver 和 gateway 如下表所示:
| driver | gateway | 描述 |
| :----: | :-----: | :-------: |
| wechat | mp | 公众号支付 |
| wechat | miniapp | 小程序支付 |
| wechat | wap | H5 支付 |
| wechat | scan | 扫码支付 |
| wechat | pos | 刷卡支付 |
| wechat | app | APP 支付 |
| wechat | transfer | 企业付款 |
## 支持的方法
所有网关均支持以下方法
- pay(array $config_biz)
说明:支付接口
参数:数组类型,订单业务配置项,包含 订单号,订单金额等
返回:mixed 详情请看「支付网关配置说明与返回值」一节。
- refund(array|string $config_biz, $refund_amount = null)
说明:退款接口
参数:`$config_biz` 为字符串类型仅对`支付宝支付`有效,此时代表订单号,第二个参数为退款金额。
返回:mixed 退款成功,返回 服务器返回的数组;否则返回 false;
- close(array|string $config_biz)
说明:关闭订单接口
参数:`$config_biz` 为字符串类型时代表订单号,如果为数组,则为关闭订单业务配置项,配置项内容请参考各个支付网关官方文档。
返回:mixed 关闭订单成功,返回 服务器返回的数组;否则返回 false;
- find(string $out_trade_no)
说明:查找订单接口
参数:`$out_trade_no` 为订单号。
返回:mixed 查找订单成功,返回 服务器返回的数组;否则返回 false;
- verify($data, $sign = null)
说明:验证服务器返回消息是否合法
参数:`$data` 为服务器接收到的原始内容,`$sign` 为签名信息,当其为空时,系统将自动转化 `$data` 为数组,然后取 `$data['sign']`。
返回:mixed 验证成功,返回 服务器返回的数组;否则返回 false;
## 安装
```shell
composer require yansongda/pay
```
## 使用说明
### 0、一个完整的例子:
```php
<?php
namespace App\Http\Controllers;
use Yansongda\Pay\Pay;
use Illuminate\Http\Request;
class PayController extends Controller
{
protected $config = [
'alipay' => [
'app_id' => '2016082000295641',
'notify_url' => 'http://yansongda.cn/alipay_notify.php',
'return_url' => 'http://yansongda.cn/return.php',
'ali_public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuWJKrQ6SWvS6niI+4vEVZiYfjkCfLQfoFI2nCp9ZLDS42QtiL4Ccyx8scgc3nhVwmVRte8f57TFvGhvJD0upT4O5O/lRxmTjechXAorirVdAODpOu0mFfQV9y/T9o9hHnU+VmO5spoVb3umqpq6D/Pt8p25Yk852/w01VTIczrXC4QlrbOEe3sr1E9auoC7rgYjjCO6lZUIDjX/oBmNXZxhRDrYx4Yf5X7y8FRBFvygIE2FgxV4Yw+SL3QAa2m5MLcbusJpxOml9YVQfP8iSurx41PvvXUMo49JG3BDVernaCYXQCoUJv9fJwbnfZd7J5YByC+5KM4sblJTq7bXZWQIDAQAB',
'private_key' => 'MIIEpAIBAAKCAQEAs6+F2leOgOrvj9jTeDhb5q46GewOjqLBlGSs/bVL4Z3fMr3p+Q1Tux/6uogeVi/eHd84xvQdfpZ87A1SfoWnEGH5z15yorccxSOwWUI+q8gz51IWqjgZxhWKe31BxNZ+prnQpyeMBtE25fXp5nQZ/pftgePyUUvUZRcAUisswntobDQKbwx28VCXw5XB2A+lvYEvxmMv/QexYjwKK4M54j435TuC3UctZbnuynSPpOmCu45ZhEYXd4YMsGMdZE5/077ZU1aU7wx/gk07PiHImEOCDkzqsFo0Buc/knGcdOiUDvm2hn2y1XvwjyFOThsqCsQYi4JmwZdRa8kvOf57nwIDAQABAoIBAQCw5QCqln4VTrTvcW+msB1ReX57nJgsNfDLbV2dG8mLYQemBa9833DqDK6iynTLNq69y88ylose33o2TVtEccGp8Dqluv6yUAED14G6LexS43KtrXPgugAtsXE253ZDGUNwUggnN1i0MW2RcMqHdQ9ORDWvJUCeZj/AEafgPN8AyiLrZeL07jJz/uaRfAuNqkImCVIarKUX3HBCjl9TpuoMjcMhz/MsOmQ0agtCatO1eoH1sqv5Odvxb1i59c8Hvq/mGEXyRuoiDo05SE6IyXYXr84/Nf2xvVNHNQA6kTckj8shSi+HGM4mO1Y4Pbb7XcnxNkT0Inn6oJMSiy56P+CpAoGBAO1O+5FE1ZuVGuLb48cY+0lHCD+nhSBd66B5FrxgPYCkFOQWR7pWyfNDBlmO3SSooQ8TQXA25blrkDxzOAEGX57EPiipXr/hy5e+WNoukpy09rsO1TMsvC+v0FXLvZ+TIAkqfnYBgaT56ku7yZ8aFGMwdCPL7WJYAwUIcZX8wZ3dAoGBAMHWplAqhe4bfkGOEEpfs6VvEQxCqYMYVyR65K0rI1LiDZn6Ij8fdVtwMjGKFSZZTspmsqnbbuCE/VTyDzF4NpAxdm3cBtZACv1Lpu2Om+aTzhK2PI6WTDVTKAJBYegXaahBCqVbSxieR62IWtmOMjggTtAKWZ1P5LQcRwdkaB2rAoGAWnAPT318Kp7YcDx8whOzMGnxqtCc24jvk2iSUZgb2Dqv+3zCOTF6JUsV0Guxu5bISoZ8GdfSFKf5gBAo97sGFeuUBMsHYPkcLehM1FmLZk1Q+ljcx3P1A/ds3kWXLolTXCrlpvNMBSN5NwOKAyhdPK/qkvnUrfX8sJ5XK2H4J8ECgYAGIZ0HIiE0Y+g9eJnpUFelXvsCEUW9YNK4065SD/BBGedmPHRC3OLgbo8X5A9BNEf6vP7fwpIiRfKhcjqqzOuk6fueA/yvYD04v+Da2MzzoS8+hkcqF3T3pta4I4tORRdRfCUzD80zTSZlRc/h286Y2eTETd+By1onnFFe2X01mwKBgQDaxo4PBcLL2OyVT5DoXiIdTCJ8KNZL9+kV1aiBuOWxnRgkDjPngslzNa1bK+klGgJNYDbQqohKNn1HeFX3mYNfCUpuSnD2Yag53Dd/1DLO+NxzwvTu4D6DCUnMMMBVaF42ig31Bs0jI3JQZVqeeFzSET8fkoFopJf3G6UXlrIEAQ==',
],
];
public function index()
{
$config_biz = [
'out_trade_no' => time(),
'total_amount' => '1',
'subject' => 'test subject',
];
$pay = new Pay($this->config);
return $pay->driver('alipay')->gateway()->pay($config_biz);
}
public function return(Request $request)
{
$pay = new Pay($this->config);
return $pay->driver('alipa
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
魅思V20,app,h5,后台,前台端都有 (2000个子文件)
H5D8BBE7D_cm.apk 21.91MB
apkurl 77B
certdata 132B
weui.css 353KB
weuix.css 130KB
bootstrap.min.css 115KB
bootstrap.min.css 115KB
index.5ca1c9cc.css 80KB
index.cdf7f91b.css 80KB
icon.css 78KB
jquery-weui.css 68KB
layui.css 56KB
layui.css 54KB
view.css 49KB
view.css 49KB
view.css 49KB
editor_ie8.css 48KB
editor_iequirks.css 47KB
editor_ie.css 47KB
editor_gecko.css 46KB
editor.css 46KB
ueditor.css 44KB
font-awesome.css 37KB
ueditor.min.css 34KB
main.css 32KB
font-awesome.min.css 30KB
font-awesome.min.css 28KB
min.css 28KB
admin.css 26KB
default.css 21KB
image.css 19KB
umeditor.css 17KB
layim.css 15KB
video.css 15KB
attachment.css 15KB
min.css 15KB
dialog_ie8.css 15KB
layer.css 14KB
dialog_iequirks.css 14KB
dialog_ie.css 14KB
layer.css 14KB
layer.css 14KB
umeditor.min.css 14KB
dialog.css 13KB
video-js.min.css 11KB
template.css 10KB
style.css 10KB
layui.mobile.css 10KB
layui.mobile.css 10KB
nv.d3.min.css 9KB
nv.d3.min.css 9KB
layim.css 9KB
laydate.css 7KB
laydate.css 7KB
style.css 7KB
shCoreDefault.css 7KB
jquery.ui.plupload.css 6KB
jquery.ui.plupload.css 6KB
download.css 6KB
download.css 6KB
common.css 4KB
common.css 4KB
jquery.plupload.queue.css 4KB
jquery.plupload.queue.css 4KB
scrawl.css 4KB
htmlDescriptor.css 3KB
contents.css 3KB
iconfont.css 3KB
iconfont.css 3KB
iconfont.css 3KB
iconfont.css 3KB
image.css 3KB
codemirror.css 3KB
login.css 3KB
video.css 3KB
charts.css 3KB
background.css 2KB
emotion.css 2KB
up.css 2KB
up.css 2KB
emotion.css 2KB
style.css 2KB
style.css 2KB
dialogbase.css 2KB
css.css 2KB
css.css 2KB
music.css 2KB
wap.css 2KB
wap.css 2KB
templates.css 2KB
upload.css 1KB
upload.css 1KB
copyformatting.css 1KB
pc.css 1KB
pc.css 1KB
g.css 1KB
g.css 1KB
wsc.css 1KB
toolbar.css 1KB
wsc.css 1KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
net1193379199
- 粉丝: 565
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功