edit-admin-wx-profitsharingfinish
This commit is contained in:
@@ -136,7 +136,7 @@ $config['subclass_prefix'] = 'HD_';
|
|||||||
| Note: This will NOT disable or override the CodeIgniter-specific
|
| Note: This will NOT disable or override the CodeIgniter-specific
|
||||||
| autoloading (application/config/autoload.php)
|
| autoloading (application/config/autoload.php)
|
||||||
*/
|
*/
|
||||||
$config['composer_autoload'] = FALSE;
|
$config['composer_autoload'] = COMMPATH.'/vendor/autoload.php';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Created by Vim
|
||||||
|
* User: lcc
|
||||||
|
* Desc: 微信支付配置
|
||||||
|
* Date: 2021/8/12
|
||||||
|
* Time: 14:12
|
||||||
|
*/
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
$config['default'] = [ //服务商信息配置
|
||||||
|
'appid' => 'wxe66f905683582780', //服应用ID
|
||||||
|
'mchid' => '1612096731', //商户号
|
||||||
|
'merchantSerialNumber' => '761590F1FF6DFC2466894F96E2DE1169CE644A74', //商户号API证书序列号
|
||||||
|
'merchantPrivateKey' => '/home/dev28/liche/api/third_party/WXconfig/apiclient_key.pem', //商户私钥路径
|
||||||
|
'wechatpayCertificate' => '/home/dev28/liche/api/third_party/WXconfig/apiclient_wechatpay.pem', //微信支付平台证书路径
|
||||||
|
'sub_appid' => 'wx98e64c11aac45966' //子商户应用ID
|
||||||
|
];
|
||||||
|
|
||||||
@@ -37,28 +37,38 @@ class Profinish extends HD_Controller
|
|||||||
|
|
||||||
public function edit()
|
public function edit()
|
||||||
{
|
{
|
||||||
require_once COMMPATH."../api/third_party/WXconfig/1612096731.Config.php";
|
|
||||||
require_once COMMPATH."../api/third_party/WXpay/WxPay.Api.php";
|
$sub_mchid = $this->input->post('sub_mchid');
|
||||||
$transaction_id = $this->input->post('transaction_id');
|
$transaction_id = $this->input->post('transaction_id');
|
||||||
$description = $this->input->post('description');
|
$description = $this->input->post('description');
|
||||||
if(!$transaction_id || !$description){
|
if(!$transaction_id || !$description || !$sub_mchid){
|
||||||
return $this->show_json(SYS_CODE_FAIL, '参数错误');
|
return $this->show_json(SYS_CODE_FAIL, '参数错误');
|
||||||
}
|
}
|
||||||
$this->load->helper('order');
|
$this->load->helper('order');
|
||||||
$out_order_no = create_order_no();
|
$out_order_no = create_order_no();
|
||||||
$config = new WxPayConfig();
|
$this->config->load('wxpay');
|
||||||
$wxpay = new WxPayProfitSharingFinish();
|
$wx_config = $this->config->item('default');
|
||||||
$wxpay -> SetTransaction_id($transaction_id);
|
$this->load->library('WechatPayV3');
|
||||||
$wxpay -> SetOut_order_no($out_order_no);
|
$params = [
|
||||||
$wxpay -> SetDescription($description);
|
'merchantId' => $wx_config['mchid'],
|
||||||
$return = WxPayApi::profitsharingfinish($config, $wxpay);
|
'merchantSerialNumber' => $wx_config['merchantSerialNumber'],
|
||||||
debug_log("[结束分账返回参数]:" .json_encode($return,JSON_UNESCAPED_UNICODE), $this->log_file,'wxapi');
|
'merchantPrivateKey' => $wx_config['merchantPrivateKey'],
|
||||||
if($return['result_code'] == 'SUCCESS') {
|
'wechatpayCertificate' => $wx_config['wechatpayCertificate'],
|
||||||
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
|
];
|
||||||
}else{
|
$WechatPayV3 = new WechatPayV3($params);
|
||||||
$err_msg = $return['return_msg'] ? $return['return_msg'] : $return['return_msg'].$return['err_code_des'];
|
$json = [
|
||||||
return $this->show_json(SYS_CODE_FAIL, '错误信息:'.$err_msg);
|
'sub_mchid' => $sub_mchid,
|
||||||
|
'transaction_id' => $transaction_id,
|
||||||
|
'out_order_no' => $out_order_no,
|
||||||
|
'description' => $description,
|
||||||
|
];
|
||||||
|
$noncestr = getNonceStr(20);
|
||||||
|
$resq = $WechatPayV3->unfreeze($json,$noncestr);
|
||||||
|
debug_log("[结束分账返回参数]:" .json_encode($resq,JSON_UNESCAPED_UNICODE), $this->log_file,'wxapi');
|
||||||
|
if(!$resq['code']){
|
||||||
|
return $this->show_json(SYS_CODE_FAIL, $resq['msg']);
|
||||||
}
|
}
|
||||||
|
return $this->show_json(SYS_CODE_SUCCESS, '操作成功');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,10 @@
|
|||||||
<form class="am-form am-form-horizontal" action="/app/profinish/edit" data-auto="true" method="post" style="width: 90%;padding-top: 10px">
|
<form class="am-form am-form-horizontal" action="/app/profinish/edit" data-auto="true" method="post" style="width: 90%;padding-top: 10px">
|
||||||
|
<div class="am-form-group">
|
||||||
|
<label class="am-para-label w150">子商户号:</label>
|
||||||
|
<div class="am-para-input">
|
||||||
|
<input type="text" placeholder="子商户号" name="sub_mchid" value="" style="width:300px;display:inline"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="am-form-group">
|
<div class="am-form-group">
|
||||||
<label class="am-para-label w150">微信支付订单号:</label>
|
<label class="am-para-label w150">微信支付订单号:</label>
|
||||||
<div class="am-para-input">
|
<div class="am-para-input">
|
||||||
|
|||||||
-30
@@ -1,30 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* 配置账号信息
|
|
||||||
* 狸车服务商户
|
|
||||||
*/
|
|
||||||
define('LICHE_APICLIENT_CERT',dirname(__FILE__).'/liche_cert/1612096731_cert.pem');
|
|
||||||
define('LICHE_APICLIENT_KEY',dirname(__FILE__).'/liche_cert/1612096731_key.pem');
|
|
||||||
|
|
||||||
class WxPayConfig
|
|
||||||
{
|
|
||||||
const APPID = 'wx98e64c11aac45966';
|
|
||||||
const APPSECRET = 'f8eec7be1c87a1c8e40213e144821ec3';
|
|
||||||
const MCHID = '1612096731';
|
|
||||||
const KEY = '056afb568e28468defe86dd0102f8d33';
|
|
||||||
const SIGN_TYPE = 'HMAC-SHA256';
|
|
||||||
const NOTIFY_URL = '';
|
|
||||||
|
|
||||||
//=======【证书路径设置】=====================================
|
|
||||||
const SSLCERT_PATH = LICHE_APICLIENT_CERT;
|
|
||||||
const SSLKEY_PATH = LICHE_APICLIENT_KEY;
|
|
||||||
|
|
||||||
//=======【curl代理设置】===================================
|
|
||||||
const CURL_PROXY_HOST = "0.0.0.0";//"10.152.18.220";
|
|
||||||
const CURL_PROXY_PORT = 0;//8080;
|
|
||||||
|
|
||||||
//=======【上报信息配置】===================================
|
|
||||||
|
|
||||||
const REPORT_LEVENL = 1;
|
|
||||||
|
|
||||||
}
|
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC9LwCi58X6Gf1i
|
||||||
|
xxw3o22b/+l8bJlsdgFP9itJas7hTAGnjR9UpLwWtQ3hug2W3bAkRe8/toQQwois
|
||||||
|
817SnF8IcaaVfFwYcF7VEgiAVAkPGWn2I9Hhwj94rRz0OTz5CFms4d56QcjM+Cxg
|
||||||
|
3SxaafJjZdEZ5eOWYRMxGGYnnnkN833uC2Hft6sk74KhLQ9gNQQFLm/ZJLmozw1y
|
||||||
|
WIoIwJ2B3Q3jj3mtJjQdaav20MlYzC9xLCep4bVTaS13xvhBoB/6AE39l3OHSsgv
|
||||||
|
HusUgNbsBczPBbN9SbfX7je3405Q/TIH8meSf05k5NaohtPHMlxpgMZ3HrG1JkwX
|
||||||
|
fManQ+cpAgMBAAECggEAO9rmKaSJF9MnPxxeCiBz6npyZgJ6HD3Ntn3dPjJD2DZT
|
||||||
|
A677ra0dMVYBWVyjNgtX0nIp+w+FA0R5N7ccVihRTPugSAV7oePTrTgyZl+wKg3R
|
||||||
|
X6X/npz1tfmXgpGlf+krbi5cVHQB0w/mApOXl9eTb+1j1fzNH+QAzXS5xWk3Rbkr
|
||||||
|
3hXKOcNav0wnhrIZxsPX6+eA4Ugk4oh513vEJlll1FyM08DO7ZFvu2Gng3w43j/H
|
||||||
|
dMAy7N0JVy8GoTpKyGH9gC+Bx8QUrIZuc61GbTshaaSdxnx3+R4VoVgqFbkQyTNH
|
||||||
|
KA2+mSSoV0mkrDhFiawQy2yXLEF80K03+hnNDmQwAQKBgQDh0y6wkQzXkwN5EMtv
|
||||||
|
6RUOf66QJjRzcSBYpY02T9NbYHpFsBjMkn9lylOEqhRBy/Y+EEgKBLCFFFKx/KVZ
|
||||||
|
hbIPOLCKo+UbLwDGgkajFVXOQ/lRbdsNuYW9/zLpPYAhlbYfMUuVaFGrrNIjxLYV
|
||||||
|
0axmzVfka9/DXw1887VdQ/pFKQKBgQDWdm0gucBwP5969Dry1DuYCeIj9tSXhY7s
|
||||||
|
HJ4k6o1TWBZn2NJdEichIh3PO2fRPT5fDmXEnZMwz8gZIJ8rUBNgmKe7EApeXMT8
|
||||||
|
8fmaQPRbR88nIJeyTSEk4WORkbH/2Xz5F6fvuR7KF4wGr43m/IdMpSrv/BnkLF23
|
||||||
|
zSXb1d7SAQKBgHY/i+o++deEDsR9K9m81h7ScwjeSIbOjN5+SdRPtl/ZxAzrqgCt
|
||||||
|
EXKuoE8OdC8D6zwScHZ2gCwfOTIkFj0rSdK4n5DpQ1WZpjFMFErfKCAq7cla2eJ0
|
||||||
|
6/hSQklpv8dWSphIyshAaMuZYiwCnEoOkdT+33AnoHMAOeLdBnIA33MJAoGAAWkP
|
||||||
|
+KogENzqQJXAmX450hsmiJQD++cd9IGPrLB6M3Ud2Jr9by1CYp5l0coTObYMZfWj
|
||||||
|
R7K9mBGVwEyNn2xMZFM8rydA2jQD+6HfwVryAHOtchVtyfdl42c0D24E3KjigITe
|
||||||
|
Tt5JzIxxGE4pQb6haSig6qkexnhgOWg4+oQijgECgYEAnDH3YdfPOFbfFkBT+oIt
|
||||||
|
kZ+NN/IPwUOBcWb23dTafxA09Bw+2UaSzAC+BYhvKFCtSKgqVQtMRxOHcAYBWvCs
|
||||||
|
CNX+ALyxDfANdxaprckCETGXxQszGA2hcD+cUbfLna4ly1fhUqg5Gq3tCdi/2+vM
|
||||||
|
0pbaUzLN1SPCBhdutX4VBzs=
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIID3DCCAsSgAwIBAgIUe68GGg5wWRf1+DfkhV7pOoLTtBwwDQYJKoZIhvcNAQEL
|
||||||
|
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
|
||||||
|
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
|
||||||
|
Q0EwHhcNMjEwODExMDgyNTE3WhcNMjYwODEwMDgyNTE3WjBuMRgwFgYDVQQDDA9U
|
||||||
|
ZW5wYXkuY29tIHNpZ24xEzARBgNVBAoMClRlbnBheS5jb20xHTAbBgNVBAsMFFRl
|
||||||
|
bnBheS5jb20gQ0EgQ2VudGVyMQswCQYDVQQGDAJDTjERMA8GA1UEBwwIU2hlblpo
|
||||||
|
ZW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDM2TRhXB5BXhy4Gn/t
|
||||||
|
GxOt96TwqCWjBRtuzPRJC84JzEkwPtVcYnaROlVBlgLmhQZWDhEcly0fgVJ3nt7/
|
||||||
|
OfXhtEQI0xtEV9ZYPxQNRJ4IgutIhxNMMKJ9ElXZSTmhWwbQdohsKksuAk0shEZJ
|
||||||
|
fmc4uemwzgf/qLy7INHYqAWdTmhlkzI1aQk+8xYjurS847mMSsX+55HRsJAal2/4
|
||||||
|
fgdRwgSX7NHSclSbxVMI8TvmqK3gxBE4rJ0xHd7P/aomuPAjnGyFQpTJKk1/nwWF
|
||||||
|
wWpKvAMx6lO55dFB3l0f8l3/2F+L7RgM+k7ije5j8Ke0+y9vAU0xx6khcNRAdlw1
|
||||||
|
rNzLAgMBAAGjgYEwfzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DBlBgNVHR8EXjBc
|
||||||
|
MFqgWKBWhlRodHRwOi8vZXZjYS5pdHJ1cy5jb20uY24vcHVibGljL2l0cnVzY3Js
|
||||||
|
P0NBPTFCRDQyMjBFNTBEQkMwNEIwNkFEMzk3NTQ5ODQ2QzAxQzNFOEVCRDIwDQYJ
|
||||||
|
KoZIhvcNAQELBQADggEBAHKZixcFnEijO/INTYXDZ1CO3UOPDE3vjaBRlORspn5Z
|
||||||
|
QXdIGxZat3ZulQjQtT1aicrw61nS/xV2MR4Ob4AWeSUcXLSfWjWu0QyJ1jeU0zpI
|
||||||
|
DOIQU22jquY0IFAnZXlvYH8pTuydYFBnTtdjmdIwyebbvOUI0K6NkJtBbGkDYOsX
|
||||||
|
14kGoPugOpyK9VFzm8hvHm6aO6EgGNnkvJzrqlJNTbG4+08HGqgwZczt/xXpb6sL
|
||||||
|
QTIFNvAgMIGS3ohCQOUtZPChaBf6GNZUgRt3qcUG/75RgxNhFzmthyIjk4/JjhpU
|
||||||
|
QASkbUQkYcFjO8WlSejT4MKwEij/aN7U7LSq4gLw61k=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIID8jCCAtqgAwIBAgIUTRw+QrJWTy+pD7oRtWcv5gEKubEwDQYJKoZIhvcNAQEL
|
|
||||||
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
|
|
||||||
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
|
|
||||||
Q0EwHhcNMjEwOTAyMDkwNzEwWhcNMjYwOTAxMDkwNzEwWjCBgzETMBEGA1UEAwwK
|
|
||||||
MTYxMjA5NjczMTEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMS8wLQYDVQQL
|
|
||||||
DCbni7jovaYo5Y6m6ZeoKee9kee7nOenkeaKgOaciemZkOWFrOWPuDELMAkGA1UE
|
|
||||||
BgwCQ04xETAPBgNVBAcMCFNoZW5aaGVuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
|
||||||
MIIBCgKCAQEArJMenGtx65nlAZoVqTFNdY7NJePnZ6dAWtecmPgFNuLPnX4IswxA
|
|
||||||
PIwBC90yFq0XDj/WuX3E20CS90a2RTsc4Qgi9jy4H9IFcWk3wXg/1EgxpyhbpcBy
|
|
||||||
kzhpl51+QP04YEdkPSWiU2fprK6EXDqdIc2TbRdT84ieqbLiKmatdI26h8F7B6d7
|
|
||||||
ACksglMl9sqXBPR98Qm2ujQLZij4N51pWvcXXULBfDvkPySpGdx6iLgVUcF4QstY
|
|
||||||
Ev6kLmhD6ABIxFeTZRIRKdWoPigAXwr7b6+jyrMLcm+EZc26PayOZdMR5vcqd1g+
|
|
||||||
ECdnx8jd9OtaDJLcnmDtXjXJT+20mHJcRwIDAQABo4GBMH8wCQYDVR0TBAIwADAL
|
|
||||||
BgNVHQ8EBAMCBPAwZQYDVR0fBF4wXDBaoFigVoZUaHR0cDovL2V2Y2EuaXRydXMu
|
|
||||||
Y29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRCMDZBRDM5
|
|
||||||
NzU0OTg0NkMwMUMzRThFQkQyMA0GCSqGSIb3DQEBCwUAA4IBAQAUqXIRMFk1sYrq
|
|
||||||
T4G7VMfiNOTc4vKMVGYLQDI7neUxAmn622qV4NYpll1mM/WRs8I2TT8LM343wU+x
|
|
||||||
RAfVz6QuSrRYxm2HILoRRdxAQGoTK3GloVmGkEsn0smskMqvqbTvpuM/ksRCduEv
|
|
||||||
yQ0mE2efioHklfYvFgxbsvYXLbNJRlNloUFDPiAYKi6G7oOpfNGKNCxSfC9MNHkE
|
|
||||||
ojB7a51XELxhmW4cHv3Z+q+LY2GBJxJx2yE7WbAFP2ZCShHgZWka5AeBHVuRVOtP
|
|
||||||
79NKHVtODOeh0zMHypenMTSXsULL8RmUMUMrvHNST/k2PfQhmyquUz0+scvMjDb/
|
|
||||||
S2+TM0JA
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCskx6ca3HrmeUB
|
|
||||||
mhWpMU11js0l4+dnp0Ba15yY+AU24s+dfgizDEA8jAEL3TIWrRcOP9a5fcTbQJL3
|
|
||||||
RrZFOxzhCCL2PLgf0gVxaTfBeD/USDGnKFulwHKTOGmXnX5A/ThgR2Q9JaJTZ+ms
|
|
||||||
roRcOp0hzZNtF1PziJ6psuIqZq10jbqHwXsHp3sAKSyCUyX2ypcE9H3xCba6NAtm
|
|
||||||
KPg3nWla9xddQsF8O+Q/JKkZ3HqIuBVRwXhCy1gS/qQuaEPoAEjEV5NlEhEp1ag+
|
|
||||||
KABfCvtvr6PKswtyb4Rlzbo9rI5l0xHm9yp3WD4QJ2fHyN3061oMktyeYO1eNclP
|
|
||||||
7bSYclxHAgMBAAECggEAZk3U0L+1SgjyRG/WtXU/yRf9r5+ad80jjnbRI7GsTaxJ
|
|
||||||
jcDAYXw6vGn22NSpM94qk8zuewn+4Ec4mJR3yzTO2uxa5YR7VonHpkLMxcmGdU7S
|
|
||||||
+JgpNGqQwYuotTOtO9OhTxojZ0hfIXixgyf12UL6Eabv5bT1lKKCBHHCN4ak/zln
|
|
||||||
o+UmkC1mndcaaTrNsQLPgltcG4AtFjwFnmyCMQkIRZkJL6xWy+JWpkiZvA/t2IM1
|
|
||||||
PIPYf/vQPqaib8SRw5ALNKsEfgmv+tyTuMsQLyEYQV0yZjRFnU622x5Tbqrmj3uC
|
|
||||||
1m3C2AR5R6GxBso1AatvEgbfeIjTGSCkPxkzfIEMYQKBgQDk7V3eLtvJqS0NmCNv
|
|
||||||
QyKw3llh53RtFGXdi8Nf/g6MS79RRSNfMZymimXMqPeUNoM7JxqpUIgn+y/35pxp
|
|
||||||
ejSY2jtKm0+Xm3pzecNmbVOIc7M3ThNpIR/WEqYKqAMpa/VgWym1Vvf8ocG9Bwqj
|
|
||||||
XV1zlPLKx6L/SMsWFBJel3K69wKBgQDA+7bP/Zw2NgHifSpWXHaWib4QBP7CJKDk
|
|
||||||
WMdBwAsxznuXkbsXkU+XymBiSNwi9ZZUPBsmCAZXSh+zYzvoL7nWnX7YfkjvfMJd
|
|
||||||
Lu+4jNU663NXjn7wcw8yfK+gKL7O3qo8WzCE1+YAte42VkPySDdsnzbKHlNsYXIS
|
|
||||||
MY+2q6hFMQKBgENamy2Nt9jDT6AaTQKlTAWhxcaKZLTbNYVTY65Qf1NDzgxJPTj6
|
|
||||||
zc4qFf17ESyoRUAYJz39lbG9s8VKMmbOL79xJdSzkV1Xv1VOU/FE5TjWYbo53Hgn
|
|
||||||
6MgBQJ0OBbAgNVeeOs1Bw0CvDuNguP6Lr70b67tBtXFKp4XdbfIquPTNAoGAQyQQ
|
|
||||||
IWLZw16c30CuxycaNxurHYWvYLo/o9JjWLPI8UYmZ8BS+EsdBvFpASjaNet9psbW
|
|
||||||
py+pjRsD1nSS9iAMpudap1WgaHneYW8gBfQxh3M9SNwRu/Q7+FO7ApzKbcy4K5GK
|
|
||||||
Wt2Gbv7c5tiygQuxBMCL3lwYqB9rAXtuxZ4JSDECgYBlRbSAeHFrs09KAOb3DBrF
|
|
||||||
BLP7CTmuDPAF5dhKnv0DKyjLD3fiuTesBEqfWup1LjzxVMtZ7deMlvai7rgg/2R2
|
|
||||||
9dd4sLeHQTGe3zv9aTA81uBXb9pDfOrPC/f4dzdiqLoL2c5a5qZpCvbsJrZ3KO45
|
|
||||||
sRGnamJ7atVmxag7hmOhRw==
|
|
||||||
-----END PRIVATE KEY-----
|
|
||||||
@@ -71,6 +71,44 @@ class WechatPayV3{
|
|||||||
return ['code'=>0,'msg'=>$error_msg];
|
return ['code'=>0,'msg'=>$error_msg];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//解冻剩余资金API
|
||||||
|
public function unfreeze($json,$noncestr){
|
||||||
|
$url = 'https://api.mch.weixin.qq.com/v3/profitsharing/orders/unfreeze';
|
||||||
|
// 商户相关配置
|
||||||
|
$merchantPrivateKey = PemUtil::loadPrivateKey($this->merchantPrivateKey); // 商户私钥
|
||||||
|
$wechatpayCertificate = PemUtil::loadCertificate($this->wechatpayCertificate); // 微信支付平台证书
|
||||||
|
|
||||||
|
$wechatpayMiddleware = WechatPayMiddleware::builder()
|
||||||
|
->withMerchant($this->merchantId, $this->merchantSerialNumber, $merchantPrivateKey) // 传入商户相关配置
|
||||||
|
->withWechatPay([ $wechatpayCertificate ]) // 可传入多个微信支付平台证书,参数类型为array
|
||||||
|
->build();
|
||||||
|
|
||||||
|
$stack = GuzzleHttp\HandlerStack::create();
|
||||||
|
$stack->push($wechatpayMiddleware, 'wechatpay');
|
||||||
|
|
||||||
|
// 创建Guzzle HTTP Client时,将HandlerStack传入
|
||||||
|
$client = new GuzzleHttp\Client(['handler' => $stack]);
|
||||||
|
|
||||||
|
// 接下来,正常使用Guzzle发起API请求,WechatPayMiddleware会自动地处理签名和验签
|
||||||
|
try {
|
||||||
|
$resp = $client->request('POST', $url, [
|
||||||
|
'json' => $json,
|
||||||
|
'headers' => [ 'Accept' => 'application/json' ]
|
||||||
|
]);
|
||||||
|
|
||||||
|
$body = json_decode($resp->getBody(),true);
|
||||||
|
return ['code'=>1,'data'=>$body];
|
||||||
|
} catch (RequestException $e) {
|
||||||
|
// 进行错误处理
|
||||||
|
//echo $e->getMessage()."\n";
|
||||||
|
$error_msg = $e->getMessage();
|
||||||
|
if ($e->hasResponse()) {
|
||||||
|
//echo $e->getResponse()->getStatusCode().' '.$e->getResponse()->getReasonPhrase()."\n";
|
||||||
|
//echo $e->getResponse()->getBody();
|
||||||
|
}
|
||||||
|
return ['code'=>0,'msg'=>$error_msg];
|
||||||
|
}
|
||||||
|
}
|
||||||
//调起支付的签名
|
//调起支付的签名
|
||||||
private function getWechartSign($appid,$timeStamp,$noncestr,$prepay_id){
|
private function getWechartSign($appid,$timeStamp,$noncestr,$prepay_id){
|
||||||
$str = $appid."\n".$timeStamp."\n".$noncestr."\n".$prepay_id."\n";
|
$str = $appid."\n".$timeStamp."\n".$noncestr."\n".$prepay_id."\n";
|
||||||
|
|||||||
Reference in New Issue
Block a user