shop++第三方支付插件开发方法

  相信从事电子商务软件开发的朋友对SHOP++网上商城软件比较了解,本人近期也在研究SHOP++,并对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();

 

上一篇:安卓防火墙 PS DroidWall

下一篇:5种方法解除开机密码