$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