PaymentGateway4ProStores(一) CreditCard

简介:
两个星期之前公司交给我一个任务编写基于ProStores8的PaymentGateway.关于PaymentGateway(支付网关) 这个东西在国内和国外都没有相关的介绍,真的在google上没有查到相关的开发指南,我的任务是写一个接口一边连接ProStores另一边连接EchoBank,最终实现在ProStores中增加一种(EchoBank)支付方式.任务已经交代清楚了,后面就是大量的英文文档(ProStores SDK & Echo API)
首先介绍一下在ProStores中扩展一个支付处理需要建立两个类一个是支付处理类(Payment Processor),另一个是支付配置类(Payment Configuration)
我先说一些支付配置类需要实现的接口和类中需要实现的方法
这其中介绍几个主要的方法
1,getCustomParameters() 这个方法为配置页面需要显示哪几个文本框,并且定义了文本框的名称和页面显示时的标签名.
Method Summary
 CustomParameter[] getCustomParameters() 
          This method returns an array of CustomParameter objects.
2,validateForm(HttpServletRequest req)这个方法用于对配置的文本框进行校验.
 java.lang.String validateForm(javax.servlet.http.HttpServletRequest req) 
          This method is used to check the form for valid data.
3,getHelp()方法的作用是,在页面上对应这个支付模块配置页面右上方有一个"?"标志,点击"?"会调用这个方法,返回一段描述.
java.lang.String getHelp() 
          This method should return a string that a user will read when he clicks the online help button.
4,getProcessorName()和getProcessorPrefix()这两个方法,其中getProcessorName()是在页面显示是的支付处理模块名称(给用户看的),getProcessorPrefix()这个方法是支付处理类和支付配置类其配的关键,根据这个方法返回的String ,ProStores会知道这个配置类与哪个处理类相关联.
Method Summary
 java.lang.String getProcessorName() 
          Returns the name of the processor as it should appear to the StoreSense user.
 java.lang.String getProcessorPrefix() 
          Return a unique prefix to be used by your processor.
主要的方法就介绍到这,下面介绍支付处理类的主要方法和需要实现的接口
public class OpenEchoCCP extends PaymentProcessorVersion 
       implements PaymentProcessor
1,定义私有变量private Echo echo;//EchoAPI
2,sendAuthCapture(PaymentTransaction transData)发送数据方法,这个方法会根据商业公司返回的信息判断是否支付处理成功,如果成功
Method Summary
 void sendAuthCapture(PaymentTransaction transactionData) 
          This method authorizes a charge and captures funds in the same transaction.
transData.setValue(PaymentTransaction.OUTCOME, 
     PaymentTransaction.OUTCOME_APPROVED);
如果失败 transData.setValue(PaymentTransaction.OUTCOME, 
      PaymentTransaction.OUTCOME_ERROR);
    transData.setValue(PaymentTransaction.MISC_MESSAGE,
      echo.echoResponse());
将返回的错误信息setVal进transData对象,供页面显示.
图中使用红色框选中的代码就是和支付配置类对应的代码
经过对数据的处理后封装echo对象,然后调用echo的submit方法
下面有两个方法与支付配置类一样
此时需要在ProStores中配置支付处理模块
上传配置到Prostores
配置信用卡支付和电子支票支付模块
在浏览器的地址栏输入链接 打开ProStores管理页面中输入用户名和密码
点击System >> Extensions
将浏览器拉到最下面会看到
在完全限定名(Fully qualified classname)框中输入 信用卡支付处理类的完全限定名,点击浏览(Browse…),选中文件,点击上传(Upload),页面会自动跳转回来,然后再输入 信用卡支付配置类的完全限定名,至此 信用卡支付模块上传完毕.
点击System >> Store Defaults
 
此时会在 Allowed Payment Processors中看到Echo Credit Card 这就是咱们的信用卡支付处理模块
至此信用卡支付模块的编写和配置就介绍完毕,下一篇文章介绍电子支票模块









本文转自 tony_action 51CTO博客,原文链接:http://blog.51cto.com/tonyaction/42031,如需转载请自行联系原作者
目录
相关文章
|
安全 网络协议 网络安全
curl使用
curl使用
280 0
|
Linux
Linux使用Aria2命令下载BT种子/磁力/直链文件
Linux使用Aria2命令下载BT种子/磁力/直链文件
1517 0
|
9月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
802 3
|
Java
Java中判断String类型为空和null的方法
Java中判断`String`变量是否为空或`null`需用`== null`和`.isEmpty()`。示例代码提供两种方法:`main`方法直接判断,`safeGetString`方法提供默认值。当输入为`null`或空时,返回默认值。代码包含三个测试案例,分别处理`null`、空字符串和非空非`null`字符串。
427 0
|
11月前
|
开发框架 监控 搜索推荐
GoFly快速开发框架集成ZincSearch全文搜索引擎 - Elasticsearch轻量级替代为ZincSearch全文搜索引擎
本文介绍了在项目开发中使用ZincSearch作为全文搜索引擎的优势,包括其轻量级、易于安装和使用、资源占用低等特点,以及如何在GoFly快速开发框架中集成和使用ZincSearch,提供了详细的开发文档和实例代码,帮助开发者高效地实现搜索功能。
572 0
|
11月前
|
存储 安全 网络安全
云端盾牌:云计算时代的网络安全守护在数字化浪潮中,云计算以其高效、灵活的特性成为企业转型的加速器。然而,伴随其迅猛发展,网络安全问题亦如影随形,成为悬在每个组织头顶的达摩克利斯之剑。本文旨在探讨云计算服务中的网络安全挑战,分析信息安全的重要性,并提出相应对策,以期为企业构建一道坚实的云端防护网。
在当今这个数据驱动的时代,云计算已成为推动创新与效率的关键力量。它允许用户随时随地访问强大的计算资源,降低了企业的运营成本,加速了产品上市时间。但随之而来的网络威胁也日益猖獗,尤其是对于依赖云服务的企业而言,数据泄露、身份盗用等安全事件频发,不仅造成经济损失,更严重损害品牌信誉。本文深入剖析云计算环境中的安全风险,强调建立健全的信息安全管理机制的重要性,并分享一系列有效策略,旨在帮助企业和个人用户在享受云服务带来的便利的同时,也能构筑起强有力的网络防线。
|
存储 Prometheus Cloud Native
SLS Prometheus存储问题之为什么SLS时序引擎最终选择了使用C++实现PromQL的部分算子
SLS Prometheus存储问题之为什么SLS时序引擎最终选择了使用C++实现PromQL的部分算子
|
算法 数据可视化 数据挖掘
大学生必备!GitHub星标破千的matlab教程(从新手到骨灰级玩家)
MATLAB(Matrix Laboratory)是MathWorks公司推出的用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的商业数学软件。 MATLAB具有数值分析、数值和符号计算、工程与科学绘图、数字图像处理、财务与金融工程等功能,为众多科学领域提供了全面的解决方案。
|
前端开发 UED
产品入门第四讲:Axure动态面板
产品入门第四讲:Axure动态面板
273 0
|
网络安全 数据安全/隐私保护
华为交换机基本配置之Telnet和SSH方式远程登录
华为交换机基本配置之Telnet和SSH方式远程登录
2488 0