如何使用Shopify API更改订单的支付状态? [英] How to use the Shopify API to change the payment status of orders?
本文介绍了如何使用Shopify API更改订单的支付状态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在为我自己的Shopify商店构建一个iOS应用程序。我创建了一个私有APP,使用API密钥和密码调用格式为:
的APIhttps://apikey:password@hostname/admin/resource.json
尝试使用该接口更改订单的支付状态时出现问题。(我可以毫无问题地创建新订单)。我找不到任何用于更改订单财务状态的API。我不能通过修改订单来改变财务状况,甚至不能通过API进行任何交易,无论交易的"类型"是:"授权"、"捕获"或"销售"。
那么如何使用该接口更改订单的财务状态?
以下是使用接口的请求和响应示例:
调用的对象:
/admin/orders/#{order_id}/transactions.json
请求:
{
"transaction": {
"amount": 50,
"test":true,
"kind": "sale"
}
}
响应:
{"errors":{"kind":["sale is not a valid transaction"]}}
推荐答案
我之前更改订单状态时遇到一些问题,后来我解决了,为了消除错误,您应该注意以下事项。
订单价格应等于或低于订单的确切价格
- 价格<;确切订单价格,订单将标记为部分付款
- Price=根据确切的订单价格,订单将标记为已支付
- 支付价格>准确的订单价格,您将收到错误
- 订单状态为已支付,您将收到更改以下状态的错误消息 付款
POST /admin/orders/#{id}/transactions.json
{
"transaction": {
"amount": "10.00",
"kind": "capture"
}
}
$order_get = $shopify('GET', '/admin/orders/'.$order_id.'.json' );
$total_price = $order_get['total_price'];
if( $order_get['financial_status'] != 'paid' ){
$arguments = array( "order" => array(
'note' => 'Paid'
)
);
$order_put = $shopify('PUT', '/admin/orders/'.$order_id.'.json', $arguments);
$arg = array( "transaction" => array(
"amount" => $total_price,
"kind" => "capture"
)
);
$order_put = $shopify('POST', '/admin/orders/'.$order_id.'/transactions.json', $arg);
}
这篇关于如何使用Shopify API更改订单的支付状态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文