How to change the status of an order

Hello everyone,

I’m connecting my store (which is stored on swell.is) through the Veeqo API.

Veeqo documentation is very outdated, and the customer support gives me contradicting information if they respond back.

My issue is that I’m unable to change any order from the “Payment Required” status to the “Ready To Ship” status.

According to “support” I have to make an additional API request including the payment. According to an old forum post I have to use the “payment” endpoint, which doesn’t exists.

Even after I allocate the products the status doesn’t change.

The following are my 3 requests:

The POST request for the order creation in the “orders” endpoint:

{
“channel_id”:“707850”,
“delivery_method_id”:“1618200”,
“status”:“awaiting_fulfillment”,
“amount”:1.08,
“payment_attributes”:{
“id”:“66f593e0448f9300121af564”,
“payment_type”:“card”,
“reference_number”:“”,
“created_at”:“2025-05-30T16:18:23.877Z”,
“updated_at”:“2025-05-30T16:18:31.152Z”,
“order_id”:“6839da43b142d2001227261e”,
“card_number”:“1233”,
“created_by_id”:“6839da5045e28a001264fd3b”
},
“customer_attributes”:{
“phone”:“12345678900”,
“billing_address_attributes”:{
“first_name”:“Test”,
“last_name”:“Sergio”,
“address1”:“8961 Bowman Lowman Ave”,
“city”:“Hickory”,
“state”:“NC”,
“zip”:“28601”,
“country”:“US”
}
},
“number”:“177200”,
“deliver_to_attributes”:{
“first_name”:“Test”,
“last_name”:“Sergio”,
“address1”:“8961 Bowman Lowman Ave”,
“address2”:“”,
“city”:“Hickory”,
“country”:“US”,
“state”:“NC”,
“zip”:“28601”
},
“line_items_attributes”:[
{
“quantity”:1,
“sellable_id”:412607782
},
{
“quantity”:1,
“sellable_id”:412607768
}
]
}

The POST request for the allocation of the products in the "orders/[id]/allocations (otherwise the products won’t have stock in the order):

{
“allocation”:{
“warehouse_id”:332699,
“line_items_attributes”:[
{
“quantity”:1,
“sellable_id”:412607782
},
{
“quantity”:1,
“sellable_id”:412607768
}
]
}
}

And this is the PUT request for the payment information in the endpoint “orders:[id]”:

{
“amount”:1.08,
“payment_attributes”:{
“id”:“66f593e0448f9300121af564”,
“payment_type”:“card”,
“reference_number”:“”,
“created_at”:“2025-05-30T16:18:23.877Z”,
“updated_at”:“2025-05-30T16:18:31.152Z”,
“order_id”:“6839da43b142d2001227261e”,
“card_number”:“1233”,
“created_by_id”:“6839da5045e28a001264fd3b”
}
}

Any help will be appreciated.

Hey @Sergio,

I was able to add a payment to an order with the ‘Payment Required’ status by using the /payments endpoint (which is currently undocumented) with with the order ID and payment type in the body of the request. After I made the request, the order was put into the ‘Ready To Ship’ status.

The URL of my request was:
POST https://api.veeqo.com/payments

The payload of my request looked like this:

{
  "payment_attributes": {
    "payment_type": "credit_card",
    "order_id": 123456789,
    "reference_number": "P-888888",
    "card_number": "1234567890123"
  }, 
  "amount": 10.99
}

I would suggest giving the /payments endpoint a go and seeing if that works for you. If you are still having trouble, contact Veeqo Support via the support messenger in the Veeqo app or contacting helpme@support.veeqo.com

Hope this helps,
Alex - Veeqo