ecshop支付插件开发

1 篇文章 0 订阅

目标一:搞懂ecshop的支付流程

选完商品,进入购物车页面,点击“结算中心”,页面跳转到flow.php?step=checkout,这个是订单确认操作。

在订单确认页面确定了支付方式,配送方式等可选择的信息之后,点击“提交订单”按钮,提交表单到flow.php?step=done生成订单。

flow.php?step=done这个操作中,跟支付有关的操作是生成支付代码。如下所示:

 

    /* 取得支付信息,生成支付代码,在线支付代码*/

    if ($order['order_amount'] > 0)

    {

        $payment = payment_info($order['pay_id']);

//print_r($payment);exit;

        include_once('includes/modules/payment/' . $payment['pay_code'] . '.php');

        $pay_obj = new $payment['pay_code'];

         $pay_online=$pay_obj->get_code($order,unserialize_config($payment['pay_config']));

//print_r(unserialize_config($payment['pay_config']));exit;

        $order['pay_desc'] = $payment['pay_desc'];

        $smarty->assign('pay_online', $pay_online);

    }

 

通过支付方式的id通过函数payment_info()获取到支付方式的信息,在通过支付方式的pay_code包含对应的支付模块。

Ecshop把每一种支付方式都封装成一个类,比如支付宝支付方式,对应的文件是

includes\modules\payment\alipay.php,这个文件里面封装了类是alipay,这个类有两个方法,一个是生成支付代码的get_code(),根据不同支付接口所需的参数进行配置,然后生成一个字符串,这个字符串就是支付代码;另外一个是响应操作respond()。其中,接收响应的页面都是通过return_url(basename(__FILE__, '.php'))函数指定的,生成的链接是respond.php?code=,其中code后面的参数就是根据不同的支付方式而不同。Respond.php则根据不同的第三方支付返回的信息进行处理。

 

 

