本文整理汇总了PHP中PhpLog类的典型用法代码示例。如果您正苦于以下问题:PHP PhpLog类的具体用法?PHP PhpLog怎么用?PHP PhpLog使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PhpLog类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPulbicKeyByCertId
/**
* 根据证书ID 加载 证书
*
* @param unknown_type $certId
* @return string NULL
*/
function getPulbicKeyByCertId($certId)
{
$log = new \PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo('报文返回的证书ID>' . $certId);
// 证书目录
$cert_dir = SDK_VERIFY_CERT_DIR;
$log->LogInfo('验证签名证书目录 :>' . $cert_dir);
$handle = opendir($cert_dir);
if ($handle) {
while ($file = readdir($handle)) {
clearstatcache();
$filePath = $cert_dir . '/' . $file;
if (is_file($filePath)) {
if (pathinfo($file, PATHINFO_EXTENSION) == 'cer') {
if (getCertIdByCerPath($filePath) == $certId) {
closedir($handle);
$log->LogInfo('加载验签证书成功');
return getPublicKey($filePath);
}
}
}
}
$log->LogInfo('没有找到证书ID为[' . $certId . ']的证书');
} else {
$log->LogInfo('证书目录 ' . $cert_dir . '不正确');
}
closedir($handle);
return null;
}
示例2: searchOrder
public function searchOrder($attr, $type = "bank")
{
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo("============处理前台请求开始===============");
// 初始化日志
if ($type == "bank") {
$merId = '898110260110001';
} else {
$merId = '898110260110002';
}
$attr['txnTime'] = date("YmdHis", strtotime($attr['trade_time']));
$params = array('version' => '5.0.0', 'encoding' => 'utf-8', 'certId' => $this->secureUtil->getSignCertId($type), 'signMethod' => '01', 'txnType' => '00', 'txnSubType' => '00', 'bizType' => '000000', 'accessType' => '0', 'channelType' => '07', 'orderId' => $attr['trade_code'], 'merId' => $merId, 'txnTime' => $attr['txnTime']);
// print_r($params);
// exit;
// 签名
$this->secureUtil->sign($params, $type);
// 前台请求地址
$front_uri = SDK_SINGLE_QUERY_URL;
$log->LogInfo("前台请求地址为>" . $front_uri);
// 构造 自动提交的表单
$html_form = create_html($params, $front_uri);
$api_client = new FApiClient();
$res = $api_client->unionPaySend($front_uri, $params, "post");
$log->LogInfo("-------前台交易自动提交表单>--begin----");
$log->LogInfo($html_form);
$log->LogInfo("-------前台交易自动提交表单>--end-------");
$log->LogInfo("============处理前台请求 结束===========");
//echo $html_form;
return $res;
}
示例3: verify
/**
* 验签
*
* @param String $params_str
* @param String $signature_str
*/
function verify($params)
{
global $log;
// 初始化日志
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
// 公钥
$public_key = getPulbicKeyByCertId($params['certId']);
// echo $public_key.'<br/>';
// 签名串
$signature_str = $params['signature'];
unset($params['signature']);
$params_str = coverParamsToString($params);
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
// 初始化日志
$log->LogInfo('报文去[signature] key=val&串>' . $params_str);
$signature = base64_decode($signature_str);
// echo date('Y-m-d',time());
$params_sha1x16 = sha1($params_str, FALSE);
$log->LogInfo('摘要shax16>' . $params_sha1x16);
$isSuccess = openssl_verify($params_sha1x16, $signature, $public_key, OPENSSL_ALGO_SHA1);
$log->LogInfo($isSuccess ? '验签成功' : '验签失败');
return $isSuccess;
}
示例4: pay
public function pay()
{
$merId = empty($this->merId) ? MER_ID : $this->merId;
$orderId = empty($this->orderId) ? date('YmdHis') : $this->orderId;
$frontUrl = empty($this->frontUrl) ? SDK_FRONT_NOTIFY_URL : $this->frontUrl;
$backUrl = empty($this->backUrl) ? SDK_BACK_NOTIFY_URL : $this->backUrl;
// 初始化日志
$log = new \PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo("============处理前台请求开始===============");
// 初始化日志
$params = array('version' => '5.0.0', 'encoding' => 'utf-8', 'certId' => getSignCertId(), 'txnType' => '01', 'txnSubType' => '01', 'bizType' => '000201', 'frontUrl' => $frontUrl, 'backUrl' => $backUrl, 'signMethod' => '01', 'channelType' => '08', 'accessType' => '0', 'merId' => $merId, 'orderId' => $orderId, 'txnTime' => date('YmdHis'), 'txnAmt' => $this->txnAmt, 'currencyCode' => '156', 'defaultPayType' => '0001', 'reqReserved' => $this->reqReserved);
// 签名
sign($params);
// 前台请求地址
$front_uri = SDK_FRONT_TRANS_URL;
$log->LogInfo("前台请求地址为>" . $front_uri);
// 构造 自动提交的表单
$html_form = create_html($params, $front_uri);
$log->LogInfo("-------前台交易自动提交表单>--begin----");
//$log->LogInfo ( $html_form );
$log->LogInfo("-------前台交易自动提交表单>--end-------");
$log->LogInfo("============处理前台请求 结束===========");
echo $html_form;
}
示例5: header
<?php
header('Content-type:text/html;charset=GBK');
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/gbk/func/common.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/gbk/func/SDKConfig.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/gbk/func/secureUtil.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/gbk/func/httpClient.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/gbk/func/log.class.php';
/**
* 文件传输类交易
*/
/**
* 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己需要,按照技术文档编写。该代码仅供参考
*/
// 初始化日志
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo("===========处理后台请求开始============");
$params = array('version' => '5.0.0', 'encoding' => 'GBK', 'certId' => getSignCertId(), 'txnType' => '76', 'signMethod' => '01', 'txnSubType' => '01', 'bizType' => '000000', 'accessType' => '0', 'merId' => '700000000000001', 'settleDate' => '0119', 'txnTime' => date('YmdHis'), 'fileType' => '00');
// 签名
sign($params);
echo "请求:" . getRequestParamString($params);
$log->LogInfo("后台请求地址为>" . SDK_FILE_QUERY_URL);
// 发送信息到后台
$result = sendHttpRequest($params, SDK_FILE_QUERY_URL);
$log->LogInfo("后台返回结果为>" . $result);
echo "应答:" . $result;
//返回结果展示
$result_arr = coverStringToArray($result);
echo verify($result_arr) ? '验签成功' : '验签失败';
// 处理文件,保存路径在配置文件中修改,注意预先建立文件夹并授读写权限
deal_file($result_arr);
示例6: header
<?php
header('Content-type:text/html;charset=utf-8');
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/utf8/func/common.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/utf8/func/SDKConfig.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/utf8/func/secureUtil.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/utf8/func/httpClient.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/utf8/func/log.class.php';
/**
* 预授权-控件
*/
/**
* 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己需要,按照技术文档编写。该代码仅供参考
*/
// 初始化日志
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo("============处理前台请求开始===============");
// 初始化日志
$params = array('version' => '5.0.0', 'encoding' => 'utf-8', 'certId' => getSignCertId(), 'txnType' => '02', 'txnSubType' => '01', 'bizType' => '000201', 'frontUrl' => SDK_FRONT_NOTIFY_URL, 'backUrl' => SDK_BACK_NOTIFY_URL, 'signMethod' => '01', 'channelType' => '08', 'accessType' => '0', 'merId' => '888888888888888', 'orderId' => date('YmdHis'), 'txnTime' => date('YmdHis'), 'txnAmt' => '100', 'currencyCode' => '156', 'orderDesc' => '订单描述', 'reqReserved' => ' 透传信息');
// 签名
sign($params);
echo "请求:" . getRequestParamString($params);
$log->LogInfo("后台请求地址为>" . SDK_App_Request_Url);
// 发送信息到后台
$result = sendHttpRequest($params, SDK_App_Request_Url);
$log->LogInfo("后台返回结果为>" . $result);
echo "应答:" . $result;
//返回结果展示
$result_arr = coverStringToArray($result);
echo verify($result_arr) ? '验签成功' : '验签失败';
?>
示例7: header
<?php
header('Content-type:text/html;charset=utf-8');
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/utf8/func/common.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/utf8/func/SDKConfig.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/utf8/func/secureUtil.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/upacp_sdk_php/utf8/func/log.class.php';
/**
* 消费交易-前台
*/
/**
* 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己需要,按照技术文档编写。该代码仅供参考
*/
// 初始化日志
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo("============处理前台请求开始===============");
// 初始化日志
$params = array('version' => '5.0.0', 'encoding' => 'utf-8', 'certId' => getSignCertId(), 'txnType' => '01', 'txnSubType' => '01', 'bizType' => '000201', 'frontUrl' => SDK_FRONT_NOTIFY_URL, 'backUrl' => SDK_BACK_NOTIFY_URL, 'signMethod' => '01', 'channelType' => '08', 'accessType' => '0', 'merId' => '888888888888888', 'orderId' => date('YmdHis'), 'txnTime' => date('YmdHis'), 'txnAmt' => '100', 'currencyCode' => '156', 'defaultPayType' => '0001', 'reqReserved' => ' 透传信息');
// 签名
sign($params);
// 前台请求地址
$front_uri = SDK_FRONT_TRANS_URL;
$log->LogInfo("前台请求地址为>" . $front_uri);
// 构造 自动提交的表单
$html_form = create_html($params, $front_uri);
$log->LogInfo("-------前台交易自动提交表单>--begin----");
$log->LogInfo($html_form);
$log->LogInfo("-------前台交易自动提交表单>--end-------");
$log->LogInfo("============处理前台请求 结束===========");
echo $html_form;
示例8: PhpLog
* 产品:跳转网关支付产品<br>
* 交易:预授权完成:后台交易,有同步应答和后台通知应答<br>
* 日期: 2015-09<br>
* 版本: 1.0.0
* 版权: 中国银联<br>
* 说明:以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己需要,按照技术文档编写。该代码仅供参考,不提供编码性能规范性等方面的保障<br>
* 该接口参考文档位置:open.unionpay.com帮助中心 下载 产品接口规范 《网关支付产品接口规范》<br>
* 《平台接入接口规范-第5部分-附录》(内包含应答码接口规范,全渠道平台银行名称-简码对照表)<br>
* 测试过程中的如果遇到疑问或问题您可以:1)优先在open平台中查找答案:
* 调试过程中的问题或其他问题请在 https://open.unionpay.com/ajweb/help/faq/list 帮助中心 FAQ 搜索解决方案
* 测试过程中产生的6位应答码问题疑问请在https://open.unionpay.com/ajweb/help/respCode/respCodeList 输入应答码搜索解决方案
* 2) 咨询在线人工支持: open.unionpay.com注册一个用户并登陆在右上角点击“在线客服”,咨询人工QQ测试支持。
* 交易说明:1)以后台通知或交易状态查询交易(Form_6_5_Query)确定交易成功。建议发起查询交易的机制:可查询N次(不超过6次),每次时间间隔2N秒发起,即间隔1,2,4,8,16,32S查询(查询到03,04,05继续查询,否则终止查询)
* 2)预授权完成交易必须在预授权交易30日内发起,否则预授权交易自动解冻。预授权完成金额可以是预授权金额的(0-115%]
*/
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
// 初始化日志
$log->LogInfo("===========处理后台请求开始============");
$params = array('version' => '5.0.0', 'encoding' => 'utf-8', 'certId' => getSignCertId(), 'signMethod' => '01', 'txnType' => '03', 'txnSubType' => '00', 'bizType' => '000201', 'accessType' => '0', 'channelType' => '07', 'backUrl' => SDK_BACK_NOTIFY_URL, 'orderId' => $_POST["orderId"], 'merId' => $_POST["merId"], 'origQryId' => $_POST["origQryId"], 'txnTime' => $_POST["txnTime"], 'txnAmt' => $_POST["txnAmt"]);
sign($params);
// 签名
$url = SDK_BACK_TRANS_URL;
$log->LogInfo("后台请求地址为>" . $url);
$result = post($params, $url, $errMsg);
if (!$result) {
//没收到200应答的情况
printResult($url, $params, "");
echo "POST请求失败:" . $errMsg;
return;
}
$log->LogInfo("后台返回结果为>" . $result);
示例9: deal_file
/**
* 处理报文中的文件
*
* @param unknown_type $params
*/
function deal_file($params)
{
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
if (isset($params['fileContent'])) {
$log->LogInfo("---------处理后台报文返回的文件---------");
$fileContent = $params['fileContent'];
if (empty($fileContent)) {
$log->LogInfo('文件内容为空');
} else {
// 文件内容 解压缩
$content = gzuncompress(base64_decode($fileContent));
$root = SDK_FILE_DOWN_PATH;
$filePath = null;
if (empty($params['fileName'])) {
$log->LogInfo("文件名为空");
$filePath = $root . $params['merId'] . '_' . $params['batchNo'] . '_' . $params['txnTime'] . '.txt';
} else {
$filePath = $root . $params['fileName'];
}
$handle = fopen($filePath, "w+");
if (!is_writable($filePath)) {
$log->LogInfo("文件:" . $filePath . "不可写,请检查!");
} else {
file_put_contents($filePath, $content);
$log->LogInfo("文件位置 >:" . $filePath);
}
fclose($handle);
}
}
}
示例10: deflate_file
/**
* 压缩文件 对应java deflate
*
* @param unknown_type $params
*/
function deflate_file(&$params)
{
//global $log;
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
foreach ($_FILES as $file) {
$log->LogInfo("---------处理文件---------");
if (file_exists($file['tmp_name'])) {
$params['fileName'] = $file['name'];
$file_content = file_get_contents($file['tmp_name']);
$file_content_deflate = gzcompress($file_content);
$params['fileContent'] = base64_encode($file_content_deflate);
$log->LogInfo("压缩后文件内容为>" . base64_encode($file_content_deflate));
} else {
$log->LogInfo(">>>>文件上传失败<<<<<");
}
}
}
示例11: intval
<?php
require_once '../load.php';
include_once SYS_PATH_WAP . '/unionpay/lib/SDKConfig.php';
include_once SYS_PATH_WAP . '/unionpay/lib/common.php';
include_once SYS_PATH_WAP . '/unionpay/lib/secureUtil.php';
include_once SYS_PATH_WAP . '/unionpay/lib/httpClient.php';
include_once SYS_PATH_WAP . '/unionpay/lib/log.class.php';
$rt = $app->action('shopping', 'get_order_pay_info');
$total_fee = intval($rt['order_amount'] * 100);
// 初始化日志
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
// 初始化日志
$params = array('version' => '5.0.0', 'encoding' => 'utf-8', 'certId' => getSignCertId(), 'txnType' => '01', 'txnSubType' => '01', 'bizType' => '000201', 'frontUrl' => SDK_FRONT_NOTIFY_URL, 'backUrl' => SDK_BACK_NOTIFY_URL, 'signMethod' => '01', 'channelType' => '08', 'accessType' => '0', 'merId' => '826340173990002', 'orderId' => $rt['order_sn'], 'txnTime' => date('YmdHis'), 'txnAmt' => $total_fee, 'currencyCode' => '156');
// 签名
sign($params);
/*手机WAP支付方式*/
// 构造 自动提交的表单
$html_form = create_html($params, SDK_FRONT_TRANS_URL);
$log->LogInfo("-------前台交易自动提交表单>--begin----");
$log->LogInfo($html_form);
$log->LogInfo("-------前台交易自动提交表单>--end-------");
echo $html_form;
示例12: file_put_contents
?>
</td>
<td><?php
echo $val;
?>
</td>
</tr>
<?php
}
?>
<tr>
<td width='30%'>验证签名</td>
<td><?php
if (isset($_POST['signature'])) {
file_put_contents(dirname(__FILE__) . '\\', json_encode($_POST));
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo("============支付成功后台接心数据===============");
$log->LogInfo(json_encode($_POST));
echo verify($_POST) ? '验签成功' : '验签失败';
$orderId = $_POST['orderId'];
//其他字段也可用类似方式获取
} else {
echo '签名为空';
}
?>
</td>
</tr>
</table>
</body>
</html>
示例13: unionpay
function unionpay()
{
include_once LIB_PATH . 'ORG/Payment/UnionPay/mobile/lib/common.php';
include_once LIB_PATH . 'ORG/Payment/UnionPay/mobile/lib/SDKConfig.php';
include_once LIB_PATH . 'ORG/Payment/UnionPay/mobile/lib/secureUtil.php';
include_once LIB_PATH . 'ORG/Payment/UnionPay/mobile/lib/httpClient.php';
include_once LIB_PATH . 'ORG/Payment/UnionPay/mobile/lib/log.class.php';
$order_sn = $_GET['order_sn'];
$token = $this->token;
$wecha_id = $this->wechat_id;
if (empty($order_sn)) {
$this->error('没有订单号');
}
$trade = M('b2c_wingtrade')->where(array('order_sn' => $order_sn, 'token' => $token))->find();
if ($trade && $trade['is_pay'] == '1') {
$this->success('该订单已付款,不能重复付款!');
}
$pay_type = $_GET['pay_type'];
if ($pay_type == '1') {
$order = M('hotel_order')->where(array('sn' => $order_sn, 'token' => $token, 'order_status' => 3))->find();
} elseif ($pay_type == '2') {
$order = M('dine_order')->where(array('sn' => $order_sn, 'status' => 2))->find();
} else {
$order = M('b2c_order')->where(array('sn' => $order_sn, 'token' => $token, 'status' => 1))->find();
}
if (!$order) {
$this->error('该订单不存在');
}
$payment_where = array('token' => $token, 'pay_code' => 'unionpay', 'enabled' => '1', 'pay_type' => $pay_type);
if (!empty($this->branch_id)) {
$payment_where['branch_id'] = $this->branch_id;
}
$payment = M('b2c_payment')->where($payment_where)->find();
//$wingpay_config = unserialize($payment['pay_config']);
if (empty($payment)) {
$this->error('商家未设置银联支付方式!请联系商家客服!');
}
//PageRetUrl 返回支付后的商户网站页面
$pagereturl = $_GET['front_url'];
/**
* 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己需要,按照技术文档编写。该代码仅供参考
*/
// 初始化日志
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo("============处理前台请求开始===============");
if ($pay_type == '1') {
$total_fee = intval($order['prepayment'] * 100);
} elseif ($pay_type == '2') {
$total_fee = intval($order['price'] * 100);
} else {
$total_fee = intval($order['price'] * 100);
}
$order_time = date('YmdHis');
// 初始化日志
$params = array('version' => '5.0.0', 'encoding' => 'UTF-8', 'certId' => getSignCertId(), 'txnType' => '01', 'txnSubType' => '01', 'bizType' => '000000', 'frontUrl' => SDK_FRONT_NOTIFY_URL, 'backUrl' => SDK_BACK_NOTIFY_URL, 'signMethod' => '01', 'channelType' => '08', 'accessType' => '0', 'merId' => '898340148160231', 'orderId' => $order_sn, 'txnTime' => $order_time, 'txnAmt' => $total_fee, 'currencyCode' => '156', 'defaultPayType' => '0001');
// 签名
sign($params);
$data = array('token' => $token, 'order_sn' => $order_sn, 'is_pay' => '0', 'set_params' => serialize(array_merge($params, array('return_url' => $pagereturl, 'pay_type' => $pay_type))), 'update_time' => time());
if (!$trade) {
$data['create_time'] = time();
M('b2c_wingtrade')->add($data);
} else {
M('b2c_wingtrade')->where(array('token' => $token, 'order_sn' => $order_sn, 'is_pay' => '0'))->save($data);
}
/*手机WAP支付方式*/
// 前台请求地址
$front_uri = SDK_FRONT_TRANS_URL;
$log->LogInfo("前台请求地址为>" . $front_uri);
// 构造 自动提交的表单
$html_form = create_html($params, $front_uri);
$log->LogInfo("-------前台交易自动提交表单>--begin----");
$log->LogInfo($html_form);
$log->LogInfo("-------前台交易自动提交表单>--end-------");
$log->LogInfo("============处理前台请求 结束===========");
echo $html_form;
}
示例14: get_code
/**
* 生成支付代码
* @param array $order 订单信息
* @param array $payment 支付方式信息
*/
function get_code($order, $payment, $agent_type)
{
// 初始化变量
if (!defined('EC_CHARSET')) {
$charset = 'UTF-8';
} else {
$charset = strtoupper(EC_CHARSET);
}
// 初始化日志
//global $log;
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo("============处理前台请求开始===============");
// 初始化日志
$orderNumber = $order['order_sn'] . $this->_formatSN($order['log_id']);
$isVirtual = exist_virtual_card_goods($order['order_id']);
$member_id = SDK_MEMBER_PC_REAL_ID;
$cert_path = SDK_MEMBER_MOBILE_REAL_ID;
$frontEndUrl = return_url(basename(__FILE__, '.php'));
$backEndUrl = return_url(basename(__FILE__, '.php'));
if ($agent_type == '07') {
if ($isVirtual) {
$member_id = SDK_MEMBER_PC_VIRTUAL_ID;
$cert_path = SDK_SIGN_PC_VIRTUAL_PATH;
} else {
$member_id = SDK_MEMBER_PC_REAL_ID;
$cert_path = SDK_SIGN_PC_REAL_PATH;
}
$params = array('version' => '5.0.0', 'encoding' => 'utf-8', 'certId' => getSignCertId($cert_path), 'txnType' => '01', 'txnSubType' => '01', 'bizType' => '000201', 'frontUrl' => $frontEndUrl, 'backUrl' => $backEndUrl, 'signMethod' => '01', 'channelType' => '07', 'accessType' => '0', 'merId' => $member_id, 'orderId' => $orderNumber, 'txnTime' => date('YmdHis'), 'txnAmt' => $order['order_amount'] * 100, 'currencyCode' => '156', 'defaultPayType' => '0001', 'reqReserved' => ' 透传信息');
} else {
if ($isVirtual) {
$member_id = SDK_MEMBER_MOBILE_VIRTUAL_ID;
$cert_path = SDK_SIGN_MOBILE_VIRTUAL_PATH;
} else {
$member_id = SDK_MEMBER_MOBILE_REAL_ID;
$cert_path = SDK_SIGN_MOBILE_REAL_PATH;
}
$params = array('version' => '5.0.0', 'encoding' => 'utf-8', 'certId' => getSignCertId($cert_path), 'txnType' => '01', 'txnSubType' => '01', 'bizType' => '000201', 'frontUrl' => $frontEndUrl, 'backUrl' => $backEndUrl, 'signMethod' => '01', 'channelType' => '08', 'accessType' => '0', 'merId' => $member_id, 'orderId' => $orderNumber, 'txnTime' => date('YmdHis'), 'txnAmt' => $order['order_amount'] * 100, 'currencyCode' => '156', 'defaultPayType' => '0001', 'reqReserved' => ' 透传信息');
}
sign($params, $cert_path);
// 前台请求地址
$front_uri = SDK_FRONT_TRANS_URL;
$log->LogInfo("前台请求地址为>" . $front_uri);
// 构造 自动提交的表单
$button = "<input type='submit' value='银联支付' />";
$html_form = create_html($params, $front_uri, $button);
$log->LogInfo("-------前台交易自动提交表单>--begin----");
$log->LogInfo($html_form);
$log->LogInfo("-------前台交易自动提交表单>--end-------");
$log->LogInfo("============处理前台请求 结束===========");
return $html_form;
// $params = array(
// "version" => '1.0.0', //接口版本
// "signMethod" => 'md5', //加密方式
// "charset" => $charset, //编码
// "transType" => '01', //交易类型
// "origQid" => '',
// "merId" => $merId, //收款账号
// "merAbbr" => $merAbbr, //商户名称
// "acqCode" => '',
// "merCode" => '',
// "commodityUrl" => '', //商品url
// "commodityName" => '', //商品名字
// "commodityUnitPrice" => '', //商品单价
// "commodityQuantity" => '', //商品数量
// "commodityDiscount" => '',
// "transferFee" => '',
// "orderNumber" => $orderNumber, //订单号,必须唯一
// "orderAmount" => $order['order_amount'] * 100, //交易金额 转化为分
// "orderCurrency" => '156', //交易币种,CURRENCY_CNY=>人民币
// "orderTime" => date('YmdHis'), //交易时间, YYYYmmhhddHHMMSS
// "customerIp" => $_SERVER['REMOTE_ADDR'], //用户IP
// "customerName" => '',
// "defaultPayType" => '',
// "defaultBankNumber" => '',
// "transTimeout" => '',
// "frontEndUrl" => $frontEndUrl, // 前台回调URL
// "backEndUrl" => $backEndUrl, // 后台回调URL
// "merReserved" => ''
// );
// $params['signature'] =$this->sign($params, $security_key,'md5');
// $button = "<input type='submit' value='" . $GLOBALS['_LANG']['upop_button'] . "' />";
// $html = $this->create_html($params,$front_pay_url,$button);
// return $html;
// 签名
}
示例15: PhpLog
<?php
/**
后台通知
*/
require_once './config_wap.php';
//银联wap配置文件
$log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
$log->LogInfo("进入后台通知");
$param = $_REQUEST;
if (!isset($param['signature'])) {
return 0;
}
if (!verify($param)) {
return 0;
}
$outer_notice_sn = $param['queryId'];
$payment_notice_sn = $param['orderId'];
if ($param['respCode'] == '00') {
require_once APP_ROOT_PATH . "system/libs/cart.php";
$rs = payment_paid($payment_notice_sn, $outer_notice_sn);
return 1;
} else {
$log->LogInfo("后台通知处理失败");
return 0;
}