⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cbpay.api.php

📁 贝宝的网络支付网关技术文档! 有ASP,PHP,Java接口及测试规范!
💻 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 + -