提现处理

This commit is contained in:
wanyongkang
2020-10-21 20:24:13 +08:00
parent 18f7cc38ea
commit ff3ad053bb
8 changed files with 255 additions and 38 deletions

View File

@@ -2,7 +2,7 @@
/*
* @Author: 万永康
* @Date: 2020-10-11 12:32:50
* @LastEditTime: 2020-10-14 19:31:04
* @LastEditTime: 2020-10-21 17:25:25
* @LastEditors: kangkang
* @Description: In User Settings Edit
* @FilePath: /phptest/alipay/Alipay.php
@@ -10,7 +10,7 @@
namespace alipay;
require_once APP_PATH . 'alipay/aop/AopClient.php';
require_once APP_PATH . 'alipay/aop/AopCertClient.php';
require_once APP_PATH . 'alipay/aop/AopCertification.php';
require_once APP_PATH . 'alipay/aop/request/AlipayTradeQueryRequest.php';
require_once APP_PATH . 'alipay/aop/request/AlipayTradePagePayRequest.php';
@@ -26,14 +26,6 @@ require_once APP_PATH . 'alipay/aop/request/AlipayFundTransUniTransferRequest.ph
class Alipay
{
//配置内容
protected static $config = [];
public function __construct()
{
self::$config = require_once APP_PATH . 'config/config.php';
}
/**
*
* web 付款
@@ -50,12 +42,12 @@ class Alipay
*/
public static function pay($param)
{
global $config;
$aop = new \AopClient();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = self::$config['alipay']['app_id'];
$aop->rsaPrivateKey = self::$config['alipay']['private_key'];
$aop->alipayrsaPublicKey = self::$config['alipay']['public_key'];
$aop->appId = $config['alipay']['app_id'];
$aop->rsaPrivateKey = $config['alipay']['private_key'];
$aop->alipayrsaPublicKey = $config['alipay']['public_key'];
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset = 'utf-8';
@@ -77,39 +69,47 @@ class Alipay
* 'out_biz_no'=>'201806300001',
* 'trans_amount' => '0.01',
* 'product_code' => 'TRANS_ACCOUNT_NO_PWD',
* 'payee_info' => {
* 'payee_info' => [
* 'identity' => '208812*****41234',
* 'identity_type' => 'ALIPAY_LOGON_ID',
* 'name' => 'peter'
* },
* ],
* 'remark' => '提现-单笔转帐'
* ]
* @return {type}
* @return {type}
*/
public static function transfer()
public static function transfer($param)
{
$aop = new \AopClient();
global $config;
$aop = new \AopCertClient();
$appCertPath = $config['alipay']['app_crt'];
$alipayCertPath = $config['alipay']['public_crt'];
$rootCertPath = $config['alipay']['root_crt'];
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = self::$config['alipay']['app_id'];
$aop->rsaPrivateKey = self::$config['alipay']['private_key'];
$aop->alipayrsaPublicKey = self::$config['alipay']['public_key'];
$aop->appId = $config['alipay']['app_id'];
$aop->rsaPrivateKey = $config['alipay']['private_key'];
$aop->alipayrsaPublicKey = $aop->getPublicKey($alipayCertPath);//调用getPublicKey从支付宝公钥证书中提取公钥
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset = 'utf-8';
$aop->format = 'json';
$aop->postCharset='utf-8';
$aop->format='json';
$aop->isCheckAlipayPublicCert = true;//是否校验自动下载的支付宝公钥证书,如果开启校验要保证支付宝根证书在有效期内
$aop->appCertSN = $aop->getCertSN($appCertPath);//调用getCertSN获取证书序列号
$aop->alipayRootCertSN = $aop->getRootCertSN($rootCertPath);//调用getRootCertSN获取支付宝根证书序列号
$request = new \AlipayFundTransUniTransferRequest();
$param = json_encode($param);
$request->setBizContent($param);
$result = $aop->execute ( $request);
$result = $aop->execute($request);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$resultCode = $result->$responseNode->code;
if(!empty($resultCode)&&$resultCode == 10000){
return true;
if (!empty($resultCode) && $resultCode == 10000) {
return $result;
} else {
return false;
}

View File

@@ -106,7 +106,7 @@ class AopCertClient
for ($i = 0; $i < count($array) - 1; $i++) {
$ssl[$i] = openssl_x509_parse($array[$i] . "-----END CERTIFICATE-----");
if(strpos($ssl[$i]['serialNumber'],'0x') === 0){
$ssl[$i]['serialNumber'] = $this->hex2dec($ssl[$i]['serialNumber']);
$ssl[$i]['serialNumber'] = $this->hex2dec($ssl[$i]['serialNumberHex']);
}
if ($ssl[$i]['signatureTypeLN'] == "sha1WithRSAEncryption" || $ssl[$i]['signatureTypeLN'] == "sha256WithRSAEncryption") {
if ($SN == null) {
@@ -132,7 +132,8 @@ class AopCertClient
for ($i = 1; $i <= $len; $i++) {
$dec = bcadd($dec, bcmul(strval(hexdec($hex[$i - 1])), bcpow('16', strval($len - $i))));
}
return round($dec,0);
// return round($dec,0);
return $dec;
}
/**

View File

@@ -5,13 +5,16 @@
* @Author: kangkang
* @Date: 2020-10-11 11:22:56
* @LastEditors: kangkang
* @LastEditTime: 2020-10-14 10:16:05
* @LastEditTime: 2020-10-21 20:01:22
*/
namespace app\order\controller;
use app\order\model\CashOut as CashMoedl;
use app\order\model\User as UserModel;
use app\order\model\UserScore as ScoreModel;
use fastphp\base\Controller;
use alipay\Alipay;
class CashOutAdmin extends Controller
{
@@ -25,6 +28,7 @@ class CashOutAdmin extends Controller
foreach ($list as &$v) {
$v['status'] = $status[$v['status']];
$v['alipay_account'] = substr($v['alipay_account'], 0, 3) . '***' . substr($v['alipay_account'], -3);
$v['username'] = substr($v['username'], 0, 3) . '***' . substr($v['username'], -3);
}
$count = $cash->getCount();
$data = [
@@ -49,6 +53,7 @@ class CashOutAdmin extends Controller
foreach ($list as &$v) {
$v['status'] = $status[$v['status']];
$v['alipay_account'] = substr($v['alipay_account'], 0, 3) . '***' . substr($v['alipay_account'], -3);
$v['username'] = substr($v['username'], 0, 3) . '***' . substr($v['username'], -3);
}
$data = [
'Code' => 10000,
@@ -69,14 +74,63 @@ class CashOutAdmin extends Controller
unset($data['update_time']);
unset($data['create_time']);
unset($data['id']);
unset($data['username']);
$user = $this->userinfo;
$cash = new CashMoedl;
$cash_data = $cash->getOne(['id' => $id]);
if($data['status'] == '1'){
$param = [
'out_biz_no'=>'2020'.time().rand(10000,99999),
'trans_amount' => $cash_data['money'],
'product_code' => 'TRANS_ACCOUNT_NO_PWD',
'biz_scene' => 'DIRECT_TRANSFER',
'payee_info' => [
'identity' => $cash_data['alipay_account'],
'identity_type' => 'ALIPAY_LOGON_ID',
'name' => $cash_data['real_name']
],
'remark' => '聚IP提现-会员'.$cash_data['username'].'-'.$cash_data['money'].'元'
];
$result = Alipay::transfer($param);
if ($result){
$data['cash_no'] = $result->alipay_fund_trans_uni_transfer_response->out_biz_no;
$data['alipay_no'] = $result->alipay_fund_trans_uni_transfer_response->order_id;
$data['status'] = 1;
} else {
die;
}
} else if($data['status'] == '2'){
$user_model = new UserModel;
$user_rest = $user_model->getOne(['id'=>$data['userid']],'RestAmount')['RestAmount'];
$rest = $user_rest + $cash_data['money'];
$user_model->where(['id'=>$data['userid']])->update(['RestAmount'=>$rest]);
$score = new ScoreModel;
$score_data = [
'UserId' => $data['userid'],
'ScoreType' => 9,
'ScoreTypeName' => '提现被拒退还',
'ScoreValue' => $cash_data['money'],
'UserName' => $cash_data['username'],
'OperateUserName' => $user['LoginName'],
'RestAmount1' => $user_rest,
'RestAmount2' => $rest,
'CreateTime' => date('Y-m-d H:i:s',time()),
'UpdateTime' => date('Y-m-d H:i:s',time()),
'TenantId' => 0,
'DeleteTag' => 0,
];
$score->add($score_data);
}
$data['op_user'] = $user['LoginName'];
$status = ['0', '1', '2'];
if (!in_array($data['status'], $status)) {
unset($data['status']);
}
$cash = new CashMoedl;
$up_status = $cash->where(['id' => $id])->update($data);
$return_info = [
'Code' => 10000,

View File

@@ -2,7 +2,7 @@
/*
* @Author: your name
* @Date: 2020-10-10 13:58:14
* @LastEditTime: 2020-10-13 19:48:51
* @LastEditTime: 2020-10-21 19:57:25
* @LastEditors: kangkang
* @Description: In User Settings Edit
* @FilePath: /phptest/app/order/controller/Index.php
@@ -11,6 +11,8 @@
namespace app\order\controller;
use app\order\model\CashOut as CashMoedl;
use app\order\model\User as UserModel;
use app\order\model\UserScore as ScoreModel;
use fastphp\base\Controller;
class CashOutIndex extends Controller
@@ -25,9 +27,35 @@ class CashOutIndex extends Controller
$data['money'] = $post['cash_out_money'];
$data['apply_reason'] = $post['reason'];
$data['alipay_account'] = $post['alipay_account'];
$data['real_name'] = $post['real_name'];
$cash = new CashMoedl;
$status = $cash->add($data);
if ($status) {
$user = new UserModel;
$user_rest = $user->getOne(['id'=>$data['userid']],'RestAmount')['RestAmount'];
$rest = $user_rest - $post['cash_out_money'];
if ($rest < 0){
echo json_encode(['Code'=>-10000,]);
die;
} else {
$score = new ScoreModel;
$score_data = [
'UserId' => $data['userid'],
'ScoreType' => 8,
'ScoreTypeName' => '用户提现扣除',
'ScoreValue' => $post['cash_out_money'],
'UserName' => $data['username'],
'OperateUserName' => $data['username'],
'RestAmount1' => $user_rest,
'RestAmount2' => $rest,
'CreateTime' => date('Y-m-d H:i:s',time()),
'UpdateTime' => date('Y-m-d H:i:s',time()),
'TenantId' => 0,
'DeleteTag' => 0,
];
$score->add($score_data);
$user->where(['id'=>$data['userid']])->update(['RestAmount'=>$rest]);
}
echo json_encode(['Code'=>10000,]);
} else {
echo json_encode(['Code'=>-10000,]);

View File

@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDsjCCApqgAwIBAgIQICAQIUG1xdzjxaNQ54yAqDANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
YXNzIDIgUjEwHhcNMjAxMDIxMDMyODMyWhcNMjIxMDIxMDMyODMyWjCBkjELMAkGA1UEBhMCQ04x
LTArBgNVBAoMJOays+WNl+WNjui/nue9kee7nOenkeaKgOaciemZkOWFrOWPuDEPMA0GA1UECwwG
QWxpcGF5MUMwQQYDVQQDDDrmlK/ku5jlrp0o5Lit5Zu9Kee9kee7nOaKgOacr+aciemZkOWFrOWP
uC0yMDg4NDMxNjAzMzgzOTU1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAksDNAevi
es+/JyIvTagC6IAHTIDdCd2uNbjDn2ez7TV2A3LAH9DEk53vwDX+mCPE+v5KFkeAXsWJ+Hcvz3cb
TbQj2hqStiYKZdu8DjK2YlilPBWm8SoKR64WtMxT91PH0w5gRT7++6HH7H9p+ctlSyV4VKbVfyh0
lnv9BsnNAiIoSDSgf4cUXQy5WP8OMecUeF39vYctzd6KOJN/TlD7zeHfECD/+cGO68t2rANiQLew
so7O0LwIfGqsAmbzhAn8pQ82JjVIYfVGOVo/dtxlG67G1QzaVgrAEvM8kovflltm+xPElnwjixbl
sD4v9OHqhPohCfIdSb4yJpxlxnsCOQIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCA/gwDQYJKoZIhvcN
AQELBQADggEBABk2rBhxNvugcp2FZSxDNKLsJ0uX+8InI0coTh9z2cMEbbdJJyLh0QZvu97hRdcE
Gg9OS2xO+1G5542haZqbLMOrhB8+1GH+8la9FpGYnhxcRDsAsudCohKmZYwtRJQJaC8YzTSlezpq
BrTRKz4kdbWbf9CCULqXm4m+e0u1LhCHAjFSi+c1MVpyqBfgBvOLVTBfHdx9fnrMw9QF1ZBbKeHW
ZPKWhAANoJRrR8oNs5kzjtXOGXoWdGWXdey+nIm9XD54Ok/+BRvH1GvNYUelXjHR2FBYkJ8o4s86
L0+UwnAf9MNj5CaAV3JAUvVXMvqTjuRsAfGBYakWgYTIyqO/7eo=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,88 @@
-----BEGIN CERTIFICATE-----
MIIBszCCAVegAwIBAgIIaeL+wBcKxnswDAYIKoEcz1UBg3UFADAuMQswCQYDVQQG
EwJDTjEOMAwGA1UECgwFTlJDQUMxDzANBgNVBAMMBlJPT1RDQTAeFw0xMjA3MTQw
MzExNTlaFw00MjA3MDcwMzExNTlaMC4xCzAJBgNVBAYTAkNOMQ4wDAYDVQQKDAVO
UkNBQzEPMA0GA1UEAwwGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
MPCca6pmgcchsTf2UnBeL9rtp4nw+itk1Kzrmbnqo05lUwkwlWK+4OIrtFdAqnRT
V7Q9v1htkv42TsIutzd126NdMFswHwYDVR0jBBgwFoAUTDKxl9kzG8SmBcHG5Yti
W/CXdlgwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFEwysZfZ
MxvEpgXBxuWLYlvwl3ZYMAwGCCqBHM9VAYN1BQADSAAwRQIgG1bSLeOXp3oB8H7b
53W+CKOPl2PknmWEq/lMhtn25HkCIQDaHDgWxWFtnCrBjH16/W3Ezn7/U/Vjo5xI
pDoiVhsLwg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF0zCCA7ugAwIBAgIIH8+hjWpIDREwDQYJKoZIhvcNAQELBQAwejELMAkGA1UE
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmlj
YXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMyMTEzNDg0MFoXDTM4MDIyODEzNDg0
MFowejELMAkGA1UEBhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNV
BAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5j
aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEAtytTRcBNuur5h8xuxnlKJetT65cHGemGi8oD+beHFPTk
rUTlFt9Xn7fAVGo6QSsPb9uGLpUFGEdGmbsQ2q9cV4P89qkH04VzIPwT7AywJdt2
xAvMs+MgHFJzOYfL1QkdOOVO7NwKxH8IvlQgFabWomWk2Ei9WfUyxFjVO1LVh0Bp
dRBeWLMkdudx0tl3+21t1apnReFNQ5nfX29xeSxIhesaMHDZFViO/DXDNW2BcTs6
vSWKyJ4YIIIzStumD8K1xMsoaZBMDxg4itjWFaKRgNuPiIn4kjDY3kC66Sl/6yTl
YUz8AybbEsICZzssdZh7jcNb1VRfk79lgAprm/Ktl+mgrU1gaMGP1OE25JCbqli1
Pbw/BpPynyP9+XulE+2mxFwTYhKAwpDIDKuYsFUXuo8t261pCovI1CXFzAQM2w7H
DtA2nOXSW6q0jGDJ5+WauH+K8ZSvA6x4sFo4u0KNCx0ROTBpLif6GTngqo3sj+98
SZiMNLFMQoQkjkdN5Q5g9N6CFZPVZ6QpO0JcIc7S1le/g9z5iBKnifrKxy0TQjtG
PsDwc8ubPnRm/F82RReCoyNyx63indpgFfhN7+KxUIQ9cOwwTvemmor0A+ZQamRe
9LMuiEfEaWUDK+6O0Gl8lO571uI5onYdN1VIgOmwFbe+D8TcuzVjIZ/zvHrAGUcC
AwEAAaNdMFswCwYDVR0PBAQDAgEGMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF90
tATATwda6uWx2yKjh0GynOEBMB8GA1UdIwQYMBaAFF90tATATwda6uWx2yKjh0Gy
nOEBMA0GCSqGSIb3DQEBCwUAA4ICAQCVYaOtqOLIpsrEikE5lb+UARNSFJg6tpkf
tJ2U8QF/DejemEHx5IClQu6ajxjtu0Aie4/3UnIXop8nH/Q57l+Wyt9T7N2WPiNq
JSlYKYbJpPF8LXbuKYG3BTFTdOVFIeRe2NUyYh/xs6bXGr4WKTXb3qBmzR02FSy3
IODQw5Q6zpXj8prYqFHYsOvGCEc1CwJaSaYwRhTkFedJUxiyhyB5GQwoFfExCVHW
05ZFCAVYFldCJvUzfzrWubN6wX0DD2dwultgmldOn/W/n8at52mpPNvIdbZb2F41
T0YZeoWnCJrYXjq/32oc1cmifIHqySnyMnavi75DxPCdZsCOpSAT4j4lAQRGsfgI
kkLPGQieMfNNkMCKh7qjwdXAVtdqhf0RVtFILH3OyEodlk1HYXqX5iE5wlaKzDop
PKwf2Q3BErq1xChYGGVS+dEvyXc/2nIBlt7uLWKp4XFjqekKbaGaLJdjYP5b2s7N
1dM0MXQ/f8XoXKBkJNzEiM3hfsU6DOREgMc1DIsFKxfuMwX3EkVQM1If8ghb6x5Y
jXayv+NLbidOSzk4vl5QwngO/JYFMkoc6i9LNwEaEtR9PhnrdubxmrtM+RjfBm02
77q3dSWFESFQ4QxYWew4pHE0DpWbWy/iMIKQ6UZ5RLvB8GEcgt8ON7BBJeMc+Dyi
kT9qhqn+lw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICiDCCAgygAwIBAgIIQX76UsB/30owDAYIKoZIzj0EAwMFADB6MQswCQYDVQQG
EwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UECwwXQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNpYWwgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkgRTEwHhcNMTkwNDI4MTYyMDQ0WhcNNDkwNDIwMTYyMDQ0
WjB6MQswCQYDVQQGEwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UE
CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNp
YWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRTEwdjAQBgcqhkjOPQIBBgUrgQQA
IgNiAASCCRa94QI0vR5Up9Yr9HEupz6hSoyjySYqo7v837KnmjveUIUNiuC9pWAU
WP3jwLX3HkzeiNdeg22a0IZPoSUCpasufiLAnfXh6NInLiWBrjLJXDSGaY7vaokt
rpZvAdmjXTBbMAsGA1UdDwQEAwIBBjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRZ
4ZTgDpksHL2qcpkFkxD2zVd16TAfBgNVHSMEGDAWgBRZ4ZTgDpksHL2qcpkFkxD2
zVd16TAMBggqhkjOPQQDAwUAA2gAMGUCMQD4IoqT2hTUn0jt7oXLdMJ8q4vLp6sg
wHfPiOr9gxreb+e6Oidwd2LDnC4OUqCWiF8CMAzwKs4SnDJYcMLf2vpkbuVE4dTH
Rglz+HGcTLWsFs4KxLsq7MuU+vJTBUeDJeDjdA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIUEMdk6dVgOEIS2cCP0Q43P90Ps5YwDQYJKoZIhvcNAQEF
BQAwajELMAkGA1UEBhMCQ04xEzARBgNVBAoMCmlUcnVzQ2hpbmExHDAaBgNVBAsM
E0NoaW5hIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMMH2lUcnVzQ2hpbmEgQ2xhc3Mg
MiBSb290IENBIC0gRzMwHhcNMTMwNDE4MDkzNjU2WhcNMzMwNDE4MDkzNjU2WjBq
MQswCQYDVQQGEwJDTjETMBEGA1UECgwKaVRydXNDaGluYTEcMBoGA1UECwwTQ2hp
bmEgVHJ1c3QgTmV0d29yazEoMCYGA1UEAwwfaVRydXNDaGluYSBDbGFzcyAyIFJv
b3QgQ0EgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPPShpV
nJbMqqCw6Bz1kehnoPst9pkr0V9idOwU2oyS47/HjJXk9Rd5a9xfwkPO88trUpz5
4GmmwspDXjVFu9L0eFaRuH3KMha1Ak01citbF7cQLJlS7XI+tpkTGHEY5pt3EsQg
wykfZl/A1jrnSkspMS997r2Gim54cwz+mTMgDRhZsKK/lbOeBPpWtcFizjXYCqhw
WktvQfZBYi6o4sHCshnOswi4yV1p+LuFcQ2ciYdWvULh1eZhLxHbGXyznYHi0dGN
z+I9H8aXxqAQfHVhbdHNzi77hCxFjOy+hHrGsyzjrd2swVQ2iUWP8BfEQqGLqM1g
KgWKYfcTGdbPB1MCAwEAAaNjMGEwHQYDVR0OBBYEFG/oAMxTVe7y0+408CTAK8hA
uTyRMB8GA1UdIwQYMBaAFG/oAMxTVe7y0+408CTAK8hAuTyRMA8GA1UdEwEB/wQF
MAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBLnUTfW7hp
emMbuUGCk7RBswzOT83bDM6824EkUnf+X0iKS95SUNGeeSWK2o/3ALJo5hi7GZr3
U8eLaWAcYizfO99UXMRBPw5PRR+gXGEronGUugLpxsjuynoLQu8GQAeysSXKbN1I
UugDo9u8igJORYA+5ms0s5sCUySqbQ2R5z/GoceyI9LdxIVa1RjVX8pYOj8JFwtn
DJN3ftSFvNMYwRuILKuqUYSHc2GPYiHVflDh5nDymCMOQFcFG3WsEuB+EYQPFgIU
1DHmdZcz7Llx8UOZXX2JupWCYzK1XhJb+r4hK5ncf/w8qGtYlmyJpxk3hr1TfUJX
Yf4Zr0fJsGuv
-----END CERTIFICATE-----

View File

@@ -0,0 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEsTCCA5mgAwIBAgIQICAQIQPPwbLUrdrbAXOmNzANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
YXNzIDEgUjEwHhcNMjAxMDIxMDMyODMxWhcNMjIxMDIxMDMyODMxWjB5MQswCQYDVQQGEwJDTjEt
MCsGA1UECgwk5rKz5Y2X5Y2O6L+e572R57uc56eR5oqA5pyJ6ZmQ5YWs5Y+4MQ8wDQYDVQQLDAZB
bGlwYXkxKjAoBgNVBAMMITIwODg0MzE2MDMzODM5NTUtMjAyMTAwMjEwMjYzMTA4OTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBALGEE8eH41uYJJcAsjgvOKkRjyVyfoL0kbB4I9xxMY7N
QWYgFmM8a9lxmEvCB14fIomSqI6fSl3c61BXE7vTqnvF6/nz7D26nXtsZRyv/FF4DFo6TZbeGKo1
cbKnJOU4Gc6z3C+v7CwKwehLitKiAyYezLezi19e2s//dtWStNwaqV3lnKEecLnwXRSyXsbyUB/V
ZBqs0ASFWa3qTQzY3+IG+RDIaWfBJACCXqPnKU68NFTrTr7KfdD5b0/cAcP82iY16LTjMSw+/EeG
QTBx8V7fuRvAOZum4aFmHAE7RMKBlJVrmZrltwJMg8slUqUz1fTln2IgFTVL3l05A67tQJ0CAwEA
AaOCASkwggElMB8GA1UdIwQYMBaAFHEH4gRhFuTl8mXrMQ/J4PQ8mtWRMB0GA1UdDgQWBBQeBxzx
/qpaGW+ve/+aNQbF1Xz91TBABgNVHSAEOTA3MDUGB2CBHAFuAQEwKjAoBggrBgEFBQcCARYcaHR0
cDovL2NhLmFsaXBheS5jb20vY3BzLnBkZjAOBgNVHQ8BAf8EBAMCBsAwLwYDVR0fBCgwJjAkoCKg
IIYeaHR0cDovL2NhLmFsaXBheS5jb20vY3JsNDYuY3JsMGAGCCsGAQUFBwEBBFQwUjAoBggrBgEF
BQcwAoYcaHR0cDovL2NhLmFsaXBheS5jb20vY2E2LmNlcjAmBggrBgEFBQcwAYYaaHR0cDovL2Nh
LmFsaXBheS5jb206ODM0MC8wDQYJKoZIhvcNAQELBQADggEBAGU9VEfOOIDu//RCZrexyg73f1Bw
KB8KwdrMa4jafnN47aA6nojZoS1ULLF6B8r3+NMtavPMazx8UrFZ88FiAIqJ1t1JUm+3YdBWPi84
NbYDOIOiItvcFf9nu58JKrn49a+aS6+IAPNNMvEW4knonqxjPE8ebHTHUuB4E9RNqKaGnvU2osna
sxHjP23li2RfMmkox5T+WQFck2cr1tNeWmCQn0ocAx+VthnbwFL5PQh/nMQJBL2AB8MH6lDeATS5
ayFCCRXCXAz5naPE9/K4GrHBSNRoQcFK9brhijxqACS1FSF2aRmdyAoO4Nlnw+cla4JhQfGCCCMP
Ng8J+I+3imU=
-----END CERTIFICATE-----

View File

@@ -5,7 +5,7 @@
* @Author: kangkang
* @Date: 2020-09-30 17:32:46
* @LastEditors: kangkang
* @LastEditTime: 2020-10-16 17:44:31
* @LastEditTime: 2020-10-21 20:23:37
*/
return [
@@ -39,8 +39,11 @@ return [
],
//支付宝
'alipay' => [
'app_id' => '2021001102636643',
'public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAksDNAevies+/JyIvTagC6IAHTIDdCd2uNbjDn2ez7TV2A3LAH9DEk53vwDX+mCPE+v5KFkeAXsWJ+Hcvz3cbTbQj2hqStiYKZdu8DjK2YlilPBWm8SoKR64WtMxT91PH0w5gRT7++6HH7H9p+ctlSyV4VKbVfyh0lnv9BsnNAiIoSDSgf4cUXQy5WP8OMecUeF39vYctzd6KOJN/TlD7zeHfECD/+cGO68t2rANiQLewso7O0LwIfGqsAmbzhAn8pQ82JjVIYfVGOVo/dtxlG67G1QzaVgrAEvM8kovflltm+xPElnwjixblsD4v9OHqhPohCfIdSb4yJpxlxnsCOQIDAQAB',
'private_key' => 'MIIEpQIBAAKCAQEA+LXfPGKZxbK67My3GCCm2hRrqbXuIcavDqfga5CRM0GoI8RbeT7fb/GuokDYg9nbjv77mAzf4MjO5g8wU5C33RDQLMArTrl6NTexdhTrM/RWo+8OhLE2UWeMHs6vAhynwOI9y53GBYbYJnxsj0LNHU0R5st+c5HKWzoJzuJ0/bUygY1N5HiEvVfGINydDTUx17dRZDveV2mg8K4ZZSjzn8VFJVaYP1jH8ju20LgVfJZzzXNYjGICBYjH57hmX9E8eyCFfKFxMlawfsvVIiD4EYyDKI/k8/ZOdDxuDMwl0egrQM9twRQD1wVFG4j4sG+Vrm3pYQuzl14fUq4mGLlpTwIDAQABAoIBAQCboaNptAGplqgl2gyQyo3eVXzxm+jBtgSBVUe3x6U0v9cpWowrGM7UzBWNbqqOB1u+5Ywmn5fQn5fomoSRJjQH36eE+VOgVaxFdO5Vh82Om01EFCmvmvz0f6lM9eTJm4jVyD0HF1l8x96mZqHAG/siZMHY/GnKg+Zuo6jTjx3KS8bdIWg6Y5O63NcNTFvUUPxLXXJptRIo8IMu347+3DiRkZvMP2JH98darOPdSFZgHgAUL69vIkSRup27i2txqooXhogHzBY6D4Sy4gSHQCX3eaIzioByg/IlT+hqlbyIpJxDN9pW5r9gzb5wsMGVRt3FTr0XtPNuuXPr3peor/zBAoGBAPzA5t20Fc4nGHXIzafaOKjNjaZmvazBrSRjuW7XZR2eT9wYLJBBSVxX1sHR3OWK+f4pPM1OOYjCTsM58KXH0DCmVrfQ1LrvT3cRr8QL1TnHswDXo+T7/QyBKDxKJ6eaar9FYlkRIMsme4MySwPEkXoX0WS90e2FqBnkpDYc7cJRAoGBAPvnrQJcof9rlVWZZRVH4YCCqtL78rPJ1LstkUnRuXPDsgcfMoFMY6WRJ3Qm1/flmTZXsgh1t5adQmLs3v4mOwbmOcHLyO3OPCFHNsNJYRjeJWfqfhWJNNffA/p2VbHZ8mxex3LBWNh8Hr4pt+THQm3DDdCXk76HyU5eurMZkumfAoGBAL07Bx2xeCnR52Q3pJEotgbbblPI0/UFQ8Xcy7YKmW+lWRDlIGgYGP6D3QtbPdC1ThlVcmobSMP1BdbwCBV2FY522rHgLYSPKqVwnnFekpMhygi1acVES94SzLbmpe27lHQDVHBufGjcNNiyzKrTfj80mdacrxDvYj2Qisjgu7khAoGAPJ584NOf3FJsZmP6kktw9bb8GresqR1Jxx1pGCWTBkuynMoiIkFavW4X23i5ghtLamtiGW0Sl/kSD7JG20wh6kAe6Ab9PFTj3XJAuHABILXctIwWeWJCSCyPzYcKijkTgIayYmgq1DXSRBrP+QsGblmBCpBfantMs0JSlWTzGKsCgYEA8jZX0RR+fLqSlptVrg2gmL/PsUG1OevcU1m9SLHcRW+FfMaV3AR5f70C0p/0MJLm9sTQrezup8SGeE+FS/7SG/0QFJ15Hq3nfmX3dgxbTZF8CRJxq/qdTD3/WoqMt1l7+/z4peC484HH6k51YmPVkOdrg72YExsbG0uePse3sqA='
'app_id' => '2021002102631089',
'public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYQTx4fjW5gklwCyOC84qRGPJXJ+gvSRsHgj3HExjs1BZiAWYzxr2XGYS8IHXh8iiZKojp9KXdzrUFcTu9Oqe8Xr+fPsPbqde2xlHK/8UXgMWjpNlt4YqjVxsqck5TgZzrPcL6/sLArB6EuK0qIDJh7Mt7OLX17az/921ZK03BqpXeWcoR5wufBdFLJexvJQH9VkGqzQBIVZrepNDNjf4gb5EMhpZ8EkAIJeo+cpTrw0VOtOvsp90PlvT9wBw/zaJjXotOMxLD78R4ZBMHHxXt+5G8A5m6bhoWYcATtEwoGUlWuZmuW3AkyDyyVSpTPV9OWfYiAVNUveXTkDru1AnQIDAQAB',
'private_key' => 'MIIEowIBAAKCAQEAsYQTx4fjW5gklwCyOC84qRGPJXJ+gvSRsHgj3HExjs1BZiAWYzxr2XGYS8IHXh8iiZKojp9KXdzrUFcTu9Oqe8Xr+fPsPbqde2xlHK/8UXgMWjpNlt4YqjVxsqck5TgZzrPcL6/sLArB6EuK0qIDJh7Mt7OLX17az/921ZK03BqpXeWcoR5wufBdFLJexvJQH9VkGqzQBIVZrepNDNjf4gb5EMhpZ8EkAIJeo+cpTrw0VOtOvsp90PlvT9wBw/zaJjXotOMxLD78R4ZBMHHxXt+5G8A5m6bhoWYcATtEwoGUlWuZmuW3AkyDyyVSpTPV9OWfYiAVNUveXTkDru1AnQIDAQABAoIBADd/TFPAJxN2sFHJNO6dzMAGrlMNxYGZhoa+OK/tb4nun7iW5Yjm1ezoN63PnlANudV61VmpcS2BKMw4PQImvZDuosTFPqFZ22w/yii62E58EpiOy70T+HAWP1KUMNO8w0y9LGR4QoTOZCsEmwUZA5UCYgw4hKUvWYdXncZNlF+PLNNvYIE4oJ8ixwJaBrO0agZszK8Kv8VW86++PGGw7YkP4e27Z7Dk4AwmdJAOrfaf7nHSiUPNB5S2spxsxJC7iU67/YS9amW3GBLLrQ/UKnjEmWlymPAx28Q9iguAQvyEoHUo5Dy4tZVldwWWOB1U9yj22zKpKeNwU135VSa9Hl0CgYEA4Lnth7WlWeTH7su2L4dIBsmTQeqkWl5nsNdfJl7q6Ooi5yvDahLy8ys8rWawkuTvFyGzZHYGnK0zEzUiMGTDxOU8N3E/D+CyarFhAJ7yycYlbOD5ADWy+6Ipq1ya4wIAdAB6dHHXw9yLfvACJTZtbUYSJvHgKIb3wNqcL/Oznm8CgYEAyjg9JvEhoSzAf+nJ+x/9enE/qISgweoNTctcqE+UY4VPn2y7D+UvVhdmPn7hn+fCevl03/JzDDYmmdaWq8HadiubJLEebLKlzDmAefY5fnjEEPR/GeCQWutdsmOAU8xhB3hzO6fDEP7bo7kZb3v7ES9LXaGcah5KCN2Tjfk+l7MCgYEAh+wNHhMg8tEsmGOASxkA2JIdTjY0uC/3eX+anmO0o7HR8I6IwGS7q5aQObUtwXtUnWIV1gKJF0Su6sQtbKXVvwaDuGj3oovefifRKwX4hVAinMsp8BWKryYzG+GEER/J1F/hsQKWZXHEsb9LHOThpMFIA2Qyl3Ci83OGGn7FOmMCgYAoRRjQd3aF/T58epcxfkZhKspNidPlqfFqS5QxJF/djb+0dNevq6lIkLJYwbW2vVV6XdELg+GrTeFUA2rP23Pg0oA7x1XSuaTQzaarIwCCEhShd78T7SdyI6ruCmiUx3+PGEqCV7891DLzILpS/DKcUnnEtJlMfKmrqExpGnh/hwKBgH/iqwvI/gGIqxIpAjl8uSBKCubRIzK4L1HX/jN0uqNHqDEmPenClJekhsaITSgVA/tqfqi6b1XZaDtg4beYX/ZfSWNi1afdqCf1i3ccfNUE6sagoSRBkWKNIqF6U3P505e4N7igMmYBk4ufemJedOAw/HnCiSNOY1yzElmn5bnc',
'app_crt' => APP_PATH.'config/alicrts/appCertPublicKey_2021002102631089.crt',
'root_crt' => APP_PATH.'config/alicrts/alipayRootCert.crt',
'public_crt' => APP_PATH.'config/alicrts/alipayCertPublicKey_RSA2.crt',
]
];