IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 苹果CMS接入GOGO支付实现个人收款回调详细教程(附插件) -> 正文阅读

[PHP知识库]苹果CMS接入GOGO支付实现个人收款回调详细教程(附插件)

之前写了一篇苹果CMSV10实现个人支付回调的简单教程,有朋友反应还是不会,于是现在弄了一个详细版本。

如果你不太懂代码的,直接下载完整插件,按照使用说明操作就可以立马使用了。

苹果CMSV10个人免签支付插件(接入GOGO支付)

https://download.csdn.net/download/gogozhifu/20629627

就设置了1个积分,支持一下哈(如果1个积分都木有,直接联系我发给你~)

包含的文件如下截图:

上面最简单粗暴的使用方式讲完了,下面给有需要自定义调整开发的朋友介绍一下这些代码内容。

1.gogozhifu.html

这个是后台配置用的页面。

2.Gogozhifu.php

这个是调起GOGO支付下单接口的方法,主要是使用了这个接口,具体跟多的参数和使用方法参考官方的文档即可。

public function submit($user, $order, $params)
    {
        $appId = trim($GLOBALS['config']['pay']['gogozhifu']['appid']);
        $appSecret = trim($GLOBALS['config']['pay']['gogozhifu']['appsecret']);
        $url = "https://www.gogozhifu.com/shop/api/createOrder";
        //API参考文档:https://www.gogozhifu.com/develop.html#dev-services

        $payId = $order['order_code'];
        $param = 'userId' . $user['user_id'];
        $type = $params['paytype'];
        $price = $order['order_price'];
        $sign = md5($appId . $payId . $param . $type . $price. $appSecret);
        $data = [
            'payId' => $payId,
            'param' => $param,
            'type' => $type,
            'price' => $price,
            'sign' => $sign,
            'isHtml' => 1,
            'notifyUrl' => $GLOBALS['http_type'] . $_SERVER['HTTP_HOST'] . '/index.php/payment/notify/pay_type/gogozhifu',//通知地址
            'returnUrl' =>$GLOBALS['http_type'] . $_SERVER['HTTP_HOST'] . '/index.php/payment/notify/pay_type/gogozhifu',//跳转地址
        ];
        return $this->ggPost($url, $data);
    }

3.Go.php

为了避免修改User.php中原来的gopay方法,这里另外新建了一个Go控制器,里面有个gogozhifu方法来实现在线支付。可以参照着自己调整原来的代码合并成一个方法。

public function gogozhifu()
    {
        $param = input();

        $order_code = htmlspecialchars(urldecode(trim($param['order_code'])));
        $order_id = intval((trim($param['order_id'])));
        $payment = strtolower(htmlspecialchars(urldecode(trim($param['payment']))));

        if (empty($order_code) && empty($order_id) && empty($payment)) {
            return $this->error(lang('param_err'));
        }

        if ($GLOBALS['config']['pay'][$payment]['appid'] == '') {
            return $this->error(lang('index/payment_status'));
        }

        //核实订单
        $where['order_id'] = $order_id;
        $where['order_code'] = $order_code;
        $where['user_id'] = $GLOBALS['user']['user_id'];
        $res = model('Order')->infoData($where);
        if ($res['code'] > 1) {
            return $this->error(lang('index/order_not'));
        }
        if ($res['info']['order_status'] == 1) {
            return $this->error(lang('index/order_payed'));
        }

        $cp = 'app\\common\\extend\\pay\\' . ucfirst($payment);
        if (class_exists($cp)) {
            $c = new $cp;
            $payment_res = $c->submit($this->user, $res['info'], $param);
        }
        if ($payment == 'gogozhifu') {
            echo $payment_res;
        }
    }

4.pay.html

这个文件我把它默认的其他乱七八糟的支付方式都去掉了,只保留了GOGO支付,如果你需要多种支付方式切换,自行调整代码即可。

<form method="post" target="_blank" action="{:url('go/gogozhifu')}">
			<input type="hidden" name="order_id" value="{$info.order_id}">
			<input type="hidden" name="order_code" value="{$info.order_code}">
		<div class="line40">
			<p><span class="xiang">订单编号:</span>{$info.order_code}</p>
			<p><span class="xiang">订单金额:</span>{$info.order_price}元</p>
			<p>
				<span class="xiang">支付方式:</span>
				<a target="_blank" href="https://www.gogozhifu.com">GOGO支付</a>
				 - 免费注册使用、个人免签约、无手续费、实时回调
				<input type="hidden" name="payment" value="gogozhifu">
			</p>

			<p class="info-item" id="paytype_box">
				<span class="xiang">支付类型:</span>
				<select class="paytype" id="paytype" name="paytype">
					{maccms:foreach name=":explode(',',$config.gogozhifu.type)"}
					<option value ="{$vo}">
						{if condition="$vo==1"}微信
						{elseif condition="$vo==2"/}支付宝{/if}
					</option>
					{/maccms:foreach}
				</select>
			</p>

			<p><input type="submit" id="btn_submit" class="jifen2-button" value="确认"></p>
		</div>
		</form>

好了,这样就OK了,还有其他问题的欢迎评论、私信交流~

对你有帮助的话给我点个赞吧~

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:22:59  更:2021-07-31 16:25:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 13:47:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码