0

呼び出されるコールバック URL があり、それを処理できます。ただし、Google は私の承認を処理しません。これで全部ですEnvironmentType.Sandbox

Google チェックアウトの「統合コンソール」で、次のメッセージが表示されます。

通知確認の処理中にエラーが発生しました。取得したエラーは次のとおりです。通知確認応答の解析中にエラーが発生しました。

詳細は次のとおりです: 彼らが私に送ったもの: serial-number=....

彼らが受け取ったもの:

<?xml version="1.0" encoding="utf-8"?>
<notification-acknowledgment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" serial-number="here is the same serial number they sent me" xmlns="http://checkout.google.com/schema/2" />

<!DOCTYPE html...

私が使用しているコード:

GCheckout.AutoGen.NotificationAcknowledgment response = new GCheckout.AutoGen.NotificationAcknowledgment();
response.serialnumber = serialNumber;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.BinaryWrite(GCheckout.Util.EncodeHelper.Serialize(response));
HttpContext.Current.Response.StatusCode = 200;

ここでの間違いは何ですか?

4

2 に答える 2

1

.Net ライブラリの例からこの「コード ビハインド」コードを参照してください。

aspx ファイルを使用している場合aspx は、同じ例のソースに示すように、その中のすべての HTML コンテンツを削除します。

Response.End()それ以上の応答コンテンツが返されないようにするため、これも機能します (実質的に同じことを行います - Web フォーム (aspxファイル) の HTML コンテンツが送信されないようにします)。

ashxコールバック URL に aspx ページの代わりに汎用ハンドラー ( ) を使用することも検討できます。

于 2012-06-25T02:07:37.943 に答える
0

この質問は、私の別の質問への回答によって解決されるようです: How can I create a http response from scratch? .

解決策は、次を追加することです。

HttpContext.Current.Response.End();
于 2012-06-24T21:33:33.523 に答える