PaymentGateway4ProStores(一) CreditCard

两个星期之前公司交给我一个任务编写基于ProStores8的PaymentGateway.关于PaymentGateway(支付网关) 这个东西在国内和国外都没有相关的介绍,真的在google上没有查到相关的开发指南,我的任务是写一个接口一边连接ProStores另一边连接EchoBank,最终实现在ProStores中增加一种(EchoBank)支付方式.任务已经交代清楚了,后面就是大量的英文文档(ProStores SDK & Echo API)

首先介绍一下在ProStores中扩展一个支付处理需要建立两个类一个是支付处理类(Payment Processor),另一个是支付配置类(Payment Configuration)

我先说一些支付配置类需要实现的接口和类中需要实现的方法

这其中介绍几个主要的方法

1,getCustomParameters() 这个方法为配置页面需要显示哪几个文本框,并且定义了文本框的名称和页面显示时的标签名.

 CustomParameter[]getCustomParameters()
          This method returns an array of CustomParameter objects.

2,validateForm(HttpServletRequest req)这个方法用于对配置的文本框进行校验.

 java.lang.StringvalidateForm(javax.servlet.http.HttpServletRequest req)
          This method is used to check the form for valid data.

3,getHelp()方法的作用是,在页面上对应这个支付模块配置页面右上方有一个"?"标志,点击"?"会调用这个方法,返回一段描述.

java.lang.StringgetHelp()
          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会知道这个配置类与哪个处理类相关联.

 java.lang.StringgetProcessorName()
          Returns the name of the processor as it should appear to the StoreSense user.
 java.lang.StringgetProcessorPrefix()
          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)发送数据方法,这个方法会根据商业公司返回的信息判断是否支付处理成功,如果成功

 voidsendAuthCapture(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这就是咱们的信用卡支付处理模块

至此信用卡支付模块的编写和配置就介绍完毕,下一篇文章介绍电子支票模块

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值