Magento 2 REST API:能否用Admin/Integration Token代注册用户创建订单
Magento通过Admin/Integration Token代注册用户创建订单方案
可以通过Admin或Integration Token代注册用户创建订单,并非无法实现,核心是使用管理员权限的购物车操作接口替代用户端API,具体流程如下:
1. 创建关联目标用户的购物车
调用/V1/carts接口,通过请求体指定目标注册用户的customer_id,生成绑定该用户的购物车ID:
POST /V1/carts Headers: Authorization: Bearer {ADMIN/INTEGRATION_TOKEN} Content-Type: application/json Body: { "customer_id": 123 // 目标注册用户的实际ID }
2. 完成购物车基础配置
用生成的cartId执行以下常规操作:
- 添加商品:
POST /V1/carts/{cartId}/items - 设置账单地址:
POST /V1/carts/{cartId}/billing-address - 设置配送地址与配送方式:
POST /V1/carts/{cartId}/shipping-information
3. 提交支付并创建订单
无需使用用户端的/carts/mine/payment-information接口,直接调用管理员权限的/V1/carts/{cartId}/order接口,传入支付参数即可完成订单创建:
POST /V1/carts/{cartId}/order Headers: Authorization: Bearer {ADMIN/INTEGRATION_TOKEN} Content-Type: application/json Body: { "paymentMethod": { "method": "checkmo", // 对应支付方式代码,如checkmo、braintree等 "additional_data": {} // 支付方式所需额外参数,按需传入 } }
关键注意事项
- 权限要求:Admin/Integration Token必须拥有
Magento_Sales::manage_orders、Magento_Cart::manage等核心权限,否则会返回权限不足错误。 - 购物车绑定:创建购物车时必须指定
customer_id,否则生成的未关联用户购物车无法转为目标用户的订单。
内容的提问来源于stack exchange,提问作者Arnaud
相关产品推荐
相关产品推荐

