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

這其中介紹幾個主要的方法
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.
主要的方法就介紹到這,下面介紹支付處理類的主要方法和需要實作的接口
public class OpenEchoCCP extends PaymentProcessorVersion
implements PaymentProcessor
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對象,供頁面顯示.
圖中使用紅色框選中的代碼就是和支付配置類對應的代碼
經過對資料的處理後封裝echo對象,然後調用echo的submit方法
下面有兩個方法與支付配置類一樣
此時需要在ProStores中配置支付處理子產品
上傳配置到Prostores
配置信用卡支付和電子支票支付子產品
在浏覽器的位址欄輸傳入連結接 打開ProStores管理頁面中輸入使用者名和密碼
點選System >> Extensions
将浏覽器拉到最下面會看到
在完全限定名(Fully qualified classname)框中輸入<b>信用卡支付處理類</b>的完全限定名,點選浏覽(Browse…),選中檔案,點選上傳(Upload),頁面會自動跳轉回來,然後再輸入<b>信用卡支付配置類</b>的完全限定名,至此<b>信用卡支付子產品</b>上傳完畢.
點選System >> Store Defaults
此時會在<b>Allowed Payment Processors</b>中看到Echo Credit Card<b>這就是咱們的信用卡支付處理子產品</b>
至此信用卡支付子產品的編寫和配置就介紹完畢,下一篇文章介紹電子支票子產品
本文轉自 tony_action 51CTO部落格,原文連結:http://blog.51cto.com/tonyaction/42031,如需轉載請自行聯系原作者