跳到主要内容

结账订单 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
}
]
}