• 微信、支付宝个人免签约第三方支付接口需求,欢迎联系我们!
  • 严禁一切非法使用,请不要将本站接口用于违法行为!

大商创是一款B2B2C多用户商城系统,本文将给出大商创个人免签支付接口插件(支持支付宝/微信扫码支付),并提供开发思路,供有需求的用户参考或快速接入。

概述

环境

本接口插件基于大商创2.0开发,兼容手机端,其余版本正常也是可以用的,可自行尝试。

效果展示

会员充值展示:
会员充值展示

商品购买页面效果:
商品购买页面效果

微信支付页面效果:
微信支付页面效果

支付宝支付页面效果:
支付宝支付页面效果

移动端充值页面:
移动端充值页面

移动端支付成功页面效果:
移动端支付成功页面效果

快速接入

下载

源码下载

源码上传

将源码包里www文件夹内的文件上传到网站根目录

安装

进入大商创后台 - 设置 - 支付方式 - 找到如下图易支付,并安装
大商创安装支付方式

APPID和APPKEY在这里获取:http://user./account,其余项根据自己需要填写。
安装配置

回调设置

设置回调地址为:http://域名/respond.php?code=ezhifu(设置入口
回调设置

测试

至此已安装完成,可以测试下功能是否正常了。

代码解析

大商创支付功能已经封装得很便利了,本次新增该个人免签支付,仅增加了三个文件,并且没有更改任何原有文件

语言包文件

语言包文件路径为:languages/zh_cn/payment/ezhifu.php,本次仅开发了简体中文包,如需支持其他语言参考本代码新增一份放相应路径下即可。语言包较为简单,直接展示代码:

global $_LANG;
$_LANG['ezhifu'] = '易支付';
$_LANG['ezhifu_desc'] = 'EZHIFU 易支付(www.ygkfpay.com) 免签约收款接口
在线即可开通,无需签约,快速接入
立即在线申请'; $_LANG['ezhifu_APPID'] = 'APPID'; $_LANG['ezhifu_APPKEY'] = 'APPKEY'; $_LANG['pay_button'] = '立即支付'; $_LANG['ezhifu_pay_method'] = '选择接口类型'; $_LANG['ezhifu_pay_method_desc'] = '控制支付接口类型'; $_LANG['ezhifu_pay_method_range'][0] = '微信+支付宝'; $_LANG['ezhifu_pay_method_range'][1] = '仅微信'; $_LANG['ezhifu_pay_method_range'][2] = '仅支付宝';

支付接口主文件

支付接口最重要的文件:includes/modules/payment/ezhifu.php,代码及注释如下:

/**
 * EZHIFU 易支付(www.ygkfpay.com) 易支付免签约支付插件
 * 无需签约,快速接入
 */

if (!defined('IN_ECS'))
{
    die('Hacking attempt');
}

$payment_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/payment/ezhifu.php';

if (file_exists($payment_lang))
{
    global $_LANG;

    include_once($payment_lang);
}

/* 模块的基本信息 */
if (isset($set_modules) && $set_modules == TRUE)
{
    $i = isset($modules) ? count($modules) : 0;

    /* 代码 */
    $modules[$i]['code']    = basename(__FILE__, '.php');

    /* 描述对应的语言项 */
    $modules[$i]['desc']    = 'ezhifu_desc';

    /* 是否支持货到付款 */
    $modules[$i]['is_cod']  = '0';

    /* 是否支持在线支付 */
    $modules[$i]['is_online']  = '1';

    /* 作者 */
    $modules[$i]['author']  = 'EZHIFU';

    /* 网址 */
    $modules[$i]['website'] = 'http://www.';

    /* 版本号 */
    $modules[$i]['version'] = '1.0.0';

    /* 配置信息 */
    $modules[$i]['config']  = array(
        array('name' => 'ezhifu_APPID',      'type' => 'text',   'value' => ''),
        array('name' => 'ezhifu_APPKEY',     'type' => 'text',   'value' => ''),
        array('name' => 'ezhifu_pay_method', 'type' => 'select', 'value' => '')
    );

    return;
}

/**
 * 类
 */
class ezhifu
{
    function __construct()
    {
        $this->ezhifu();
    }

    /**
     * 构造函数
     *
     * @access  public
     * @param
     *
     * @return void
     */
    function ezhifu()
    {

    }

    /**
     * 生成支付代码
     * @param   array   $order      订单信息
     * @param   array   $payment    支付方式信息
     */
    function get_code($order, $payment)
    {
        if (!defined('EC_CHARSET'))
        {
            $charset = 'utf-8';
        }
        else
        {
            $charset = EC_CHARSET;
        }
        //整理参数
        $url = "?appid={$payment['ezhifu_APPID']}&money={$order['order_amount']}&subject={$order['order_sn']}&logid={$order['log_id']}&returnurl=".urlencode(return_url(basename(__FILE__, '.php')));
        $real_method = $payment['ezhifu_pay_method'];
        if(empty($real_method))$real_method = 0;
        $html = "";
        switch ($real_method){
            case '0'://双通道
                $html = '……';
                break;
            case '1'://仅微信
                $html = '……';
                break;
            case '2'://仅支付宝
                $html = '……';
                break;
        }

        return '
'.$html.'
'; } /** * 响应操作 */ function respond() { $payment = get_payment($_GET['code']); unset($_GET['code']); $sign = $_GET['sign']; unset($_GET['sign']); ksort($_GET); if(md5(http_build_query($_GET).$payment['ezhifu_APPKEY'])!=$sign){ return false; } //校验成功 $order_sn = $_GET['logid']; /* 检查支付的金额是否相符 */ if (!check_money($order_sn, $_GET['money'])) { return false; } order_paid($order_sn); return true; } }

移动端支付文件:mobile/app/Plugins/payment/ezhifu.php,由于与pc端代码类似,不再展示:

拓展阅读