これが Google Checkout 用である場合は、Google Checkout 用の既存の.Net ライブラリの使用を検討する必要があります。
上記の提案は機能しますが、これを行う正しい (安全な) 方法は、ここに文書化されています。XML の代替手段 (署名) はこちら です。そのうちの 1 つは、安全な方法で Google に直接 FORM POST を行うことができます。
クライアント メソッドを介して送信すると、常に改ざんの影響を受けやすくなります。基本的な HTML フォームを Google に投稿することとほとんど違いはありません (セキュリティの観点から)。
更新日:
...今すぐ購入をサポートしていません...
結局のところ、「今すぐ購入」が他の「カート」送信と異なる点が 2 つあります。
- 画像
- Buy Now の単品購入(他の実装では 1 つまたは複数)。
.Net Library のこのサンプル コードを参照してください。それはあなたが必要とするすべてを与えるはずです....
更新 2 :
ライブラリについて「堅い」ものは何もありません。すべてを使用する必要はありません。すでに作成されているすべての配管を利用することもできます。
Google Checkout .Net Library を使用して、BUY NOW を実装する簡単な例
Web フォーム コード (aspx):
<p>Some ASP.net button:<br />
<asp:Button ID="Button1" runat="server" Text="BUY ME NOW" onclick="Button1_Click" /><br />
An ASP.NET Image Button using BUY NOW Image:<br />
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="https://checkout.google.com/buttons/buy.gif?merchant_id=[USE YOUR OWN MERCHANT ID]&w=117&h=48&style=white&variant=text&loc=en_US" onclick="ImageButton1_Click" />
この時点で、ブラウザには次のように表示されます。
コード (インラインまたは分離コード):
using GCheckout.Checkout;
using GCheckout.Util;
....
protected void Button1_Click(object sender, EventArgs e)
{
doSomething();
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
doSomething();
}
private void doSomething()
{
/**
* Use the correct Merchant ID and Key based on GCheckout.EnvironmentType
* You cannot mix/match sandbox and production id or key
*/
CheckoutShoppingCartRequest Req = new CheckoutShoppingCartRequest("your_production_MID", "your_production_KEY", GCheckout.EnvironmentType.Production, "USD", 20);
/**
* Everything from this point is a copy and paste
* from .net libary sample code
* http://code.google.com/p/google-checkout-dotnet-sample-code/source/browse/examples/post_cart/simple.aspx
*/
Req.AddItem("Mars bar", "Packed with peanuts", 0.75m, 2);
//lets make sure we can add 2 different flat rate shipping amounts
Req.AddFlatRateShippingMethod("UPS Ground", 5);
//Add a rule to tax all items at 7.5% for Ohio
Req.AddStateTaxRule("OH", 7.5, true);
GCheckoutResponse Resp = Req.Send();
if (Resp.IsGood)
{
Response.Redirect(Resp.RedirectUrl, true);
}
else
{
Response.Write("Resp.ResponseXml = " + Resp.ResponseXml + "<br>");
Response.Write("Resp.RedirectUrl = " + Resp.RedirectUrl + "<br>");
Response.Write("Resp.IsGood = " + Resp.IsGood + "<br>");
Response.Write("Resp.ErrorMessage = " + Resp.ErrorMessage + "<br>");
}
}
重要
上記は、.Net ライブラリで何ができるかを示すサンプル コードです。Google Checkout 実装ポリシーに準拠するには、ImageButton 実装を使用します。これにより、Google の [今すぐ購入] ボタン (変更されていないなど) を使用していることを確認できます。