如何通过BuyNow表单传递自定义数据并通过Notification History API提供?

时间:2012-11-13 02:50:56

标签: google-checkout payment-processing android-pay

我有一个Google Wallet / Checkout BuyNow按钮,其代码类似于以下内容(从网站工具生成):

<form action="..." id="BB_BuyButtonForm" method="post" name="BB_BuyButtonForm" target="_top">
  ...
            <select name="item_selection_1">
                <option value="1">$10 Gift Certificate</option>
                ... other options ...
            </select>
            <input name="item_option_name_1" type="hidden" value="$10 Gift Certificate"/>
            <input name="item_option_price_1" type="hidden" value="10.0"/>
            <input name="item_option_description_1" type="hidden" value="A $10 Gift Certificate"/>
            <input name="item_option_quantity_1" type="hidden" value="1"/>
            <input name="item_option_currency_1" type="hidden" value="USD"/>
            <input name="shopping-cart.item-options.items.item-1.digital-content.url" type="hidden" value="https://example.com/gift-certificate?id=1234&amount=25"/>
            ...
            <input alt="" src="https://checkout.google.com/buttons/buy.gif?merchant_id=...&amp;w=117&amp;h=48&amp;style=trans&amp;variant=text&amp;loc=en_US" type="image"/>
   ...
</form>

现在,当买家点击按钮时,他们可以购买该商品并定向到数字内容网址,但我不知道如何与他们购买的特定商品建立连接。我可以将动态ID作为数字内容网址的网址参数,但我仍然无法看到如何将其与Google Checkout订单号相关联。

例如,我正在使用通知&amp;通知历史API并在购买后查看一系列通知,包括有关买家和购物车信息的通知:

<shopping-cart>
<items>
  <item>
    <digital-content>
      <url>https://example.com/gift-certificate?id=1224&amount=25</url>
    </digital-content>
    <item-name> $25 Gift Certificate</item-name>
    <item-description>A $25 Gift Certificate</item-description>
    <quantity>1</quantity>
    <unit-price currency="USD">25.0</unit-price>
  </item>
</items>

我可以看到我可以从数字内容网址中解析出id参数,但这看起来很混乱。

是否有一种很好的方法可以包含一个额外的隐藏表单字段并将该值传递给通知? (即使只有一个项目BuyNow按钮?)

感谢。

1 个答案:

答案 0 :(得分:2)

可以使用以下方式传递merchant_id甚至任意私人数据:

...
<input type="hidden" name="shopping-cart.item-options.items.item-1.merchant-item-id" value="SKU123">
<input type="hidden" name="shopping-cart.item-options.items.item-1.merchant-private-item-data" value="<opts><token>a5f6b4c</token></opts>">
...

(商家私有项目数据不需要是XML,但如果您使用Rails google4r-checkout Gem,则使用上述XML会将通知解析为项目哈希属性:@private_data = {“opts”=&gt; {“token”=&gt;“a5f6b4c”}})