SHPO++软件支付插件拓展
来源:互联网 发布:淘宝赵信翼骑统领皮肤 编辑:程序博客网 时间:2024/06/05 10:35
研究SHOP++软件有一年多了,今年4月份推荐公司购买了SHOP++高级版本开发电商平台,从代码质量方面SHOP++还是一如既往的顺畅、清晰,我也体会到为何SHOP++软件在研究者心中有如此高的评价。
这是我们分析下SHOP++软件的支付模块,因为钱永远是牵动着每个人的神经。一般网站在支付成功后,第三方支付会发一个支付成功的异步通知,从异步通知后验证信息是否正确,然后反馈成功或失败的信息给第三方支付平台,比如是处理成功返回SUCCESS,失败返回Failure。从研究发现,SHOP++在支付处理上是绝对安全,没有任何异常,并且SHOP++第三方支付方式采用插件机制开发,扩展新的第三方支付非常简单,这里希望有更多爱好者来研究:
1、参考并复制net.shopxx.plugin.alipayDirect包
2、重命名包名称、插件类(AlipayDirectPlugin.java)名称、配置控制器类
(AlipayDirectController.java)名称、配置视图(setting.ftl)名称
3、修改插件类的@Component注解值并保证其惟一
4、修改插件类实现方法,具体如下:
/**
* 获取插件名称
*/
public abstract String getName();
/**
* 获取插件版本
*/
public abstract String getVersion();
/**
* 获取插件作者
*/
public abstract String getAuthor();
/**
* 获取插件网址
*/
public abstract String getSiteUrl();
/**
* 获取安装URL,管理后台插件安装链接地址,若不需要安装功能返回null,若需要该功能,需
编写相应配置控制器类
*/
public abstract String getInstallUrl();
/**
* 获取卸载URL,管理后台插件卸载链接地址,若不需要卸载功能返回null,若需要该功能,需
编写相应配置控制器类
*/
public abstract String getUninstallUrl();
/**
* 获取设置URL,管理后台插件设置链接地址,若不需要设置功能返回null,若需要该功能,需
编写相应配置控制器类
*/
public abstract String getSettingUrl();
/**
* 获取请求URL,跳转到第三方支付界面的URL
*/
public abstract String getRequestUrl();
/**
* 获取请求方法,跳转到第三方支付界面的请求方法
*/
public abstract RequestMethod getRequestMethod();
/**
* 获取请求字符编码,跳转到第三方支付界面的字符编码
*/
public abstract String getRequestCharset();
/**
* 获取请求参数,跳转到第三方支付界面的请求参数
*
* @param sn
* 编号
* @param description
* 描述
* @param request
* httpServletRequest
* @return 请求参数
*/
public abstract Map<String, Object> getParameterMap(String sn, String description,
HttpServletRequest request);
/**
* 验证通知是否合法,验证第三方支付完成后的返回结果是否合法
*
* @param sn
* 编号
* @param notifyMethod
* 通知方法
* @param request
* httpServletRequest
* @return 通知是否合法
*/
public abstract boolean verifyNotify(String sn, NotifyMethod notifyMethod,
HttpServletRequest request);
/**
* 获取通知返回消息,收到第三方支付完成后的返回结果的响应
*
* @param sn
* 编号
* @param notifyMethod
* 通知方法
* @param request
* httpServletRequest
* @return 通知返回消息
*/
public abstract String getNotifyMessage(String sn, NotifyMethod notifyMethod,
HttpServletRequest request);
/**
* 获取超时时间,支付超时时间
*/
public abstract Integer getTimeout();
- SHPO++软件支付插件拓展
- Chrome拓展插件篇
- jQuery插件开发/拓展
- 【Unity&拓展编辑器&插件】开始插件,拓展编辑器教程
- VS Code 拓展插件推荐
- Sublime功能拓展及插件
- ecshop支付插件开发
- ionic 集成支付插件
- eclipse插件中数据浏览器的拓展
- 【jquery】jquery插件的拓展方法
- 动态数字时钟jquery拓展小插件
- Chrome无法安装插件拓展解决方法
- MAC下PHP拓展Redis插件
- 支付宝快捷支付phonegap插件实现
- 校实验室 软件班 拓展题1
- 触摸屏拓展屏软件(自定义界面)
- 触摸屏拓展屏软件(可自定义界面)
- Android 移动支付插件demo(主应用+支付插件)
- HDU1051--Wooden Sticks
- c# 关键字做变量
- 协调器的组网,终端设备和路由设备发现网络以及加入网络 设备绑定、两节点间串口通信
- DLL入门浅析(4)——从DLL中导出类
- Xmanager和Oracle Linux 6的配置
- SHPO++软件支付插件拓展
- android.intent.category以及android.intent.action.MAIN
- 派生类的构造函数
- 手工将 MVC3.0 项目升级到 MVC4.0
- 关于字符串处理的一系列类似算法
- 浅clone的运用
- Windows Touch术语表
- 关于企业内部系统访问地址的一些思考
- DLL入门浅析(5)——使用DLL在进程间共享数据