Goal: pass a human-friendly Shopify order name (e.g., #0012345) to a third‑party payment gateway instead of the long alphanumeric ID shown during checkout.
Key facts:
Shopify assigns the order name only after payment completes. Before that, only a platform-unique ID is available, which gateways display and which can appear on bank statements and in ERPs.
The order name is not globally unique across all merchants; the long ID is the true unique identifier at the platform level.
Suggested approaches:
Contact the payment gateway’s support to request using a post-payment update: after payment, use a callback/webhook (automated notification) to fetch the final order name and update the payment record.
Adapt downstream systems via APIs, middleware, or a custom app to reconcile payment IDs with order names once webhooks fire.
Consider a custom ID field via metafields/custom data; uncertainty remains about allowing characters like “#”.
Status and open questions:
No forum-side change is possible; action rests with the gateway and merchant’s integrations.
Whether Shopify Payments would display the order name instead of the long ID remains unanswered.
Summarized with AI on December 11.
AI used: gpt-5.
I’m new to Shopify and I’ve run into something unusual compared to other ecommerce platforms. I’ve discovered that Shopify doesn’t use a simple, human-friendly order number (like #0012345). Instead, it uses a long alphanumeric string (e.g. r8IgSTo4EQY0jduyZIewEOyh1) as the primary identifier.
When customers pay through our EuPlătesc payment gateway, this long string is passed as the payment identifier and displayed inside the gateway’s interface. This same value then shows up on the bank statements used by our accounting team. We also rely on this identifier in our ERP and other internal tools, which makes things harder to track.
From what I understand, Shopify generates the actual order name/number only after payment is completed. That means the payment gateway would need some sort of callback to retrieve the final order name and use it instead of the long payment ID.
Is there any way to make the payment gateway use the Shopify order name (e.g. #0012345) instead of the long alphanumeric ID?
I’m not a developer, so if you have any explanation, it would be much appreciated.
Hi @Nrb that’s a tradeoff in playing in some other companies sandbox; their abstractions don’t care about existing business logic.
You need to contact the support for that company of the payment gateway directly.
The merchant forums are peer to peer no one here can change something like that.
Likely it’s your downstream process that need to change and be more adaptable to upstream reality.
Either use those tools own api’s, and some middleware or custom app , to update the downstream processes information to be correct after payment completes.
Such as when the related webhooks fire.
That’s the order name.
Meanwhile order ids are unique at the PLATFORM level, not just to the merchant. i.e. merchant A has #0012345 but so merchant B also has an order named #0012345 even though that info is never shared across merchants that is not good for infrastructure
If you must has a custom “ID” try that property in the api for that resource IF available; middleware/custom-apps or processes are still implied.
Note: I’m not sure if custom ids allow non-integers to put the hash/pound symbol into the data (e.g. #0123)
Hi PaulNewton and thank you for the explanation. I’ve searched far and wide for this, and I’ve come up with the same answer as yours(evidently). I used my current gateway because it has decent prices and worked well with PrestaShop and WordPress.
Would there be any hope with Shopify payments, or is the same Payment ID that gets displayed?