2017-01-03 57 views
2

我使用萬事達卡支付網關API託管會話:Mastercard Payment Gateway API Documentation萬事達卡支付網關API單頁應用

的整合工作按預期在第一負載,但是這已經被寫入到一個頁面的應用程序。當用戶通過麪包屑返回頁面時(使用JavaScript哈希加載'網頁')。然後,當用戶返回付款「頁面」時,應該再次觸發萬事達卡付款API,但這不會發生。

該文件沒有說如果PaymentSession.configure({})可以發送多次,但我認爲這是我的問題。

我試圖'重置'PaymentSession並重新加載session.js JavaScript,但到目前爲止還沒有能夠得到這種特殊情況下的工作。我想知道是否有辦法'重置'configure()或者如果有另一種方法來解決這個問題?

我寧願不復制和粘貼我的代碼,因爲它是一種支付集成,儘管它與文檔上的示例相同。我還想說,這個問題與我的個人代碼無關,更關係到萬事達的支付API的工作原理以及我的網站是單頁而不是僅在需要時加載session.js的事實。

回答

0

我不喜歡它,當答案被運給出的,但我有一個解決方案:

$.getScript("<mastercard url + version + merchant id>/session.js", function() { //PaymentSession && PaymentSession.configure(); });

這用了jQuery每單頁支付哈希被調用時加載session.js。一旦MasterCard支付腳本執行完畢,它將運行PaymentSession.configure()

我的公司最終將遠離MasterCard付款API,因此這是一個合適的解決方案,並不會增加太多的頁面加載。 我仍然非常有興趣瞭解這個腳本是否可以以其他方式重置。