【发布时间】:2012-08-22 16:25:28
【问题描述】:
在 Shopify 管理区域中,每个订单上都有一个“接受付款”按钮。是否有可以通过 API 执行的等效操作?
【问题讨论】:
标签: shopify
在 Shopify 管理区域中,每个订单上都有一个“接受付款”按钮。是否有可以通过 API 执行的等效操作?
【问题讨论】:
标签: shopify
是的。您可以创建交易并获取先前授权的金额。
ShopifyAPI::Transaction.create({:order_id => order.id, :kind => 'capture'})
【讨论】:
是的,请确保原始订单是通过 API 创建的,并且状态为“待处理”,交易类型为“授权”,交易状态为“成功”。然后,当您捕获付款时,它只会改变财务状况。您不能只更改订单上的财务状态值而不捕获交易。
所以这是使用 API 创建订单的原始请求:
POST /admin/orders.json
{
"financial_status": "pending",
"fulfillment_status": "fulfilled",
"transactions": [{
"amount": "21",
"kind": "authorization",
"gateway": "Gateway",
"status": "success",
"source_name": "My API"
}]
}
然后要捕获交易,请执行以下操作:
POST /admin/orders/{order_id}/transactions.json
{
"transaction": {
"kind": "capture"
}
}
确保您为 API 上的订单启用了写入权限: https://redeeem.myshopify.com/admin/apps/private
【讨论】: