看到网上的帝国CMS第三方支付接口资源很少,精准像素就分享一篇关于帝国cms二次开发整合第三方支付接口教程,我们只分享大致思路,可以让你在开发中少走弯路,教程仅供参考学习。
1、首先我们需要知道自己找的第三方支付平台的支付提交发起方法和支付成功后回调方法,每个支付平台的方法都不同。所以在开发前,最好先去仔细查看支付平台的文档,最好支付平台有SDK参考。
2、一般的支付发起方法都是POST 或 GET方法,提交到接口需要哪些字段,我们就调用哪些字段给接口就行,平台一般大致需要的字段有下面这些,整理给大家。
支付方式:
$php_Self=substr($_SERVER['PHP_SELF'],strripos($_SERVER['PHP_SELF'],"/")+1);
if($php_Self=='BuyGroupPay.php'){
$phome='BuyGroupPay';
}
异步或同步回调地址:
$paykey=$payr['paykey'];
$notify_url=$PayReturnUrlQz."你的回调地址/payend.php";
$return_url=$PayReturnUrlQz."你的回调地址/payend.php";
支付金额:
$price=$money;
支付订单号:
$orderid=$ddno?$ddno:time();
esetcookie("checkpaysession",$orderid,0);
支付方式:
if($payr['paytype']=='wxpay'){
$channel='1';
}else{
$channel='2';
}
sign签名验证:腾讯云
$sign=md5($orderid.$phome.$channel.$price.$paykey);
3、有了提交内容,我们就需要发起提交了,大致的POST或GET方法如下,大家也可以自己网上找。
$pay_url='平台提交地址';
$parameter=array(
'payId'=>$orderid,
'param'=>$phome,
'type'=>$channel,
'price'=>$price,
'sign'=>$sign,
'notifyUrl'=>$notify_url,
'returnUrl'=>$return_url
);
functionlist_url($url,$data){
$data=json_encode($data);
$headerArray=array("Content-type:application/json;charset='utf-8'","Accept:application/json");
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$result=curl_exec($curl);
curl_close($curl);
return$result;
}
$pay_data=json_decode(list_url($pay_url,$parameter),true);
然后我们还需要一个触发发起提交的表单,腾讯云服务器购买
<formmethod="get"name="gopay"id="gopay"style="display:none"action="平台提交地址">
<inputname="orderId"id="orderId"type="text"value="<?=$payorderId?>"/>
</form>
<script>
document.getElementById('gopay').submit();
</script>
4、最后就是回调处理了,同样也非常简单,直接就可以用帝国CMS原版的回调处理方法。
include('../payfun.php');
$pr=$empire->fetch1("selectpaymoneytofen,payminmoneyfrom{$dbtbpre}enewspubliclimit1");
$orderid=$_GET['trade_no']; //支付订单
$ddno=$_GET['out_trade_no']; //网站的订单号
$money=$_GET['total_fee'];
$fen=floor($money)*$pr[paymoneytofen];
if($phome=='PayToFen')//购买点数
{
$paybz='购买点数:'.$fen;
PayApiBuyFen($fen,$money,$paybz,$orderid,$user[userid],$user[username],$paytype);
}
elseif($phome=='PayToMoney')//存预付款
{
$paybz='存预付款';
PayApiPayMoney($money,$paybz,$orderid,$user[userid],$user[username],$paytype);
}
elseif($phome=='ShopPay')//商城支付
{
include('../../data/dbcache/class.php');
$ddid=(int)getcvar('paymoneyddid');
$paybz='商城购买[!--ddno--]的订单(ddid='.$ddid.')';
PayApiShopPay($ddid,$money,$paybz,$orderid,'','',$paytype);
}
elseif($phome=='BuyGroupPay')//购买充值类型
{
include("../../data/dbcache/MemberLevel.php");
$bgid=(int)getcvar('paymoneybgid');
PayApiBuyGroupPay($bgid,$money,$orderid,$user[userid],$user[username],$user[groupid],$paytype);
}
我们只需要处理官方方法里面的变量,把他们换成你自己的回调变量就可以了。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
-
帝国CMS二次开发整合第三方支付接口教程
-
帝国cms连接不上数据库怎么办
帝国cms连接不上数据库怎么办?帝国cms后台登陆显示Cann‘t connect to DB 解决方法,首先我们就要先确定一下这是数据库的原因,将我们正确的数据库用户名称和数据库密码以及数据库名修改后保存,只需修改这三个地方即可解决。 -
帝国cms后台怎么登录
帝国 cms 的登录方式如下:1. 访问登录页:在网站地址后添加 "/e/admin/index.php"。2. 输入凭据:输入用户名和密码。3. 单击"登录"按钮。 -
帝国cms怎么备份
帝国CMS是一款非常流行的CMS系统,它拥有强大的功能和易于使用的界面,许多网站都在使用它。但是,在使用帝国CMS的过程中,数据备份是一个非常重要的问题。在本文中,我们将讨论如何备份帝国CMS的数据。 -
帝国cms栏目能修改吗
帝国cms栏目能修改吗,帝国cms栏目是可以修改的,其修改方法:1、登录帝国cms后台,单击“栏目”菜单;2、选择“管理栏目”子菜单,进入管理栏目界面;3、选中要修改的栏目所在行,单击“修改”,然后修改栏目相关参数设置即可。 -
帝国cms可以删除模块吗
帝国cms可以删除模块吗?当然是可以的,如果我们的网站不需要帝国CMS的某项功能我们可以进行删除,不单单可以提高运行速度,减少占用空间,还可以避免黑客利用这些文件进行上传木马。 -
帝国cms报错Cannot modify header information
今天在网上找到一款帝国模板准备测试分享大家,在恢复数据库时报错了Cannot modify header information...的错误,从出错信息来看,都是php文件第1行引发出错的情况,基本都是php文件的编码导致。 -
帝国CMS灵动标签调用标题属性和截取标题字数
这篇文章主要介绍了帝国CMS灵动标签调用标题属性和截取标题字数的示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 -
帝国CMS的列表怎么实时显示点击数
下面本篇文章给大家介绍一下帝国CMS 列表实时显示点击数的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 -
帝国CMS的安装方法
帝国CMS是一款功能强大的内容管理系统,广泛应用于网站建设领域。它提供了丰富的功能和灵活的扩展性,能够满足各种不同类型的网站需求。本文将详细介绍帝国CMS的安装步骤,帮助读者轻松上手使用。 -
帝国cms中常用标签大全
帝国CMS对首页、列表页、内容页这三个页面模板支持的变量是不同的,有的是通用的,有的不是通用的,本文就这三个模板常用的变量列于此,另外灵动标签很好用啊,也顺便收藏于此,以备后用,到时不用到处翻来翻去的。
官方微信
微信扫一扫
添加微信好友咨询