BigCommerce API - 创建已完成付款状态的订单

时间:2015-02-09 22:41:58

标签: bigcommerce

有没有办法使用BigCommerce API创建订单(或稍后更新)并设置付款状态? 文档说,字段payment_status是只读的。但我想也许还有一些其他的更新,可以做到设置payment_status的效果。

我想要做的是创建一个已标记为已完成付款的订单。

2 个答案:

答案 0 :(得分:8)

您目前无法将订单上的'payment_status'参数设置为任何值。通过API创建的订单将显示“payment_status”的空白值,除非您进入“控制面板”并手动处理订单。除了更改“payment_status”参数值之外,如果您的目标是让商店将API提交的订单视为已付款,您可以通过更改“status_id”参数来实现此目的。

如果您通过API创建或更新订单,以使'status_id'值为2或10(分别为'已发货'和'已完成'状态),则商店将考虑已付款的订单。这意味着商店统计数据会将该订单的详细信息纳入订单统计信息。目前,'payment_status'实际上只会告诉您是否使用商店的内置付款集成支付了订单。只有您以某种方式接受Bigcommerce外部付款,然后通过API提交付款时,此详细信息才会生效。

因此,如果您的目标只是更改“payment_status”并且与您的商店无关,将订单识别为已付款,则目前无法仅使用API​​上的操作。您无法通过在API上执行的操作使用内置付款集成来捕获或进行付款,但您可以将外部付款记录到系统中。


以下是人们在其Bigcommerce商店外部付款并通过API提交完成(付费)订单的其他注意事项:

将订单设置为状态ID 2(已发货)或状态ID 10(已完成)在系统中功能相同。可以使用这些状态直接创建订单,商店会将其视为已付款和已完成的统计订单。如果您的订单在提交之前已经付款并发货,这很好,但通常人们已经付款但想要在发货前提交订单。在装运前提交订单会将其放入队列中,以便按照所有正常订单处理货件。

此用例的常见流程是创建具有“等待履行”状态(ID 11)的订单,就像通过商店前台提交的订单将在商店中显示一样。然后,您可以在控制面板中处理货件,或使用与所有标准订单一样的第三方出货管理器。您甚至可以将订单作为“等待履行”提交,然后通过API添加货件。如果您添加了订单中所有产品的发货,那么订单状态将自动更新为“已发货”状态。如果您添加的货件仅占订单产品的子集,则状态将自动更改为“部分装运”。

可以为通过API提交订单的人设置的其他有用参数是:

PAYMENT_METHOD
payment_provider_id
external_source

以上所有参数都将接受一个字符串,然后该字符串附加到订单并显示在订单的“控制面板”中。关于应该在哪些值中没有严格的定义,但购物车对这些字段的一般用法如下。 'payment_method'将保留所使用的支付网关的名称或支付方式。 'payment_provider_id'将在付款提供商处接收订单的交易或参考ID。 'external_source'用于标识通过API提交此订单的人。

我希望上述内容可以帮助您更好地了解如何最好地利用Bigcommerce API提交订单。

答案 1 :(得分:2)

创建订单时,请将status_id设置为9"等待装运"或者什么是最合适的。 您可以在此处找到订单状态:https://developer.bigcommerce.com/api/stores/v2/order_statuses

您还可以在此处找到有关创建订单的更多信息:https://developer.bigcommerce.com/api/stores/v2/orders#create-an-order