<p align="center">
<a href="https://pay.yansongda.cn" target="_blank" rel="noopener noreferrer"><img width="200" src="https://cdn.jsdelivr.net/gh/yansongda/pay/web/public/images/logo.png" alt="Logo"></a>
</p>
<p align="center">
<a href="https://codecov.io/gh/yansongda/pay" ><img src="https://codecov.io/gh/yansongda/pay/branch/master/graph/badge.svg?token=tYMV0YT5jj"/></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"></a>
<a href="https://github.com/yansongda/pay/actions"><img src="https://github.com/yansongda/pay/workflows/Tester/badge.svg" alt="Tester Status"></a>
<a href="https://github.com/yansongda/pay/actions"><img src="https://github.com/yansongda/pay/workflows/Code%20Coverage/badge.svg" alt="Code Coverage Status"></a>
<a href="https://github.com/yansongda/pay/actions"><img src="https://github.com/yansongda/pay/workflows/Coding%20Style/badge.svg" alt="Coding Style Status"></a>
<a href="https://packagist.org/packages/yansongda/pay"><img src="https://poser.pugx.org/yansongda/pay/v/stable" alt="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/license" alt="License"></a>
</p>
## 前言
v3 版与 v2 版在底层有很大的不同,基础架构做了重新的设计,更易扩展,使用起来更方便。
开发了多次支付宝与微信支付后,很自然产生一种反感,惰性又来了,想在网上找相关的轮子,可是一直没有找到一款自己觉得逞心如意的,要么使用起来太难理解,要么文件结构太杂乱,只有自己撸起袖子干了。
欢迎 Star,欢迎 PR!
hyperf 扩展包请 [传送至这里](https://github.com/yansongda/hyperf-pay)
laravel 扩展包请 [传送至这里](https://github.com/yansongda/laravel-pay)
yii 扩展包请 [传送至这里](https://github.com/guanguans/yii-pay)
## 特点
- 多租户支持
- Swoole 支持
- 灵活的插件机制
- 丰富的事件系统
- 命名不那么乱七八糟
- 隐藏开发者不需要关注的细节
- 根据支付宝、微信最新 API 开发而成
- 高度抽象的类,免去各种拼json与xml的痛苦
- 文件结构清晰易理解,可以随心所欲添加本项目中没有的支付网关
- 方法使用更优雅,不必再去研究那些奇怪的的方法名或者类名是做啥用的
- 内置自动获取微信公共证书方法,再也不用再费劲去考虑第一次获取证书的的问题了
- 符合 PSR2、PSR3、PSR4、PSR7、PSR11、PSR14、PSR18 等各项标准,你可以各种方便的与你的框架集成
## 版本计划
[https://pay.yansongda.cn/docs/v3/overview/planning](https://pay.yansongda.cn/docs/v3/overview/planning)
## 详细文档
[https://pay.yansongda.cn](https://pay.yansongda.cn)
## 支持的支付方法
yansongda/pay 100% 兼容 支付宝/微信/银联 所有功能(包括服务商功能),只需通过「插件机制」引入即可。
同时,SDK 直接支持内置了以下插件,详情请查阅文档。
### 支付宝
- 电脑支付
- 手机网站支付
- APP 支付
- 刷卡支付
- 扫码支付
- 账户转账
- 小程序支付
- ...
### 微信
- 公众号支付
- 小程序支付
- H5 支付
- 扫码支付
- APP 支付
- 刷卡支付
- ...
### 银联
- 手机网站支付
- 电脑网站支付
- 刷卡支付
- 扫码支付
- ...
## 安装
```shell
composer require yansongda/pay:~3.6.0 -vvv
```
## 深情一撇
### 支付宝
```php
<?php
namespace App\Http\Controllers;
use Yansongda\Pay\Pay;
class AlipayController
{
protected $config = [
'alipay' => [
'default' => [
// 必填-支付宝分配的 app_id
'app_id' => '2016082000295641',
// 必填-应用私钥 字符串或路径
'app_secret_cert' => '89iZ2iC16H6/6a3YcP+hDZUjiNGQx9cuwi9eJyykvcwhD...',
// 必填-应用公钥证书 路径
'app_public_cert_path' => '/Users/yansongda/pay/cert/appCertPublicKey_2016082000295641.crt',
// 必填-支付宝公钥证书 路径
'alipay_public_cert_path' => '/Users/yansongda/pay/cert/alipayCertPublicKey_RSA2.crt',
// 必填-支付宝根证书 路径
'alipay_root_cert_path' => '/Users/yansongda/pay/cert/alipayRootCert.crt',
'return_url' => 'https://yansongda.cn/alipay/return',
'notify_url' => 'https://yansongda.cn/alipay/notify',
// 选填-第三方应用授权token
'app_auth_token' => '',
// 选填-服务商模式下的服务商 id,当 mode 为 Pay::MODE_SERVICE 时使用该参数
'service_provider_id' => '',
// 选填-默认为正常模式。可选为: MODE_NORMAL, MODE_SANDBOX, MODE_SERVICE
'mode' => Pay::MODE_NORMAL,
],
],
'logger' => [ // optional
'enable' => false,
'file' => './logs/alipay.log',
'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug
'type' => 'single', // optional, 可选 daily.
'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天
],
'http' => [ // optional
'timeout' => 5.0,
'connect_timeout' => 5.0,
// 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
],
];
public function web()
{
$result = Pay::alipay($this->config)->web([
'out_trade_no' => ''.time(),
'total_amount' => '0.01',
'subject' => 'yansongda 测试 - 1',
]);
return $result;
}
public function returnCallback()
{
$data = Pay::alipay($this->config)->callback(); // 是的,验签就这么简单!
// 订单号:$data->out_trade_no
// 支付宝交易号:$data->trade_no
// 订单总金额:$data->total_amount
}
public function notifyCallback()
{
$alipay = Pay::alipay($this->config);
try{
$data = $alipay->callback(); // 是的,验签就这么简单!
// 请自行对 trade_status 进行判断及其它逻辑进行判断,在支付宝的业务通知中,只有交易通知状态为 TRADE_SUCCESS 或 TRADE_FINISHED 时,支付宝才会认定为买家付款成功。
// 1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号;
// 2、判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额);
// 3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email);
// 4、验证app_id是否为该商户本身。
// 5、其它业务逻辑情况
} catch (\Exception $e) {
// $e->getMessage();
}
return $alipay->success();
}
}
```
### 微信
```php
<?php
namespace App\Http\Controllers;
use Yansongda\Pay\Pay;
class WechatController
{
protected $config = [
'wechat' => [
'default' => [
// 必填-商户号
'mch_id' => '',
// 选填-v2商户私钥
'mch_secret_key_v2' => '',
// 必填-v3商户秘钥
'mch_secret_key' => '',
// 必填-商户私钥 字符串或路径
'mch_secret_cert' => '',
// 必填-商户公钥证书路径
'mch_public_cert_
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
easyPay支付SDK扩展包 v3.6.3.zip (353个子文件)
说明.htm 4KB
composer.json 2KB
LICENSE 1KB
CHANGELOG.md 11KB
README.md 11KB
CODE_OF_CONDUCT.md 5KB
SECURITY.md 1KB
phpstan.neon 229B
Functions.php 17KB
QueryShortcut.php 9KB
QueryShortcut.php 7KB
StartPlugin.php 6KB
Wechat.php 5KB
Alipay.php 5KB
RefundShortcut.php 5KB
CloseShortcut.php 5KB
Unipay.php 5KB
CreatePlugin.php 4KB
AddReceiverPlugin.php 4KB
RefundAbnormalPlugin.php 4KB
CloseShortcut.php 4KB
AppInvokePlugin.php 4KB
InvokePlugin.php 4KB
RefundShortcut.php 4KB
JsapiInvokePlugin.php 4KB
InvokePlugin.php 4KB
MiniInvokePlugin.php 4KB
InvokePlugin.php 4KB
CreatePlugin.php 4KB
CancelShortcut.php 4KB
PapayShortcut.php 3KB
InvokePlugin.php 3KB
AddPayloadSignaturePlugin.php 3KB
InvokePlugin.php 3KB
QueryShortcut.php 3KB
StartPlugin.php 3KB
PayPlugin.php 3KB
QueryDetailPlugin.php 3KB
DeleteReceiverPlugin.php 3KB
PayPlugin.php 3KB
ScanShortcut.php 3KB
CancelShortcut.php 3KB
RefundShortcut.php 3KB
PayPlugin.php 3KB
CreatePlugin.php 3KB
PayPlugin.php 3KB
PayPlugin.php 2KB
PosShortcut.php 2KB
CallbackPlugin.php 2KB
ReturnPlugin.php 2KB
ClosePlugin.php 2KB
ClosePlugin.php 2KB
ClosePlugin.php 2KB
ClosePlugin.php 2KB
ClosePlugin.php 2KB
ResponseHtmlPlugin.php 2KB
SendPlugin.php 2KB
QueryUserPlugin.php 2KB
QueryByWxPlugin.php 2KB
QueryByWxPlugin.php 2KB
QueryMerchantsPlugin.php 2KB
Pay.php 2KB
AddRadarPlugin.php 2KB
QueryByWxPlugin.php 2KB
QueryByWxPlugin.php 2KB
QueryPlugin.php 2KB
QueryDayEndPlugin.php 2KB
QueryPlugin.php 2KB
QueryItemsPlugin.php 2KB
UnfreezePlugin.php 2KB
QueryByWxPlugin.php 2KB
QueryPlugin.php 2KB
QueryPlugin.php 2KB
QueryPlugin.php 2KB
ApplyPlugin.php 2KB
RefundPlugin.php 2KB
RefundPlugin.php 2KB
RefundPlugin.php 2KB
RefundPlugin.php 2KB
RefundPlugin.php 2KB
RefundPlugin.php 2KB
RefundPlugin.php 2KB
AddPayloadSignaturePlugin.php 2KB
QueryPlugin.php 2KB
QueryByWxPlugin.php 2KB
QueryPlugin.php 2KB
QueryPlugin.php 2KB
QueryReturnAdvancePlugin.php 2KB
ReturnAdvancePlugin.php 2KB
PayPlugin.php 2KB
QueryByWxPlugin.php 2KB
QueryPlugin.php 2KB
GetTitleUrlPlugin.php 2KB
DetailPlugin.php 2KB
QueryReturnPlugin.php 2KB
QueryByWxPlugin.php 2KB
ScanPreOrderPlugin.php 2KB
QueryPlugin.php 2KB
ClosePlugin.php 2KB
AddPayloadSignaturePlugin.php 2KB
共 353 条
- 1
- 2
- 3
- 4
资源评论
芝麻粒儿
- 粉丝: 6w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功