3

在 Shopify 管理区域中,每个订单上都有一个“接受付款”按钮。是否有可以通过 API 执行的等效操作?

4

2 回答 2

3

是的。您可以创建交易并获取先前授权的金额。

 ShopifyAPI::Transaction.create({:order_id => order.id, :kind => 'capture'})
于 2012-08-22T17:00:24.887 回答
1

是的,请确保原始订单是通过 API 创建的,并且状态为“待处理”,交易类型为“授权”,交易状态为“成功”。然后,当您捕获付款时,它只会改变财务状况。您不能只更改订单上的财务状态值而不捕获交易。

所以这是使用 API 创建订单的原始请求:

发布 /admin/orders.json

{
   "financial_status": "pending",
   "fulfillment_status": "fulfilled",
   "transactions": [{
      "amount": "21",
      "kind": "authorization",
      "gateway": "Gateway",
      "status": "success",
      "source_name": "My API"
   }]
}

然后要捕获交易,请执行以下操作:

发布 /admin/orders/{order_id}/transactions.json

{
  "transaction": {
    "kind": "capture"
  }
}

确保您为 API 上的订单启用了写入权限: https ://redeeem.myshopify.com/admin/apps/private

于 2018-04-26T03:16:22.023 回答