结账完成并下单后,您必须使用 Webhook 将状态更新推送给 Google。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"
}