2009-11-19 4 views
7

J'ai un site ASP.Net assez simple qui utilise google checkout (j'ai une imagebutton avec le PostBackUrl mis à l'adresse de Google en passant des valeurs de champs cachés) qui fonctionne bien.Google Checkout dans ASP.Net MVC

J'ai déménagé cette application à MVC et je ne sais pas comment gérer cela. J'ai pensé à utiliser le formulaire jQuery, mais je ne crois pas que cela fonctionnerait dans cette situation, car il y a des moments où ils sont redirigés vers les pages google. Quelqu'un at-il utilisé google checkout dans une application asp.net MVC?

Répondre

2

Vous pouvez faire la même chose que vous le faisiez auparavant, mais vous finissez par le faire manuellement.

On dirait que vous n'utilisez que la version de base, oui?

Vous créez un formulaire HTML dont l'action est définie sur le processus de paiement Google, ajoutez les champs appropriés (le modèle que votre contrôleur transmet est rempli avec les valeurs correctes) et vous avez ensuite bouton (ou image si vous préférez).

Ainsi, un exemple de la page HTML de base de Google, modifié pour certains MVC-ish-ness serait quelque chose comme ceci:

<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> 

De toute évidence, vous pouvez faire tout ce que encore plus MVC-ish en utilisant le former l'assistant Html.Hidden et ainsi de suite, mais cela montre la version vraiment basique de ce que vous devez faire.

+0

Doivent-ils être des champs cachés? Ou est-il possible de spécifier la quantité dans une zone de texte par exemple? Ou Google Checkout a-t-il une politique qui dit qu'ils doivent être cachés? – Kassem

+0

Pourriez-vous jeter un oeil à cela s'il vous plaît: http://stackoverflow.com/questions/6285578/getting-started-with-asp-net-mvc3-google-checkout – Kassem

Questions connexes