public function cx($conf) { $params = array('version' => '5.0.0', 'encoding' => 'utf-8', 'certId' => getSignCertId(), 'signMethod' => '01', 'txnType' => '00', 'txnSubType' => '00', 'bizType' => '000000', 'accessType' => '0', 'channelType' => '07', 'orderId' => $conf['ordernumber'], 'merId' => '898110248160161', 'txnTime' => date("YmdHis", strtotime($conf['addtime']))); // 签名 sign($params); // 发送信息到后台 $result = sendHttpRequest($params, SDK_SINGLE_QUERY_URL); //返回结果展示 $result_arr = coverStringToArray($result); $insert = array(); $insert['ordernumber'] = $conf['ordernumber']; $insert['fqtime'] = $conf['addtime']; $insert['ylnumber'] = isset($result_arr['queryId']) ? $result_arr['queryId'] : 0; $insert['yltime'] = isset($result_arr['traceTime']) ? $result_arr['traceTime'] : 0; $insert['ylstatus'] = $conf['cztype']; $insert['cxtime'] = date("Y-m-d H:i:s"); $insert['cxstatus'] = $result_arr['respCode']; $insert['cxmiaosu'] = $result_arr['respMsg']; $insert['userId'] = $conf['userId']; $insert['origRespCode'] = isset($result_arr['origRespCode']) ? $result_arr['origRespCode'] : 0; $insert['origRespMsg'] = isset($result_arr['origRespMsg']) ? $result_arr['origRespMsg'] : 0; $this->db->insert("yinlian", $insert); if ($this->db->insert_id() > 0) { $this->db->query("update `cz` set `cl`=1 where logId=" . $conf['logId']); } }
function getTN($order) { $this->params['orderId'] = $order['OrderID']; $this->params['txnTime'] = date('YmdHis'); $this->params['txnAmt'] = $order['OrderPrice'] * 100; $this->params['reqReserved'] = base64_encode(json_encode(array('pay_type' => 3))); $params = $this->params; sign($params); $result = sendHttpRequest($params, SDK_App_Request_Url); $result_arr = coverStringToArray($result); // echo '<pre>'; // print_r($params); // print_r($result_arr); if (verify($result_arr)) { return $result_arr["tn"]; } else { return false; } }
<?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(), 'signMethod' => '01', 'txnType' => '03', 'txnSubType' => '00', 'bizType' => '000201', 'accessType' => '0', 'channelType' => '07', 'orderId' => date('YmdHis'), 'merId' => '888888888888888', 'origQryId' => '201502281110005523968', 'txnTime' => date('YmdHis'), 'txnAmt' => '100', 'backUrl' => SDK_BACK_NOTIFY_URL, 'reqReserved' => ' 透传信息'); // 签名 sign($params); echo "请求:" . getRequestParamString($params); $log->LogInfo("后台请求地址为>" . SDK_BACK_TRANS_URL); // 发送信息到后台 $result = sendHttpRequest($params, SDK_BACK_TRANS_URL); $log->LogInfo("后台返回结果为>" . $result); echo "应答:" . $result; //返回结果展示 $result_arr = coverStringToArray($result); echo verify($result_arr) ? '验签成功' : '验签失败'; ?>
<?php include_once './func/SDKConfig.php'; include_once './func/common.php'; include_once './custom_func.php'; $f = fopen($CALLBACK_TEST_FILE, 'w+'); fwrite($f, file_get_contents('php://input')); fclose($f); $post_data = coverStringToArray(file_get_contents('php://input')); if ($post_data['reqReserved'] != get_callback_reserved_string()) { die('Authentication failed!'); } if ($post_data['txnType'] == '01' && $post_data['txnSubType'] == '01') { if ($post_data['respCode'] == '00') { pay_succeeded($post_data); } else { pay_failed($post_data); } } echo file_get_contents('php://input');
public function cancelpay($oid) { $order = M('Order'); $map['oid'] = $oid; $oinfo = $order->where($map)->find(); if ($oinfo['paytype'] == '0') { $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' => '32', 'txnSubType' => '00', 'bizType' => '000201', 'accessType' => '0', 'channelType' => '07', 'orderId' => build_order_no(), 'merId' => '898110275120075', 'txnTime' => date('YmdHis'), 'backUrl' => SDK_CDE_BACK_NOTIFY_URL, 'reqReserved' => ' 透传信息'); $params['origQryId'] = $oinfo['trade_no']; $cdeposit = $oinfo['deposit'] + $oinfo['c_price']; $params['txnAmt'] = 10; //floatval($cdeposit) * 100; sign($params); //echo "请求:" . getRequestParamString ( $params ); $log->LogInfo("后台请求地址为>" . SDK_BACK_TRANS_URL); // 发送信息到后台 $result = sendHttpRequest($params, SDK_BACK_TRANS_URL); $log->LogInfo("后台返回结果为>" . $result); //echo "应答:" . $result; //返回结果展示 $result_arr = coverStringToArray($result); if (verify($result_arr)) { if ($result_arr['respCode'] == '00') { return true; } else { return false; } } else { return false; } } else { return false; } }