目标二:开发支付插件(为了便于讲解,再次开发ecshop自带的支付宝接口alipay,我们改名为alipay_test

搞清楚支付的基本流程,尝试开发支付插件。假如要开发一个alipay_test.php插件。

首先,在语言包里面languages\zh_cn\payment新建一个alipay_test.php文件(这里复制alipay.php),然后修改里面的$LANG的下标,都加上_test$_LANG['pay_button']可以不修改;

然后,在支付模块includes\modules\payment里面新建一个alipay_test.php,修改模块的基本信息跟语言包,封装一个类alipay_test,并且实现两个方法get_code()respond()

最后登录后台查看支付方式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
支付宝手机支付接口搞了三天了,连支付宝的技术人员都没能帮我解决问题,在百度找了很多和我一样问题的,都无法解决。 主要问题就是,使用0001加密,返回值无法验证。 求人不如求己,我还是自己认真的阅读了下手册,仔细的分析下代码,终于把问题给解决了。 废话不多说,直接上菜。 1、本程序直接复制到你的根目录即可 (没有修改过ECSHOP核心文件的前提下) 2、/alipay/key/ 文件夹里有个两个文件alipay_public_key.pem (公钥) rsa_private_key.pem (私钥) 公钥和私钥的配置方法很简单,看手册会看晕的。我简化点说。 (1)打开 openssl(openssl生成工具 用完可删) 文件夹。运行这个文件夹下的 /bin/openssl.exe程序 (2)打开 openssl(openssl生成工具 用完可删) 文件夹下的 /bin/生成命令.txt (3)按照1、2、3的顺序,在OpenSSL.exe程序中运行。操作完成后。 你会发现 /bin 文件夹下面多了两个.pem文件 和 一个.txt的文件 (4)将rsa_public_key.pem 用记事本打开,将前缀和后缀之间的内容复制(即-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY----- 之间的内容) (5)进入支付宝签约管理,点击查看PID | Key 然后点击 无线产品密钥管理(wap专用) 查看 (6)点击RSA加密:添加密钥(或查看密钥) 将刚刚复制的内容粘贴到这个文本框内,记得一定要删除所有的空格,开头和结尾一定要不要有空格。点击保存(或修改) (7)完成后点击查看支付宝公钥,将里面的内容复制出来,粘贴到/alipay/key/alipay_public_key.pem 的文件里,格式已经在该文件里写的很清楚的。 (8)将刚刚生成的rsa_private_key.pem文件里的内容复制到/alipay/key/rsa_private_key.pem 里,注意格式。 3、完成后直接上传到网站根目录即可。 4、注意,本程序是直接覆盖alipay.php的,如果你想保留支付宝的网页支付插件,请慎用,建议新建一个手机网站使用。 本人并不是技术特别厉害的程序员,本程序经过N多测试均未发现问题,如果你无法正常使用,极有可能是你的公钥没有配置好,可以联系支付宝的技术教你弄弄。 如果你发现我写的代码有点冗余,请与我联系,我们共同完善。QQ:927822902 特别声明:本人平时特别忙,如果是想加QQ寻求一对一解决问题的,请勿加。付费例外:)
前言 3 一、商圈和地区进行关联 4 二、其他页面显示购买记录的函数 5 三、多货币解决方案 6 四、仿淘宝商品详细页实现尺码颜色关联显示库存 12 五、仿淘宝商品详细页加入购物车效果 14 六、ecshop加入购物车效果(各个页面) 22 七、商品列表页面“喜欢“ 功能实现 29 八、商品列表也显示获赠消费积分 32 九、分析 ecshop 里的$GLOBALS 37 十、解决 选择属性 直接就是属性价格不需要在原价基础上加价 38 十一、商品详细页下载商品介绍相关图片 39 十二、实现后台二次开发后功能模块仍然可以分配权限 41 十三、ecshop调用bbs数据 42 十四、整理了一个 获取用户等级的函数 43 十五、商品页显示具体属性排序 44 十六、解决ecshop新建页面分页问题 49 十七、刚修改的伪静态分类URL 52 十八、ecshop批发销售 66 十九、网银支付直通插件 实现方法 69 二十、商品列表页多图切换的实现 75 二十一、完善论坛发布的qq登录插件 77 二十二、倒计时代码 78 二十三、关于ecshop回调函数应用 83 二十四、商品内容页加订单留言功能分析 84 二十五、有关商品详细页是常规显示还是显示宣传页的实现方法 85 二十六、后台添加搜索功能讲解 87 二十七、分享ec搜索出现相关商品的效果滑动效果(模仿百度) 88 二十八、修改注册发送邮件(更新) 94 二十九、新增加一调用编辑器函数 97 三十、简单实现 各个页面都可显示友情链接 97 三十一、Ecshop系统框架分析 99 三十二、二次开发技术共享 后台邮件群发共享 100 三十三、ecshop内页调用友情链接 100 三十四、项目要求在后台商品分类添加图片的功能。 102 三十五、分类按照拼音第一字母排序显示实现 102 三十六、获取分类的一级分类和二级分类 106 三十七、如何调用解决列表的购买数量 107 三十八、详情页调评论次数 108 三十九、关于购买数量 订单数量 109 四十、Ecshop ajax应用讨论 109 四十一、调用当前分类或当前分类的下级分类函数 115 四十二、在商品列表显示购买记录 118 四十三、ajax更新购物车数量 118 四十四、PHP导出excle数据 123 四十五、页面多倒计时显示最新修改 125 四十六、关于lbi文件控制原理分析 129 四十七、页面浏览历史图片调用分析 130
前言 3 一、商圈和地区进行关联 4 二、其他页面显示购买记录的函数 5 三、多货币解决方案 6 四、仿淘宝商品详细页实现尺码颜色关联显示库存 12 五、仿淘宝商品详细页加入购物车效果 14 六、ecshop加入购物车效果(各个页面) 22 七、商品列表页面“喜欢“ 功能实现 29 八、商品列表也显示获赠消费积分 32 九、分析 ecshop 里的$GLOBALS 37 十、解决 选择属性 直接就是属性价格不需要在原价基础上加价 38 十一、商品详细页下载商品介绍相关图片 39 十二、实现后台二次开发后功能模块仍然可以分配权限 41 十三、ecshop调用bbs数据 42 十四、整理了一个 获取用户等级的函数 43 十五、商品页显示具体属性排序 44 十六、解决ecshop新建页面分页问题 49 十七、刚修改的伪静态分类URL 52 十八、ecshop批发销售 66 十九、网银支付直通插件 实现方法 69 二十、商品列表页多图切换的实现 75 二十一、完善论坛发布的qq登录插件 77 二十二、倒计时代码 78 二十三、关于ecshop回调函数应用 83 二十四、商品内容页加订单留言功能分析 84 二十五、有关商品详细页是常规显示还是显示宣传页的实现方法 85 二十六、后台添加搜索功能讲解 87 二十七、分享ec搜索出现相关商品的效果滑动效果(模仿百度) 88 二十八、修改注册发送邮件(更新) 94 二十九、新增加一调用编辑器函数 97 三十、简单实现 各个页面都可显示友情链接 97 三十一、Ecshop系统框架分析 99 三十二、二次开发技术共享 后台邮件群发共享 100 三十三、ecshop内页调用友情链接 100 三十四、项目要求在后台商品分类添加图片的功能。 102 三十五、分类按照拼音第一字母排序显示实现 102 三十六、获取分类的一级分类和二级分类 106 三十七、如何调用解决列表的购买数量 107 三十八、详情页调评论次数 108 三十九、关于购买数量 订单数量 109 四十、Ecshop ajax应用讨论 109 四十一、调用当前分类或当前分类的下级分类函数 115 四十二、在商品列表显示购买记录 118 四十三、ajax更新购物车数量 118 四十四、PHP导出excle数据 123 四十五、页面多倒计时显示最新修改 125 四十六、关于lbi文件控制原理分析 129 四十七、页面浏览历史图片调用分析 130
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值