Google Checkout - XML API associate callback serial number with original order

后端 未结 1 1944
时光说笑
时光说笑 2020-11-29 12:13

Via the XML API, how do you associate an Google Checkout callback serial number with the original order?

On the same line - What does the serial number in the \"Opt

相关标签:
1条回答
  • 2020-11-29 12:47

    The way I've done this in the past is using the <merchanrt-private-data> tag in the original cart, so something like:

    <checkout-shopping-cart xmlns='http://checkout.google.com/schema/2'>
     <shopping-cart>
      <merchant-private-data>
       <merchant-note>[some secret about the cart on my system]</merchant-note>
      </merchant-private-data>
      <items>
       ...
      </items>
     </shopping-cart>
    </checkout-shopping-cart>
    

    Then, after Google has called back with a serial number, I use the Notification History API to retrieve the order details, which then includes my private data, something like:

    <new-order-notification xmlns="http://checkout.google.com/schema/2" serial-number="[serial number from google]">
     <buyer-billing-address>
      ...
     </buyer-billing-address>
     <timestamp>...</timestamp>
     <google-order-number>...</google-order-number>
     <order-summary>
      <total-chargeback-amount currency="GBP">...</total-chargeback-amount>
      <google-order-number>...</google-order-number>
      <total-charge-amount currency="GBP">...</total-charge-amount>
      <total-refund-amount currency="GBP">...</total-refund-amount>
      <purchase-date>...</purchase-date>
      <archived>false</archived>
      <shopping-cart>
       <merchant-private-data>
        <merchant-note>[the secret about the cart from my system]</merchant-note>
       </merchant-private-data>
       <items>
       </items>
      </shopping-cart>
      <order-adjustment>
       ...
      </order-adjustment>
      <promotions />
      <buyer-id>...</buyer-id>
      <buyer-marketing-preferences>
       <email-allowed>false</email-allowed>
      </buyer-marketing-preferences>
      <buyer-shipping-address>
       ...
      </buyer-shipping-address>
      <order-total currency="GBP">...</order-total>
      <fulfillment-order-state>NEW</fulfillment-order-state>
      <financial-order-state>REVIEWING</financial-order-state>
     </order-summary>
     <shopping-cart>
      <merchant-private-data>
        <merchant-note>[the secret about the cart from my system]</merchant-note>
      </merchant-private-data>
      <items>
      </items>
     </shopping-cart>
     <order-adjustment>
      ...
     </order-adjustment>
     <promotions />
     <buyer-id>...</buyer-id>
     <buyer-marketing-preferences>
      <email-allowed>false</email-allowed>
     </buyer-marketing-preferences>
     <buyer-shipping-address>
      ...
     </buyer-shipping-address>
     <order-total currency="GBP">...</order-total>
     <fulfillment-order-state>NEW</fulfillment-order-state>
     <financial-order-state>REVIEWING</financial-order-state>
    </new-order-notification>
    

    I can then use the secret to match the orders up to the details I'd stored in the database previously.

    0 讨论(0)
提交回复
热议问题