ASP.Net MVC中的Google Checkout

时间:2009-11-19 22:39:36

标签: asp.net-mvc google-checkout

我有一个相当简单的ASP.Net网站,使用谷歌结账(我有一个图像按钮,PostBackUrl设置为谷歌地址传递隐藏字段的值),工作正常。

我一直在将这个应用程序移动到MVC,我不知道如何处理这个问题。我想过使用jQuery表单,但我不相信这会在这种情况下起作用,因为有时它们被重定向到谷歌页面。有没有人在asp.net MVC应用程序中使用谷歌结账?

1 个答案:

答案 0 :(得分:2)

你可以做你以前做过的事情,只是你最终手动完成。

听起来你只使用基本版本,是吗?

您创建的HTML表单将Action设置为Google结帐流程,添加适当的隐藏字段(控制器传递的模型将填充正确的值,然后您有一个提交按钮) (或图像,如果你愿意)。

因此,Google的基本HTML页面的一个示例,针对某些MVC-ish-ness进行了修改,将是这样的:

<form method="POST"
  action="https://checkout.google.com/api/checkout/v2/checkoutForm/Merchant/<%= Model.MerchantId %>"
      accept-charset="utf-8">

  <input type="hidden" name="item_name_1" value="<%= Model.Item.Name %>"/>  
  <input type="hidden" name="item_description_1" value="<%= Model.Item.Description %>>  
  <input type="hidden" name="item_quantity_1" value="<%= Model.Item.Quantity %>"/>  
  <input type="hidden" name="item_price_1" value="<%= Model.Item.Price %>"/>  
  <input type="hidden" name="item_currency_1" value="<%= Model.Item.Currency %>"/>  
  <input type="hidden" name="ship_method_name_1" value="<%= Model.Shipping.Price %>"/>  
  <input type="hidden" name="ship_method_price_1" value="<%= Model.Shipping.Price %>"/>  
  <input type="hidden" name="ship_method_currency_1" value="<%= Model.Shipping.Currency %>"/>  
  <input type="hidden" name="tax_rate" value="<%= Model.Tax.Rate %>"/>  
  <input type="hidden" name="tax_us_state" value="<%= Model.Tax.State %>"/>  
  <input type="hidden" name="_charset_"/>  
  <input type="image" name="Google Checkout" alt="Fast checkout through Google"
src="http://checkout.google.com/buttons/checkout.gif?merchant_id=<%= Model.MerchantId %>&w=180&h=46&style=white&variant=text&loc=en_US"
height="46" width="180"/>  
</form>  

显然,你可以通过使用表单助手Html.Hidden来制作更多MVC-ish,但这显示了你需要做的真正基本版本。