天天看點

PaymentGateway4ProStores(一) CreditCard

兩個星期之前公司交給我一個任務編寫基于ProStores8的PaymentGateway.關于PaymentGateway(支付網關) 這個東西在國内和國外都沒有相關的介紹,真的在google上沒有查到相關的開發指南,我的任務是寫一個接口一邊連接配接ProStores另一邊連接配接EchoBank,最終實作在ProStores中增加一種(EchoBank)支付方式.任務已經交代清楚了,後面就是大量的英文文檔(ProStores SDK & Echo API)

首先介紹一下在ProStores中擴充一個支付處理需要建立兩個類一個是支付處理類(Payment Processor),另一個是支付配置類(Payment Configuration)

我先說一些支付配置類需要實作的接口和類中需要實作的方法

PaymentGateway4ProStores(一) CreditCard
PaymentGateway4ProStores(一) CreditCard

這其中介紹幾個主要的方法

1,getCustomParameters() 這個方法為配置頁面需要顯示哪幾個文本框,并且定義了文本框的名稱和頁面顯示時的标簽名.

<b>Method Summary</b>

          This method returns an array of CustomParameter objects.

2,validateForm(HttpServletRequest req)這個方法用于對配置的文本框進行校驗.

 java.lang.String

          This method is used to check the form for valid data.

3,getHelp()方法的作用是,在頁面上對應這個支付子產品配置頁面右上方有一個"?"标志,點選"?"會調用這個方法,傳回一段描述.

java.lang.String

          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會知道這個配置類與哪個處理類相關聯.

          Returns the name of the processor as it should appear to the StoreSense user.

          Return a unique prefix to be used by your processor.

主要的方法就介紹到這,下面介紹支付處理類的主要方法和需要實作的接口

PaymentGateway4ProStores(一) CreditCard

public class OpenEchoCCP extends PaymentProcessorVersion 

       implements PaymentProcessor

PaymentGateway4ProStores(一) CreditCard

1,定義私有變量private Echo echo;//EchoAPI

2,sendAuthCapture(PaymentTransaction transData)發送資料方法,這個方法會根據商業公司傳回的資訊判斷是否支付處理成功,如果成功

 void

          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對象,供頁面顯示.

PaymentGateway4ProStores(一) CreditCard

圖中使用紅色框選中的代碼就是和支付配置類對應的代碼

PaymentGateway4ProStores(一) CreditCard

經過對資料的處理後封裝echo對象,然後調用echo的submit方法

PaymentGateway4ProStores(一) CreditCard

下面有兩個方法與支付配置類一樣

PaymentGateway4ProStores(一) CreditCard

此時需要在ProStores中配置支付處理子產品

上傳配置到Prostores

配置信用卡支付和電子支票支付子產品

在浏覽器的位址欄輸傳入連結接 打開ProStores管理頁面中輸入使用者名和密碼

點選System &gt;&gt; Extensions

PaymentGateway4ProStores(一) CreditCard

将浏覽器拉到最下面會看到

PaymentGateway4ProStores(一) CreditCard

在完全限定名(Fully qualified classname)框中輸入<b>信用卡支付處理類</b>的完全限定名,點選浏覽(Browse…),選中檔案,點選上傳(Upload),頁面會自動跳轉回來,然後再輸入<b>信用卡支付配置類</b>的完全限定名,至此<b>信用卡支付子產品</b>上傳完畢.

點選System &gt;&gt; Store Defaults

PaymentGateway4ProStores(一) CreditCard
PaymentGateway4ProStores(一) CreditCard

此時會在<b>Allowed Payment Processors</b>中看到Echo Credit Card<b>這就是咱們的信用卡支付處理子產品</b>

至此信用卡支付子產品的編寫和配置就介紹完畢,下一篇文章介紹電子支票子產品

本文轉自 tony_action 51CTO部落格,原文連結:http://blog.51cto.com/tonyaction/42031,如需轉載請自行聯系原作者