Browse Source

test

master
用户名 3 years ago
parent
commit
d5e5bc078d
  1. 220
      mobile/dalianpay/demo/pay.php
  2. 18
      mobile/plugins/payment/wxpay.php

220
mobile/dalianpay/demo/pay.php

@ -1,122 +1,126 @@
<?php <?php
session_start(); function pay()
$openid = $_SESSION['openid']; {
$redirect_url = $_SESSION['prev_url']; session_start();
// var_dump($redirect_url); $openid = $_SESSION['openid'];
$redirect_url = $_SESSION['prev_url'];
// 加载基础类 // unset($_SESSION['prev_url']);
require_once('../library/Base.php'); // var_dump($redirect_url);
$Base = new Base();
// 获取配置信息
$config = $Base->getConfig();
// var_dump('<pre>', $config);
// 接口URL(测试) // 加载基础类
$api_url = $config['pay_url']; require_once('../library/Base.php');
// $api_url = $_POST['url']; $Base = new Base();
$message = array(
"url"=>$api_url,
);
// echo json_encode($message,true);
// 加个body字段传中文试试
// 组装交易报文 // 获取配置信息
$reqsn_prefix = date('Ymd'); $config = $Base->getConfig();
// var_dump("uniq_id(reqsn)"); // var_dump('<pre>', $config);
// echo "\r\n";
// var_dump(uniqid($reqsn_prefix));
$trade_data = array(
'orgid' => $config['org_num'],
'cusid' => $config['cusid'],
'branchno' => $config['branchno'],
'termcode' => $config['termcode'],
'version' => $config['version'],
'trxamt' => '1',
'reqsn' => uniqid($reqsn_prefix),
'producp' => 'JX0002',
'transtype' => 'JSP511',
'paytype' => 'W02',
'randomstr' => md5( uniqid() ),
'body' => 'pages',
'acct' => $openid,
);
// 生成签名 // 接口URL(测试)
$sign = $Base->Crypt->makeSign($trade_data); $api_url = $config['pay_url'];
if($sign === false) // $api_url = $_POST['url'];
{ $message = array(
// echo $Base->Crypt->err_msg; "url"=>$api_url,
$errorMessage = array(
"data"=>"makeSign error..."
); );
return json_encode($errorMessage,true); // echo json_encode($message,true);
die(); // 加个body字段传中文试试
}
// echo "\r\n";
// echo "[sign]: {$sign}";
// die();
// 加密交易报文 // 组装交易报文
$crypted_trade_data = $Base->Crypt->encryptTradeData($trade_data); $reqsn_prefix = date('Ymd');
if($crypted_trade_data === false) // var_dump("uniq_id(reqsn)");
{ // echo "\r\n";
// echo $Base->Crypt->err_msg; // var_dump(uniqid($reqsn_prefix));
$errorMessage = array( $trade_data = array(
"data"=>"encryptTradeData error..." 'orgid' => $config['org_num'],
'cusid' => $config['cusid'],
'branchno' => $config['branchno'],
'termcode' => $config['termcode'],
'version' => $config['version'],
'trxamt' => '1',
'reqsn' => uniqid($reqsn_prefix),
'producp' => 'JX0002',
'transtype' => 'JSP511',
'paytype' => 'W02',
'randomstr' => md5( uniqid() ),
'body' => 'pages',
'acct' => $openid,
); );
return json_encode($errorMessage,true);
die();
}
// echo "\r\n";
// echo "[crypted message]: {$crypted_trade_data}";
// die();
// 发送报文 // 生成签名
// echo "\r\n"; $sign = $Base->Crypt->makeSign($trade_data);
// var_dump($api_url); if($sign === false)
$response = $Base->Request->send($api_url, $crypted_trade_data, $sign); {
if($response === false) // echo $Base->Crypt->err_msg;
{ $errorMessage = array(
// echo $Base->Request->err_msg; "data"=>"makeSign error..."
$errorMessage = array( );
"data"=>"send error..." return json_encode($errorMessage,true);
); die();
return json_encode($errorMessage,true); }
die(); // echo "\r\n";
} // echo "[sign]: {$sign}";
// echo "\r\n"; // die();
// echo "[response message]: {$response}";
// 解析响应报文 // 加密交易报文
$response = json_decode($response, true); $crypted_trade_data = $Base->Crypt->encryptTradeData($trade_data);
$response_data_crypted = $response['data']; if($crypted_trade_data === false)
$response_sign = $response['sign']; {
// echo "\r\n"; // echo $Base->Crypt->err_msg;
// echo "[response sign]: {$response_sign}"; $errorMessage = array(
// echo "\r\n"; "data"=>"encryptTradeData error..."
// echo "[response data (ciphertext)]: {$response_data_crypted}"; );
return json_encode($errorMessage,true);
die();
}
// echo "\r\n";
// echo "[crypted message]: {$crypted_trade_data}";
// die();
// 解密响应密文 // 发送报文
$response_data = $Base->Crypt->decryptTradeData($response_data_crypted); // echo "\r\n";
if($response_data === false) // var_dump($api_url);
{ $response = $Base->Request->send($api_url, $crypted_trade_data, $sign);
// echo $Base->Crypt->err_msg; if($response === false)
$errorMessage = array( {
"data"=>"decryptTradeData error..." // echo $Base->Request->err_msg;
); $errorMessage = array(
return json_encode($errorMessage,true); "data"=>"send error..."
die(); );
} return json_encode($errorMessage,true);
// echo "\r\n"; die();
// echo "[response data(clear text)]: {$response_data}"; }
// die(); // echo "\r\n";
echo $response_data; // echo "[response message]: {$response}";
$_SESSION['response_data_json'] = $response_data;
// 解析响应报文
$response = json_decode($response, true);
$response_data_crypted = $response['data'];
$response_sign = $response['sign'];
// echo "\r\n";
// echo "[response sign]: {$response_sign}";
// echo "\r\n";
// echo "[response data (ciphertext)]: {$response_data_crypted}";
// 调回之前的地址 // 解密响应密文
// header("Location: $redirect_url"); $response_data = $Base->Crypt->decryptTradeData($response_data_crypted);
// exit; if($response_data === false)
{
// echo $Base->Crypt->err_msg;
$errorMessage = array(
"data"=>"decryptTradeData error..."
);
return json_encode($errorMessage,true);
die();
}
// echo "\r\n";
// echo "[response data(clear text)]: {$response_data}";
// die();
echo $response_data;
$_SESSION['response_data_json'] = $response_data;
return $response_data;
// 调回之前的地址
// header("Location: $redirect_url");
// exit;
}
?> ?>

18
mobile/plugins/payment/wxpay.php

@ -198,14 +198,16 @@ class wxpay
} }
// 访问大连支付接口 // 访问大连支付接口
$url = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; // $url = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
var_dump($url); // var_dump($url);
$_SESSION['prev_url'] = $url; // $_SESSION['prev_url'] = $url;
var_dump($_SESSION['prev_url']); // var_dump($_SESSION['prev_url']);
header('Location: https://shop.heavenk.com/mobile/dalianpay/demo/pay.php'); // header('Location: https://shop.heavenk.com/mobile/dalianpay/demo/pay.php');
// header('Location: https://www.baidu.com'); // // header('Location: https://www.baidu.com');
exit; // 终止当前脚本的执行,确保页面跳转生效 // exit; // 终止当前脚本的执行,确保页面跳转生效
require_once('../../demo/pay.php');
$response_data = pay();
echo $response_data;
// 处理dalianpay统一支付接口传回的参数 // 处理dalianpay统一支付接口传回的参数
// $_SESSION['response_data_json'] // $_SESSION['response_data_json']

Loading…
Cancel
Save