You cannot currently set the 'payment_status' parameter on an order to any value. An order created via the API will show a blank value for 'payment_status' unless you go into the Control Panel and manually process the order. Beyond changing that 'payment_status' parameter value though, if your goal is to make your store treat an API submitted order as paid, you can do that by changing the 'status_id' parameter. If you create or update an order via the API to have a 'status_id' value of 2 or 10 ('Shipped' and 'Completed' statuses, respectively), then the store will consider that order paid. What this means is that store statistics will incorporate the details of that order into order statistics. At this time the 'payment_status' really only tells you if an order was paid using the store's built-in payment integrations. This detail will only matter if you do take payments external to Bigcommerce in some way and then submit them via API. So if your goal was simply to change the 'payment_status' and has nothing to do with your store recognizing the order as paid, then that is not currently possible using only actions on the API. You cannot capture or take a payment using built-in payment integrations via actions taken on the API, but you can record a payment taken externally into the system. Here are some other notes for people taking payments external to their Bigcommerce store and submitting those completed (paid) orders via the API: Setting the order to status ID 2 (Shipped) or status ID 10 (Completed) is functionally the same in the system. Orders can be created

Context: Stack Overflow question (score 4, has accepted answer): Is there a way to create an order (or update it later) using the BigCommerce API and set the payment status to complete? The documentation says that the field payment_status is read only. But I am thinking that perhaps there is some other update that one can do that would have the effect of setting payment_status. What I want to do is create an order have marked as payment completed.