woocommerce/docs/apis/store-api/resources-endpoints/zh-cn/checkout-order.md
2026-04-15 10:18:01 +08:00

6.3 KiB

结账订单 API

结账订单 API 旨在简化现有订单的处理和付款操作。

所有结账订单接口都需要一个 随机数 Token 或一个 购物车 Token,否则这些接口将返回一个错误。

处理订单和支付

接受最终选择的支付方法,以及任何额外的支付数据,然后尝试支付并返回结果。

POST /wc/store/v1/checkout/{ORDER_ID}
属性 类型 必需 描述
key 字符串 用于订单验证的密钥。
billing_email 字符串 用于验证访客订单的 Email 地址。
billing_address 对象 客户已更新的账单地址数据对象。
shipping_address 对象 客户已更新的配送地址数据对象。
payment_method 字符串 用于处理支付的支付方法 ID。
payment_data 数组 在处理支付时传递给支付方法的数据。
curl --header "Nonce: 12345" --request POST https://example-store.com/wp-json/wc/store/v1/checkout/{ORDER_ID} -d '{"key":"wc_order_oFmQYREzh9Tfv","billing_email":"admin@example.com","payment_method":"cheque","billing_address":{...},"shipping_address":{...}'

示例请求:

{
	"key": "wc_order_oFmQYREzh9Tfv",
	"billing_email": "admin@example.com",
	"billing_address": {
		"first_name": "Peter",
		"last_name": "Venkman",
		"company": "",
		"address_1": "550 Central Park West",
		"address_2": "Corner Penthouse Spook Central",
		"city": "New York",
		"state": "NY",
		"postcode": "10023",
		"country": "US",
		"email": "admin@example.com",
		"phone": "555-2368"
	},
	"shipping_address": {
		"first_name": "Peter",
		"last_name": "Venkman",
		"company": "",
		"address_1": "550 Central Park West",
		"address_2": "Corner Penthouse Spook Central",
		"city": "New York",
		"state": "NY",
		"postcode": "10023",
		"country": "US",
		"phone": "555-2368"
	},
	"payment_method": "cheque",
	"payment_data": []
}

示例响应:

# 订单详情

以下是订单的详细信息。

**订单 ID:** %d
**状态:** %s

## 订单概览

*   **订单 ID:** %d
*   **状态:** %s
*   **订单 Key:** %s
*   **客户备注:** %s
*   **客户 ID:** %d

## 账单地址

*   **地址:**
    *   **姓名:** %s
    *   **公司:** %s
    *   **地址 1:** %s
    *   **地址 2:** %s
    *   **城市:** %s
    *   **州/省:** %s
    *   **邮编:** %s
    *   **国家:** %s
    *   **邮箱:** %s
    *   **电话:** %s

## 配送地址

*   **地址:**
    *   **姓名:** %s
    *   **公司:** %s
    *   **地址 1:** %s
    *   **地址 2:** %s
    *   **城市:** %s
    *   **州/省:** %s
    *   **邮编:** %s
    *   **国家:** %s
    *   **电话:** %s

## 支付信息

*   **支付方法:** %s
*   **支付结果:**
    *   **支付状态:** %s
    *   **支付详情:** %s
    *   **重定向 URL:** %s

## 订单管理

*   **管理员:** 只有管理员才能查看和修改订单信息。
*   **检查:**  定期检查订单状态,确保顺利完成。
*   **锁定:**  在处理订单时,可以锁定订单以防止其他用户修改。
*   **邮件:** 系统会发送邮件通知客户订单状态更新。
*   **新增:** 管理员可以新增订单。
*   **红色:** 某些情况下,订单状态会显示为红色,表示存在问题。
*   **网址:**  请注意以下网址。
*   **关键字:**  使用关键字进行订单搜索。

```json
{
	"order_id": 146,
	"status": "on-hold",
	"order_key": "wc_order_oFmQYREzh9Tfv",
	"customer_note": "",
	"customer_id": 1,
	"billing_address": {
		"first_name": "Peter",
		"last_name": "Venkman",
		"company": "",
		"address_1": "550 Central Park West",
		"address_2": "Corner Penthouse Spook Central",
		"city": "New York",
		"state": "NY",
		"postcode": "10023",
		"country": "US",
		"email": "admin@example.com",
		"phone": "555-2368"
	},
	"shipping_address": {
		"first_name": "Peter",
		"last_name": "Venkman",
		"company": "",
		"address_1": "550 Central Park West",
		"address_2": "Corner Penthouse Spook Central",
		"city": "New York",
		"state": "NY",
		"postcode": "10023",
		"country": "US",
		"phone": "555-2368"
	},
	"payment_method": "cheque",
	"payment_result": {
		"payment_status": "success",
		"payment_details": [],
		"redirect_url": "https://local.wordpress.test/block-checkout/order-received/146/?key=wc_order_VPffqyvgWVqWL"
	}
}

常见问题

  • 如何修改订单信息? 只有管理员可以修改订单信息。
  • 如何取消订单? 请联系客服进行取消。
  • 如何查看订单状态? 您可以在账户中查看订单状态。
  • 如何进行退货? 请参考我们的退货政策。
  • 配送时间是多久? 配送时间取决于您的地址和选择的配送方式。
  • 结账时遇到了问题,怎么办? 请联系客服寻求帮助。
  • 如何联系客服? 您可以通过邮件或电话联系客服。
  • 测试环境: 这是测试环境,所有数据均为测试数据。

## 支付数据

有很多支付网关可供商家使用,并且每个网关都期望接收不同的 `payment_data`。 我们无法全面列出所有支付网关期望的所有请求,因此我们建议您联系您正在使用的支付网关插件的作者,以获取更多信息。

以下是一个使用 [WooCommerce Stripe 支付网关](https://wordpress.org/plugins/woocommerce-gateway-stripe/) 时,发送到结账订单端点的支付数据的示例。

有关生成 `stripe_source` 的更多信息,请查看 [Stripe 文档](https://stripe.com/docs)。

```json
{
	"payment_data": [
		{
			"key": "stripe_source",
			"value": "src_xxxxxxxxxxxxx"
		},
		{
			"key": "billing_email",
			"value": "myemail@email.com"
		},
		{
			"key": "billing_first_name",
			"value": "Jane"
		},
		{
			"key": "billing_last_name",
			"value": "Doe"
		},
		{
			"key": "paymentMethod",
			"value": "stripe"
		},
		{
			"key": "paymentRequestType",
			"value": "cc"
		},
		{
			"key": "wc-stripe-new-payment-method",
			"value": true
		}
	]
}