2012-05-09 60 views
3

我試圖在我的應用程序中實施付款提供商(AdYen)。付款完成後,AdYen會通過HTTP POST請求向我發送一個通知給我在後臺提供的URL。例如:從POST發回請求

http://myhost.com/Payment/FinishPayment/

FinishPayment是在付款控制裝置的動作方法。呼叫確實在該方法結束,但AdYen給了我以下錯誤:

The required string "[accepted]" is not in all the results

不知怎的,我必須返回字符串「[接受]」在「notificationResponse」。但是如何?

我看到一個PHP例子只是這樣的:

function FinishPayment() // function is called by AdYen 
{ 
    // Do stuff... 

    return array("notificationResponse" => "[accepted]"); 
} 

任何人任何想法如何,我可以發回一個響應在C#.NET MVC3?

+1

[整合手冊]的第25頁(https://docs.google.com/viewer?a=v&q=cache:fHylPYHsG3cJ:attachment-c02.memonic.ch/p/290d76e5-2907-4458-a479- a90022267bac/08c9f78b-ce2a-4c7e-bdf6-6f1622f6754c/ef4adb890a/IntegrationManual.pdf + HL = EN&GL = US&PID = BL&srcid = ADGEEShU_e3kGcTW-aIcwmAIElEdVMPnBhqVldmVEye_240rrSo8oWB6rHLugVU_7zoDKpn1D1D2YdLBK5ZnHakEo68F__kFwJIQ9rC7xjButQNIVGXLD6xo5hiw-W3MMTbGm39-8Xm0與SIG = AHIEtbSW6PHdaWbenV6qQ-_Sqe6m7k0CoA)解釋它。 –

+0

@DavidSchwartz是的,但那是SOAP。我沒有在應用程序的任何地方使用SOAP,所以如果可能的話,我想盡量避免使用SOAP。必須有某種方式才能向URL發送請求,例如:http://adyen...com/Notify?response = [accepted] – Vivendi

+0

我不確定爲什麼您認爲必須有辦法做到這一點。我沒有在文檔中看到他們支持SOAP以外的任何建議。 –

回答

2

這是相當老了,但因爲我目前正與它的工作,也許它可以幫助任何人在未來

選擇HTTP POST而不是SOAP會導致Adyen使每一個通知的POST,所以在MVC 3(或4,或簡單的ASP .Net),你可以創建一個通用的處理程序來處理這些請求,並且只需要一個context.Response.Write("[accepted]");。至少在測試環境中,他們似乎認爲這些迴應是好的。

順便說一下,它們不會將任何數據的簽名作爲POST參數發送,但是如果您配置了用戶和密碼,它們將通過Authorization Header使用基本Http身份驗證進行身份驗證,以便在你的服務器。