Merge branch 'master' of /data/git/tiantian2

master
root 5 years ago
commit 097f0245e3

@ -0,0 +1,61 @@
<?php
namespace App\Libs;
use Yansongda\Pay\Log;
use Yansongda\Pay\Pay;
class Alipay
{
protected $config;
public function __construct()
{
$this->config = config("pay.alipay");
}
public function test()
{
$order = [
'out_trade_no' => time(),
'total_amount' => '1',
'subject' => 'test subject - 测试',
];
$alipay = Pay::alipay($this->config)->scan($order);
return $alipay->send();// laravel 框架中请直接 `return $alipay`
}
public function return()
{
$data = Pay::alipay($this->config)->verify(); // 是的,验签就这么简单!
// 订单号:$data->out_trade_no
// 支付宝交易号:$data->trade_no
// 订单总金额:$data->total_amount
}
public function notify()
{
$alipay = Pay::alipay($this->config);
try {
$data = $alipay->verify(); // 是的,验签就这么简单!
// 请自行对 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、其它业务逻辑情况
Log::debug('Alipay notify', $data->all());
} catch (\Exception $e) {
// $e->getMessage();
}
return $alipay->success();
}
}

122
composer.lock generated

@ -3916,16 +3916,16 @@
},
{
"name": "symfony/event-dispatcher",
"version": "v5.2.3",
"version": "v5.2.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "4f9760f8074978ad82e2ce854dff79a71fe45367"
"reference": "d08d6ec121a425897951900ab692b612a61d6240"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4f9760f8074978ad82e2ce854dff79a71fe45367",
"reference": "4f9760f8074978ad82e2ce854dff79a71fe45367",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d08d6ec121a425897951900ab692b612a61d6240",
"reference": "d08d6ec121a425897951900ab692b612a61d6240",
"shasum": "",
"mirrors": [
{
@ -3986,7 +3986,7 @@
],
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"time": "2021-01-27T10:36:42+00:00"
"time": "2021-02-18T17:12:37+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@ -4176,16 +4176,16 @@
},
{
"name": "symfony/http-foundation",
"version": "v5.2.3",
"version": "v5.2.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "20c554c0f03f7cde5ce230ed248470cccbc34c36"
"reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/20c554c0f03f7cde5ce230ed248470cccbc34c36",
"reference": "20c554c0f03f7cde5ce230ed248470cccbc34c36",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/54499baea7f7418bce7b5ec92770fd0799e8e9bf",
"reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf",
"shasum": "",
"mirrors": [
{
@ -4234,7 +4234,7 @@
],
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"time": "2021-02-03T04:42:09+00:00"
"time": "2021-02-25T17:16:57+00:00"
},
{
"name": "symfony/http-kernel",
@ -6004,7 +6004,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6086,7 +6086,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6141,7 +6141,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6204,7 +6204,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6288,7 +6288,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6356,7 +6356,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6422,7 +6422,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6472,7 +6472,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6560,7 +6560,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6659,7 +6659,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6741,7 +6741,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6798,7 +6798,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6859,7 +6859,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6936,7 +6936,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -6991,7 +6991,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7058,7 +7058,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7115,7 +7115,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7168,7 +7168,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7240,7 +7240,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7314,7 +7314,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7368,7 +7368,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7444,7 +7444,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7506,7 +7506,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7559,7 +7559,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7614,7 +7614,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7672,7 +7672,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7723,7 +7723,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7792,7 +7792,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7861,7 +7861,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7917,7 +7917,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -7964,7 +7964,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8019,7 +8019,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8075,7 +8075,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8164,7 +8164,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8216,7 +8216,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8267,7 +8267,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8337,7 +8337,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8399,7 +8399,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8458,7 +8458,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8531,7 +8531,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8591,7 +8591,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8644,7 +8644,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8695,7 +8695,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8754,7 +8754,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8802,7 +8802,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8854,7 +8854,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8903,7 +8903,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -8958,7 +8958,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -9008,7 +9008,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -9059,7 +9059,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
@ -9105,7 +9105,7 @@
"shasum": "",
"mirrors": [
{
"url": "https://mirrors.cloud.tencent.com/composer/dists/%package%/%reference%.%type%",
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]

@ -1,77 +0,0 @@
<?php
return [
'alipay' => [
// 支付宝分配的 APPID
'app_id' => env('ALI_APP_ID', ''),
// 支付宝异步通知地址
'notify_url' => '',
// 支付成功后同步通知地址
'return_url' => '',
// 阿里公共密钥,验证签名时使用
'ali_public_key' => env('ALI_PUBLIC_KEY', ''),
// 自己的私钥,签名时使用
'private_key' => env('ALI_PRIVATE_KEY', ''),
// 使用公钥证书模式,请配置下面两个参数,同时修改 ali_public_key 为以 .crt 结尾的支付宝公钥证书路径,如(./cert/alipayCertPublicKey_RSA2.crt
// 应用公钥证书路径
'app_cert_public_key' => env('ALI_CERT_PUBLIC_KEY', ''),
// 支付宝根证书路径
'alipay_root_cert' => env('ALI_CERT_ROOT', ''),
// optional默认 warning日志路径为sys_get_temp_dir().'/logs/yansongda.pay.log'
'log' => [
'file' => storage_path('logs/alipay.log'),
// 'level' => 'debug'
// 'type' => 'single', // optional, 可选 daily.
// 'max_file' => 30,
],
// optional设置此参数将进入沙箱模式
// 'mode' => 'dev',
],
'wechat' => [
// 公众号 APPID
'app_id' => env('WECHAT_APP_ID', ''),
// 小程序 APPID
'miniapp_id' => env('WECHAT_MINIAPP_ID', ''),
// APP 引用的 appid
'appid' => env('WECHAT_APPID', ''),
// 微信支付分配的微信商户号
'mch_id' => env('WECHAT_MCH_ID', ''),
// 微信支付异步通知地址
'notify_url' => '',
// 微信支付签名秘钥
'key' => env('WECHAT_KEY', ''),
// 客户端证书路径退款、红包等需要用到。请填写绝对路径linux 请确保权限问题。pem 格式。
'cert_client' => '',
// 客户端秘钥路径退款、红包等需要用到。请填写绝对路径linux 请确保权限问题。pem 格式。
'cert_key' => '',
// optional默认 warning日志路径为sys_get_temp_dir().'/logs/yansongda.pay.log'
'log' => [
'file' => storage_path('logs/wechat.log'),
// 'level' => 'debug'
// 'type' => 'single', // optional, 可选 daily.
// 'max_file' => 30,
],
// optional
// 'dev' 时为沙箱模式
// 'hk' 时为东南亚节点
// 'mode' => 'dev',
],
];
Loading…
Cancel
Save