我已經使用表單集成實施了SagePay付款。我的實施基於SagePay提供的.Net集成工具包,這一切都很好。SagePay .Net集成套件 - 爲3dSecureStatus返回NOTAVAILABLE值時出錯
最近我們啓用了3D Secure,並在3DSecureStatus
的值返回NOTAVAILABLE
的值時遇到問題。
這似乎是返回NOTAVAILABLE
值時,一個錯誤的調用內裝配SagePay.IntegrationKit.DotNet.dll
內拋至ConvertToSagePayMessage()
方法上SagePayIntegration
類。
具體來說,當值被解析爲ThreeDSecureStatus
枚舉時,會發生此錯誤。此枚舉不具有NOTAVAILABLE
能夠解析的值,因此錯誤。
我已經爲此暫時解決了這個問題,現在就開始工作。此修復程序將NOTAVAILABLE
值替換爲NONE
,因此現在解析爲有效的枚舉值。這僅僅是調用ConvertToSagePayMessage()
cryptDecoded = cryptDecoded.Replace("3DSecureStatus=NOTAVAILABLE", "3DSecureStatus=NONE");
我只是想知道爲什麼ThreeDSecureStatus
枚舉不具有價值NOTAVAILABLE
之前完成,因爲NOTAVAILABLE
是,它預計將返回一個值,這是在概述由SagePay提供的表單集成協議指南。並希望實現更強大的修復,而不是字符串替換。
我與3d安全啓用相同的問題,我試過你的解決方案,但不適合我。你有好主意嗎? SagePay.IntegrationKit.SagePayIntegration.SetPropertyValue(Object target,String propertyName,String value)中的錯誤是「Requested value'NOTAVAILABLE'was not found」 – DevT 2015-07-10 16:05:20