Orders not appearing in prod (but work in sandbox) dashboard that were created via API (have payments & fulfillment)

Hi, I created orders in the sandbox that work fine and show up in the dashboard. However, once I moved to prod, the exact same code creates orders that do not show up in the dashboard. Per other messages, we have fulfillments and payments set. These are loyalty orders so have no cash payment just use of loyalty points. I cannot figure out yet what is different between these orders and ones that correctly appear, and why orrders place wtih the same code works in the sandbox but not prod.

An example order is:

{

“id”: “qH9lR5M7Rd48ldM8Arp65G2MuRMZY”,

“locationId”: “LECPDPX68AQX1”,

“referenceId”: “a161b7d9-3bd2f1033eb2”,

“source”: {

"name": "xxxx"

},

“customerId”: “7YHT9V6AXAZJDVBYP9XBH5DG3W”,

“lineItems”: [

{

  "uid": "kXk4E5wtEBBnGlrOpdljsD",

  "name": "January 29 - Thursday - Harissa-Rubbed Pork",

  "quantity": "1",

  "catalogObjectId": "C5KCNJNC3YOVUF2OCE3BYUWC",

  "catalogVersion": 1769404213103,

  "variationName": "Regular",

  "itemType": "ITEM",

  "appliedDiscounts": \[

    {

      "uid": "46511949-deb0-490e-81e7-5a6f4aa811fc",

      "discountUid": "f831dd68-7b9c-47c3-aceb-2c2340d3ca11",

      "appliedMoney": {

        "amount": 7000,

        "currency": "USD"

      }

    }

  \],

  "basePriceMoney": {

    "amount": 7000,

    "currency": "USD"

  },

  "variationTotalPriceMoney": {

    "amount": 7000,

    "currency": "USD"

  },

  "grossSalesMoney": {

    "amount": 7000,

    "currency": "USD"

  },

  "totalTaxMoney": {

    "amount": 0,

    "currency": "USD"

  },

  "totalDiscountMoney": {

    "amount": 7000,

    "currency": "USD"

  },

  "totalMoney": {

    "amount": 0,

    "currency": "USD"

  },

  "totalServiceChargeMoney": {

    "amount": 0,

    "currency": "USD"

  }

}

],

“discounts”: [

{

  "uid": "f831dd68-7b9c-47c3-aceb-2c2340d3ca11",

  "catalogObjectId": "WVNJAYLGDTB7RXUGWVFPSZIC",

  "catalogVersion": 1769232425090,

  "name": "Redeem: Dinner for 2",

  "type": "FIXED_PERCENTAGE",

  "percentage": "100.0",

  "appliedMoney": {

    "amount": 7000,

    "currency": "USD"

  },

  "scope": "LINE_ITEM",

  "rewardIds": \[

    "934cbd9d-ee42-3b31-8518-31512ee2a3b5"

  \],

  "pricingRuleId": "X36OOD2ZF325YKEILAMQZ4PY"

}

],

“fulfillments”: [

{

  "uid": "032Gpoc5qERX5xgp9Mpvn6",

  "type": "DELIVERY",

  "state": "COMPLETED",

  "deliveryDetails": {

    "recipient": {

      "customerId": "7YHT9V6AXAZJDVBYP9XBH5DG3W",

      "displayName": "xxxx",

      "emailAddress": "xxxx",

      "phoneNumber": "xxxx",

      "address": {

        "addressLine1": "xxxx",

        "locality": "xxxx",

        "administrativeDistrictLevel1": "xxxx",

        "postalCode": "xxxx",

        "country": "US"

      }

    },

    "scheduleType": "SCHEDULED",

    "deliverAt": "2026-01-29T17:00:00.000Z",

    "managedDelivery": false

  }

}

],

“netAmounts”: {

"totalMoney": {

  "amount": 0,

  "currency": "USD"

},

"taxMoney": {

  "amount": 0,

  "currency": "USD"

},

"discountMoney": {

  "amount": 7000,

  "currency": "USD"

},

"tipMoney": {

  "amount": 0,

  "currency": "USD"

},

"serviceChargeMoney": {

  "amount": 0,

  "currency": "USD"

}

},

“tenders”: [

{

  "id": "zdwvOLS5jD1c8NTW7PgiC4Gi0bXZY",

  "locationId": "LECPDPX68AQX1",

  "transactionId": "qH9lR5M7Rd48ldM8Arp65G2MuRMZY",

  "createdAt": "2026-01-26T05:15:21Z",

  "amountMoney": {

    "amount": 0,

    "currency": "USD"

  },

  "type": "CASH",

  "cashDetails": {

    "buyerTenderedMoney": {

      "amount": 0,

      "currency": "USD"

    },

    "changeBackMoney": {

      "amount": 0,

      "currency": "USD"

    }

  },

  "paymentId": "zdwvOLS5jD1c8NTW7PgiC4Gi0bXZY"

}

],

“createdAt”: “2026-01-26T05:15:19.848Z”,

“updatedAt”: “2026-01-26T05:42:07.659Z”,

“closedAt”: “2026-01-26T05:42:07.659Z”,

“state”: “COMPLETED”,

“version”: 6,

“totalMoney”: {

"amount": 0,

"currency": "USD"

},

“totalTaxMoney”: {

"amount": 0,

"currency": "USD"

},

“totalDiscountMoney”: {

"amount": 7000,

"currency": "USD"

},

“totalTipMoney”: {

"amount": 0,

"currency": "USD"

},

“totalServiceChargeMoney”: {

"amount": 0,

"currency": "USD"

},

“rewards”: [

{

  "id": "934cbd9d-ee42-3b31-8518-31512ee2a3b5",

  "rewardTierId": "43b83e18-4f0d-44dd-bcff-5e17951b5ee0"

}

],

“netAmountDueMoney”: {

"amount": 0,

"currency": "USD"

}

}

