source/index/recharge_tenpay.ctrl.php
(开头部分) 9KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
class recharge_tenpayControl extends skymvc{
public $userid;
public function __construct(){
parent::__construct();
}
public function onDefault(){
exit("暂无权限");
}
/*后台处理*/
public function onNotify(){
unset($_GET['a']);
unset($_GET['m']);
require (ROOT_PATH."/api/tenpay/classes/function.php");
require (ROOT_PATH."/api/tenpay/classes/ResponseHandler.class.php");
require (ROOT_PATH."/api/tenpay/classes/RequestHandler.class.php");
require (ROOT_PATH."/api/tenpay/classes/client/ClientResponseHandler.class.php");
require (ROOT_PATH."/api/tenpay/classes/client/TenpayHttpClient.class.php");
require_once (ROOT_PATH."/api/tenpay/tenpay_config.php");
//log_result("进入后台回调页面".json_encode($_GET));
/* 创建支付应答对象 */
$resHandler = new ResponseHandler();
$resHandler->setKey($key);
//判断签名
if($resHandler->isTenpaySign()) {
//通知id
$notify_id = $resHandler->getParameter("notify_id");
//通过通知ID查询,确保通知来至财付通
//创建查询请求
$queryReq = new RequestHandler();
$queryReq->init();
$queryReq->setKey($key);
$queryReq->setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml");
$queryReq->setParameter("partner", $partner);
$queryReq->setParameter("notify_id", $notify_id);
//通信对象
$httpClient = new TenpayHttpClient();
$httpClient->setTimeOut(5);
//设置请求内容
$httpClient->setReqContent($queryReq->getRequestURL());
$h_r=$httpClient->call();
//log_result("判断签名中 ".$h_r." \r\n");
//后台调用
if($h_r) {
//设置结果参数
$queryRes = new ClientResponseHandler();
$queryRes->setContent($httpClient->getResContent());
$queryRes->setKey($key);
if($resHandler->getParameter("trade_mode") == "1"){
//判断签名及结果(即时到帐)
//只有签名正确,retcode为0,trade_state为0才是支付成功
if($queryRes->isTenpaySign() && $queryRes->getParameter("retcode") == "0" && $resHandler->getParameter("trade_state") == "0") {
// log_result("即时到帐验签ID成功");
//取结果参数做业务处理
后面还有 221 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。