📄 cbpay.api.php
字号:
<?php
/*
[Discuz!] (C)2001-2007 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: cbpay.api.php 2008-04-12 18:28:53 Monkey $
*/
//note Discuz! Tenpay
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
define('DISCUZ_PARTNER', '');//商户号
define('DISCUZ_SECURITYCODE', '');//密钥
/*debug
* 获取或判断分类状态值
* @param $method - 分类名
* @param $status - -1:返回类别 其他数字:判断是否为此类状态
* @return 值
*/
function credit_payurl($price, &$orderid) {
global $bbname, $discuz_uid, $discuz_userss, $language, $boardurl, $extcredits, $creditstrans, $onlineip, $ec_ratio, $ec_account, $timestamp, $authkey, $charset, $_DCACHE;
$date = gmdate('Ymd', $timestamp + $_DCACHE['settings']['timeoffset'] * 3600);
$orderid = gmdate('Ymd', $timestamp + $_DCACHE['settings']['timeoffset'] * 3600)."-".DISCUZ_PARTNER."-".gmdate('His', $timestamp + $_DCACHE['settings']['timeoffset'] * 3600);
$args = array(
'v_mid' => DISCUZ_PARTNER,
'v_oid' => $orderid,
'v_amount' => $price,
'v_moneytype' => 'CNY',
'v_url' => $boardurl.'api/trade/credit.notify.php',
'remark1' => 'cbpay',
);
$text = $args['v_amount'].$args['v_moneytype'].$args['v_oid'].DISCUZ_PARTNER.$args['v_url'].DISCUZ_SECURITYCODE;
$args['v_md5info'] = strtoupper(md5($text));
$urlstr = '';
foreach($args as $key=>$val) {
$urlstr .= $key.'='.rawurlencode($val).'&';
}
return 'https://pay3.chinabank.com.cn/PayGate?'.$urlstr;
}
/*debug
* 接口返回值校验
* @param $type 返回类型 credit积分 trade商品
* @return 值
*/
function trade_notifycheck($type) {
global $boardurl;
$v_oid = trim($_POST['v_oid']); // 商户发送的v_oid定单编号
$v_pstatus = trim($_POST['v_pstatus']); // 支付状态 :20(支付成功);30(支付失败)
$v_amount = trim($_POST['v_amount']); // 订单实际支付金额
$v_moneytype = trim($_POST['v_moneytype']); //订单实际支付币种
$v_md5str = trim($_POST['v_md5str' ]); //拼凑后的MD5校验值
$md5string = strtoupper(md5($v_oid.$v_pstatus.$v_amount.$v_moneytype.DISCUZ_SECURITYCODE));
if($v_md5str == $md5string && $v_pstatus == "20") {
return array(
'validator' => TRUE,
'status' => 1,
'order_no' => $v_oid,
'price' => $v_amount,
'location' => 'memcp.php?action=credits&operation=addfunds&return=success'
);
} else {
return array(
'validator' => FALSE,
'location' => 'memcp.php?action=credits&operation=addfunds&return=fail'
);
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -