117 lines
3.4 KiB
PHP
117 lines
3.4 KiB
PHP
<?php
|
||
/***************************下单***************************/
|
||
$token = 'ECafZA9hkn01cXsdfasfTLu7Lasdfa';
|
||
$app_id="213r34921431234";
|
||
$data = [
|
||
'app_id' => $app_id,
|
||
'money' => 500,
|
||
'notify_url' => 'https://demo.com/demo1.php',
|
||
'out_trade_sn' => '1111455' . time(),
|
||
'return_url' => 'https://demo.com/demo2.php',
|
||
];
|
||
ksort($data);
|
||
$secret='';
|
||
foreach ($data as$k=> $d){
|
||
$secret.=$k.'='.$d.'&';
|
||
}
|
||
$secret .= 'token='.$token;
|
||
|
||
$sign=md5(strtolower(trim($secret,'&')));
|
||
$atta=[
|
||
'username'=>'测试',
|
||
'user_id'=>1,
|
||
'title'=>'aa',
|
||
'pay_type'=>'baobeiyepay_alipay',
|
||
'ewm_account' => '0745552949',//付款 支付的 银行卡号 如果短信模板包含短信,则需要,否则使用验证码,
|
||
// 're_type'=>'json',
|
||
'language'=>'en',//收款码的语言 默认 zh_cn
|
||
'pay_channel'=>'333_mach_id',//可传,可不传 收款的银行卡号 全球支付对应多张卡,是必须要传的
|
||
'sign'=>$sign
|
||
];
|
||
|
||
/*
|
||
* 发送对象数据
|
||
* @param $url 请求url
|
||
* @param $jsonStr 发送数组
|
||
* @return string
|
||
*/
|
||
function httpPost($url, $param)
|
||
{
|
||
if (empty($url) || empty($param)) {
|
||
return false;
|
||
}
|
||
$param = http_build_query($param);
|
||
try {
|
||
$ch = curl_init();//初始化curl
|
||
curl_setopt($ch, CURLOPT_URL, $url);
|
||
curl_setopt($ch, CURLOPT_POST, 1);
|
||
curl_setopt($ch, CURLOPT_POSTFIELDS,$param);
|
||
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
|
||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||
//正式环境时解开注释
|
||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||
$data = curl_exec($ch);//运行curl
|
||
curl_close($ch);
|
||
if (!$data) {
|
||
throw new \Exception('请求出错');
|
||
}
|
||
return $data;
|
||
} catch (\Exception $e) {
|
||
//(new \think\Log())->write('请求['.$url.']出现错误:'.$e->getMessage(),'log');
|
||
return false;
|
||
}
|
||
}
|
||
$url='https://wujie.la/order/order';
|
||
//$data=array_merge($data,$atta);
|
||
//$d=httpPost($url,$data);
|
||
//echo $d;
|
||
|
||
/***************************查询订单***************************/
|
||
|
||
$ordersn = "2020032284892454";
|
||
$check = 'https://wujie.la/order/check';
|
||
// order_sn out_trade_sn 二选一,两个都传以 order_sn为准
|
||
$data = [
|
||
'app_id' => $app_id,
|
||
'order_sn'=>$ordersn,
|
||
'out_trade_sn'=>$out_trade_sn,
|
||
'time'=>time(),
|
||
];
|
||
ksort($data);
|
||
$secret='';
|
||
foreach ($data as$k=> $d){
|
||
if(!empty($d))
|
||
{
|
||
$secret.=$k.'='.$d.'&';
|
||
}
|
||
}
|
||
$secret .= 'token=' . $token;
|
||
$sign = md5(strtolower(trim($secret, '&')));
|
||
$data['sign'] = $sign;
|
||
|
||
$d = httpPost($check, $data);
|
||
// pay_status 订单状态:1,交易成功,0,未支付,2,处理中,3交易失败
|
||
var_dump($d);
|
||
/********************************验证回调签名*********************************/
|
||
// pay_status 订单状态:1,交易成功,0,未支付,2,处理中,3交易失败
|
||
$data = [
|
||
'app_id' => $app_id,
|
||
'money' => '500.00',
|
||
'notify_url' => 'https://demo.com/demo1.php',
|
||
'out_trade_sn' => '1111455',
|
||
'return_url' => 'https://demo.com/demo2.php',
|
||
];
|
||
ksort($data);
|
||
$secret='';
|
||
foreach ($data as$k=> $d){
|
||
$secret.=$k.'='.$d.'&';
|
||
}
|
||
$secret .= 'token=' . $token;
|
||
|
||
$sign = md5($token.md5(strtolower(trim($secret, '&'))).'pay_money=' . $_POST['pay_money'] . 'pay_status=' .$_POST['pay_status']);
|
||
|
||
uid=5
|
||
ts=112223123
|
||
|