วงจรการสั่งซื้อ (หลังการซื้อ)

หลังจากชำระเงินเสร็จสมบูรณ์และสั่งซื้อแล้ว คุณต้องพุชการอัปเดตสถานะ ไปยัง Google โดยใช้ Webhook ต้องส่งคีย์ API ในพารามิเตอร์การค้นหาหรือส่วนหัว

1. เหตุการณ์สร้างคำสั่งซื้อ

  • ทริกเกอร์: ทันทีหลังจากยืนยันคำสั่งซื้อ (status: processing)
  • ปลายทาง: POST /webhooks/partners/{partner_id}/events/order

เพย์โหลด: คุณต้องส่งเอนทิตีคำสั่งซื้อทั้งหมด

{
  "ucp": { "version": "2026-01-01", "capabilities": [...] },
  "id": "order_789",
  "checkout_id": "checkout_xyz789",
  "line_items": [
    {
      "id": "line_1",
      "item":
        {
          "id": "product_12345",
          "title": "Running Shoes",
          "price": 10000
        },
      "quantity": { "total": 1, "fulfilled": 0 },
      "totals": [
        {"type": "subtotal", "amount": 10000},
        {"type": "total", "amount": 10000}
      ],
      "status": "processing"
    }
  ],
  "fulfillment": {
    "expectations": [
      {
        "id": "exp_1",
        "line_items": [{ "id": "line_1", "quantity": 1 }],
        "method_type": "shipping",
        "destination": {
          "street_address": "123 Main St",
          "address_locality": "Austin",
          "address_region": "TX",
          "address_country": "US",
          "postal_code": "78701"
        },
        "description": "Arrives in 2-3 business days",
        "fulfillable_on": "now"
      }
    ]
  },
  "permalink_url": "https://merchant.example.com/orders/789"
}

2. ข้อมูลอัปเดตคำสั่งซื้อ (การจัดส่ง/การยกเลิก)

  • ทริกเกอร์: เมื่อมีการอัปเดตสถานะคำสั่งซื้อ (เช่น จัดส่งสินค้า หรือยกเลิก)
  • ข้อกำหนด: คุณต้องส่งเอนทิตีคำสั่งซื้อทั้งหมดอีกครั้ง ไม่ใช่แค่การอัปเดตบางส่วน

ตัวอย่าง (จัดส่งแล้ว):

{
  "id": "order_789",
  "checkout_id": "checkout_xyz789",
  // Full line items must be included
  "line_items": [
    {
      "id": "line_1",
      "item":
        {
          "id": "product_12345",
          "title": "Running Shoes",
          "price": 10000
        },
      "quantity": { "total": 1, "fulfilled": 1 },
      "totals": [
        {"type": "subtotal", "amount": 10000},
        {"type": "total", "amount": 10000}
      ],
      "status": "fulfilled"
    }
  ],
  // Updated fulfillment details
  "fulfillment": {
    "events": [
      {
        "id": "evt_1",
        "occurred_at": "2025-01-08T10:30:00Z",
        "type": "shipped",
        "line_items": [{ "id": "line_1", "quantity": 1 }],
        "tracking_number": "123456789",
        "tracking_url": "https://fedex.com/track/123456789",
        "description": "Shipping departed from warehouse"
      }
    ]
  },
  "expectations": {"..."},
  "permalink_url": "https://merchant.example.com/orders/789"
}