本插件为帝国CMS网站提供便捷的当面付支付宝支付功能,支持快速配置与无缝集成,优化用户体验,适用于各类在线交易场景。
支付宝当面付接入教程
本指南假设你已经开通了支付宝当面付功能;如尚未开通,请前往支付宝进行申请。
1. **增加当面付数据**:帝国CMS当前版本没有提供手动添加的界面,因此需通过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. **添加商户私钥和支付宝公钥字段**:
```sql
ALTER TABLE [!db.pre!]enewspayapi add fprivatekey text NOT NULL, add fpublickey text NOT NULL;
```
3. **修改系统文件以支持私钥和公钥的配置**
- 文件路径:`e/admin/pay/SetPayApi.php`
在该文件中增加一个支付方式判断部分,其代码如下:
```html
APPID |
<input name=payemail type=text id=payemail value=< ?=$r[payemail]? > size=35></td>
|
商户私钥 |
<textarea name=fprivatekey id=fprivatekey cols=100 rows=10>< ?=$r[fprivatekey]?></textarea> |
支付宝公钥 |
<textarea name=fpublickey id=fpublickey cols=100 rows=10>< ?=$r[fpublickey]?></textarea> |
```
- 文件路径:`e/admin/pay/PayApi.php`
在该文件中增加私钥和公钥字段的写入部分,其代码如下:
```php
//设置接口
function EditPayApi($add, $userid, $username) {
global $empire, $dbtbpre;
...
// 增加当面付字段
$add[fprivatekey] = hRepPostStr($add[fprivatekey], 1);
$add[fpublickey] = hRepPostStr($add[fpublickey], 1);
if ($add[paytype] == f2fpay) {
// 更新数据库
...
}
}
```
4. **取消支付时的转码功能**:需要修改三个文件以移除编码转换的相关内容,这些文件分别是:
- `e/payapi/BuyGroupPay.php`
- `e/payapi/pay.php`
- `e/payapi/ShopPay.php`
删除以下代码段:
```php
if($ecms_config[sets][pagechar]!=gb2312){
@include_once(../class/doiconv.php);
$iconv=new Chinese();
$char=$ecms_config[sets][pagechar]==big5?BIG5:UTF8;
$targetchar=GB2312;
// 转码
}
```
完成以上步骤后,支付宝当面付插件即可正常使用。