近期对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* 请求参数*/public abstract Map<String, Object> getParameterMap(String sn, String description, HttpServletRequest request);/*** 验证通知是否合法,验证第三方支付完成后的返回结果是否合法* * @param sn* 编号* @param notifyMethod* 通知方法* @param request* httpServletRequest* 通知是否合法*/public abstract boolean verifyNotify(String sn, NotifyMethod notifyMethod, HttpServletRequest request);/*** 获取通知返回消息,收到第三方支付完成后的返回结果的响应* * @param sn* 编号* @param notifyMethod* 通知方法* @param request* httpServletRequest* 通知返回消息*/public abstract String getNotifyMessage(String sn, NotifyMethod notifyMethod, HttpServletRequest request);/*** 获取超时时间,支付超时时间*/public abstract Integer getTimeout();