And the payment object is:

[

{

“id”: “zdwvOLS5jD1c8NTW7PgiC4Gi0bXZY”,

“createdAt”: “2026-01-26T05:15:21.369Z”,

“updatedAt”: “2026-01-26T05:15:21.454Z”,

“amountMoney”: {

“amount”: 0,

“currency”: “USD”

},

“totalMoney”: {

“amount”: 0,

“currency”: “USD”

},

“status”: “COMPLETED”,

“sourceType”: “CASH”,

“cashDetails”: {

“buyerSuppliedMoney”: {

“amount”: 0,

“currency”: “USD”

  },

“changeBackMoney”: {

“amount”: 0,

“currency”: “USD”

  }

},

“locationId”: “LECPDPX68AQX1”,

“orderId”: “qH9lR5M7Rd48ldM8Arp65G2MuRMZY”,

“customerId”: “7YHT9V6AXAZJDVBYP9XBH5DG3W”,

“capabilities”: [

“EDIT_AMOUNT_UP”,

“EDIT_AMOUNT_DOWN”,

“EDIT_TIP_AMOUNT_UP”,

“EDIT_TIP_AMOUNT_DOWN”

\],

“receiptNumber”: “zdwv”,

“receiptUrl”: “xxx”,

“applicationDetails”: {

“squareProduct”: “ECOMMERCE_API”,

“applicationId”: “sq0idp-x8PSO1xq9afk4GLodtdsUw”

},

“versionToken”: “Puc8GuXBQ6V52uieeHDnYgFQmd8N528T0H6ArODUwBG6o”

}

]

:waving_hand: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

Create Orders
Orders API
Loyalty API Example Walkthrough 1

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

Have you been approved for the DELIVERY beta? If not in production any order you create that’s a delivery order won’t show on devices or the Dashboard. :slight_smile:

I did not know that was even a thing I needed to get approved for?! That must be it! Yes can we please get approved for that.

What’s your application ID and use case? :slight_smile:

Hi, thanks very much. We’re building an application just for our own store’s use. We have various meals that our customers can buy that deliver on different days. We want our customer to be able to buy a bundle of them, so we allow them to purchase a digital “credit pack” that creates loyalty program points. We then want them to be able to place a series of delivery orders at once through one interaction. We have a web page and back end that allows the user to select any number of meal days from a rendered copy of the relevant product catalog items, then we submit orders to slack, one for each meal, redeeming the requisite number of loyalty rewards for each meal (the awards are set to 100% discount the price of the item).

I’ve actually even been trying to do this with pickup orders for now, but I’m not sure if the 100% loyalty is causing an issue (I understand an order must have a payment & fulfillment), so working through that now. At a bare minimum I need to at least get these in (and I can have my staff just read the address off a notes field or if I can get an address field to work we’ll use that).

However, it would be far more ideal to support actual delivery orders properly since these are real delivery orders (and hopefully get built-in functionality like delivery region/distance support) – and even better, we would like to use Square’s delivery program to get these meals delivered to our customers automatically through Square couriers.

Also ideally we’d be able to read pre-order cutoff dates and item fulfillment date ranges from items in the catalog, right now I cannot find anywhere they are specified in the API for a given item.

Thanks,

Tyler

This is awesome! What is your application ID to get you added to the beta? :slight_smile:

Sure, it’s App ID: sq0idp-x8PSO1xq9afk4GLodtdsUw! Thanks!

Unbelievably fortuitously, I’ve run across the exact same issue hours after this person asked. Not to hijack their thread….I’m not sure I’m doing anything with respect to a “DELIVERY” order. My fulfillments are all digital/virtual as I’m selling memberships and event tickets. We’re a small beekeeping club and want to use square quickpay links to take payments “offsite” since that’s how everyone here is most comfortable. We’re ssl of course, but having Square handle the card entry means we never have to see card numbers and we really don’t want to see them or deal with them. My code creates the order, records the order number, bounces them to the payment link, and then brings them back w/the redirect url. I have a webhook that then marks the order complete. People definitely stutter though where they enter things twice and whatnot, so we end up w/order that will never be complete and we’d like to clean those out and mark them cancelled, but we can’t see any orders in prod, just in sandbox. My prod app ID is sq0idp-cmndpK1Sjk0SgKGHpHZNqw.

I took a look at your API Logs and I see order being returned. Do you have an example order_id that you need to be canceled? :slight_smile: