当前位置:首页插件下载

帝国ECMS集成支付宝当面付扫码付款插件

作者 admin 发布时间 2019-03-04 11:31:22
浏览量 0 更新时间 2019-04-26 11:50:50
下载地址
下载1 普通会员 0 点我下载
下载说明

支付宝当面付接入教程

这里假设己经开通了当面付,没有开通的可以到支付宝开通

1、增加当面付数据

帝国没有给出手动添加的功能,这里只能以SQL方式来添加了,运行以下SQL语句

INSERT INTO `[!db.pre!]enewspayapi` (`payid`, `paytype`, `myorder`, `payfee`, `payuser`, `partner`, `paykey`, `paylogo`, `paysay`, `payname`, `isclose`, `payemail`, `paymethod`) VALUES ('', 'f2fpay', '99', '0', '', '', '', '', '支付宝当面付插件', '支付宝当面付', '0', '', '0');

2、添加商户私钥和支付宝公钥字段

ALTER TABLE [!db.pre!]enewspayapi add fprivatekey text NOT NULL, add fpublickey  text NOT NULL;

3、修改系统文件以支持私钥和公钥的配置

第一个文件:e/admin/pay/SetPayApi.php

增加一个支付方式的判断,这里的支付方式为f2fpay

    <tr bgcolor="#FFFFFF"> 
      <td height="25"><div align="right">APPID</div></td>
      <td height="25"><input name="payemail" type="text" id="payemail" value="<?=$r[payemail]?>" size="35"></td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td height="25"><div align="right">商户私钥</div></td>
      <td height="25">
        <textarea name="fprivatekey" id="fprivatekey" cols="100" rows="10"><?=$r[fprivatekey]?></textarea>
      </td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td height="25"><div align="right">支付宝公钥</div></td>
      <td height="25">
        <textarea name="fpublickey" id="fpublickey" cols="100" rows="10"><?=$r[fpublickey]?></textarea>
      </td>
    </tr>

第二个文件:e/admin/pay/PayApi.php

增加私钥和公钥字段的写入

//设置接口
function EditPayApi($add, $userid, $username) {
	global $empire, $dbtbpre;
	$add[payid] = (int) $add[payid];
	if (empty($add[payname]) || !$add[payid]) {
		printerror("EmptyPayApi", "history.go(-1)");
	}
	$add[isclose] = (int) $add[isclose];
	$add[myorder] = (int) $add[myorder];
	$add[paymethod] = (int) $add[paymethod];
	$add['payname'] = hRepPostStr($add['payname'], 1);
	$add['paysay'] = hRepPostStr2($add['paysay']);
	$add['payuser'] = hRepPostStr2($add['payuser']);
	$add['paykey'] = hRepPostStr2($add['paykey']);
	$add['payfee'] = hRepPostStr($add['payfee'], 1);
	$add['payemail'] = hRepPostStr($add['payemail'], 1);
	//增加当面付字段
	$add['fprivatekey'] = hRepPostStr($add['fprivatekey'], 1);
	$add['fpublickey'] = hRepPostStr($add['fpublickey'], 1);
	if ($add['paytype'] == 'f2fpay') {
		$sql = $empire->query("update {$dbtbpre}enewspayapi set isclose='$add[isclose]',payname='$add[payname]',paysay='$add[paysay]',payuser='$add[payuser]',paykey='$add[paykey]',payfee='$add[payfee]',payemail='$add[payemail]',myorder='$add[myorder]',paymethod='$add[paymethod]',fprivatekey='$add[fprivatekey]',fpublickey='$add[fpublickey]' where payid='$add[payid]'");
	} else {
		$sql = $empire->query("update {$dbtbpre}enewspayapi set isclose='$add[isclose]',payname='$add[payname]',paysay='$add[paysay]',payuser='$add[payuser]',paykey='$add[paykey]',payfee='$add[payfee]',payemail='$add[payemail]',myorder='$add[myorder]',paymethod='$add[paymethod]' where payid='$add[payid]'");
	}
	if ($sql) {
		//操作日志
		insert_dolog("payid=" . $add[payid] . "<br>payname=" . $add[payname]);
		printerror("EditPayApiSuccess", "PayApi.php" . hReturnEcmsHashStrHref2(1));
	} else {
		printerror("DbError", "history.go(-1)");
	}
}

4、取消支付时的转码功能

共三个文件分别为

e/payapi/BuyGroupPay.php此文件用于购买会员组

e/payapi/pay.php此文件用于充值

e/payapi/ShopPay.php此文件用于商城订单支付

因为本次用的是UTF-8编码,这里不需要再转码的

所以要删除转码内容,如下:

if($ecms_config['sets']['pagechar']!='gb2312')
{
	@include_once("../class/doiconv.php");
	$iconv=new Chinese('');
	$char=$ecms_config['sets']['pagechar']=='big5'?'BIG5':'UTF8';
	$targetchar='GB2312';
	$productname=$iconv->Convert($char,$targetchar,$productname);
	$productsay=$iconv->Convert($char,$targetchar,$productsay);
	@header('Content-Type: text/html; charset=gb2312');
}

5、上传当面付插件

将下载好的插件解压,将f2fpay上传到e/payapi/即可

在线演示:http://ecms.bnxf.net/

提示:

默认本站己经将所有文件都配置好了,如果是经过二次开发的系统,请参考教程和源码调整,未经二开的可以直接覆盖使用。

解压密码:www.bnxf.net

下载排行
0.044272s