From ca8773d3c3a19a961031318aa93e3674bf1008ad Mon Sep 17 00:00:00 2001 From: chris Date: Fri, 5 Jun 2026 20:08:54 -0400 Subject: [PATCH] Fix order complete: update fulfillment state alongside order state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Square requires all fulfillments to be COMPLETED before the order can be marked COMPLETED — include fulfillment state in the same updateOrder call. Co-Authored-By: Claude Sonnet 4.6 --- .../app/api/admin/orders/[orderId]/complete/route.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/estore/src/app/api/admin/orders/[orderId]/complete/route.ts b/estore/src/app/api/admin/orders/[orderId]/complete/route.ts index 3cc39ab..0a9ad75 100644 --- a/estore/src/app/api/admin/orders/[orderId]/complete/route.ts +++ b/estore/src/app/api/admin/orders/[orderId]/complete/route.ts @@ -24,9 +24,13 @@ export async function POST( await client.ordersApi.updateOrder(orderId, { order: { - locationId: order.locationId!, - state: 'COMPLETED', - version: order.version, + locationId: order.locationId!, + state: 'COMPLETED', + version: order.version, + fulfillments: (order.fulfillments ?? []).map((f) => ({ + uid: f.uid, + state: 'COMPLETED', + })), }, idempotencyKey: `complete-${orderId}`, })