首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌签出通知确认(C# ASP.NET MVC)

谷歌签出通知确认(C# ASP.NET MVC)
EN

Stack Overflow用户
提问于 2011-06-24 16:35:51
回答 3查看 2.1K关注 0票数 0

一旦我收到序列号,我就会尝试向Google发送通知确认,这样它就会知道我已经处理了这个序列号并将它保存到了我的数据库中。但是,我一直在集成控制台中得到以下错误:

我们在处理通知确认时遇到了错误。我们得到的错误是:错误解析通知确认。

当我检查发送到服务器的值时,我觉得一切看起来都很好:

代码语言:javascript
复制
<notification-acknowledgement xmlns="http://checkout.google.com/schema/2" serial-number="357304636821412-00001-7" />

这是我的密码:

代码语言:javascript
复制
    [HttpPost]
    public EmptyResult Notify()
    {
        var serial = Request["serial-number"];
        var data =
            "<notification-history-request xmlns=\"http://checkout.google.com/schema/2\"><serial-number>" + serial + "</serial-number></notification-history-request>";
        var serverResponse = _checkoutService.Post(data, GoogleCheckoutConstants.ReportsUri);

        //Send me email to checkout the response
        dynamic email = new Email("CheckoutLog");
        email.Response = serverResponse;
        email.Send();

        var acknowldgement =
            "<notification-acknowledgement xmlns=\"http://checkout.google.com/schema/2\" serial-number=\"" + serial +
            "\" />";

        HttpResponse response = System.Web.HttpContext.Current.Response;
         response.StatusCode = 200;
         response.ContentType = "text/xml";
        response.Write(acknowldgement);
        return null;
    }

此外,为什么我一直只接收new-order-notification?对我来说更重要的是authorization-amount-notification,但是它从不发送它,尽管在文件第2节,步骤2.1中它说过一段时间后它应该发送给我这个通知。我是不是漏掉了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-26 04:26:36

似乎您缺少xml声明(?)

代码语言:javascript
复制
**<?xml version="1.0" encoding="utf-8"?>**
<notification-acknowledgment serial-number="the-serial-no" xmlns="http://checkout.google.com/schema/2" />

其他可能影响它的因素(仅基于上述猜测):

  • 调用_checkoutService.Post中的异常
  • 调用email.Send()中的异常

如果您首先存储串行#(因此您“总是”拥有它),然后做您需要做的其他任何事情(即发送通知历史记录请求、解析、发送电子邮件等),可能会更好。

确认的想法是你确认成功地收到了序列号。一旦您有了序列号,您就可以在需要时执行通知历史记录请求(即,如果您有解析问题,您可以一次又一次地重新发送,直到您成功地解析为止)。

希望这有帮助..。

票数 2
EN

Stack Overflow用户

发布于 2011-06-27 13:40:20

为什么不使用已经为构建的.Net库?

更多信息请看这个。

http://code.google.com/p/google-checkout-dotnet-sample-code/

票数 0
EN

Stack Overflow用户

发布于 2011-09-09 21:00:31

您还需要确保在文档和示例代码中引用了正确的API版本。我在看两个不同的版本,这让我很困惑。如果您正在使用api版本2.5,请签出这篇文章。

weblog/2010/11/29/UsingTheGoogleCheckout25APIWithASPNETMVCTheMissingSample.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6470914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档