3

我正在尝试在我的应用程序中实施支付提供商 (AdYen)。付款完成后,AdYen 将通过 HTTP POST 请求向我在后台提供的 URL 发送通知。例如:

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

FinishPayment 是支付控制器中的一个 Action 方法。调用确实以该方法结束,但 AdYen 给了我以下错误:

所需的字符串“[accepted]”不在所有结果中

不知何故,我必须在“notificationResponse”中返回字符串“[accepted]”。但是怎么做?

我看到了一个 PHP 示例,它是这样的:

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

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

任何人都知道如何在 C#.NET MVC3 中发回响应?

4

1 回答 1

2

这已经相当老了,但正如我目前正在使用的那样,也许它可以在未来帮助任何人

选择 HTTP POST 而不是 SOAP 将导致 Adyen 为每个通知创建一个 POST,因此在 MVC 3(或 4,或简单的 ASP .Net)中,您可以创建一个通用处理程序来处理这些请求,然后只创建一个context.Response.Write("[accepted]");. 至少在测试环境中,他们似乎接受了这些响应。

顺便说一句,它们不会将数据的任何签名作为 POST 参数发送,但如果您配置用户和密码,它们将通过 Authorization Header 使用基本的 Http 身份验证进行身份验证,以验证服务器中的请求。

于 2013-03-08T10:15:18.120 回答