sifangpay/public/upload/zips/20190302/demo.php

117 lines
3.4 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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