We have created a payment gateway into Shopify using the Hosted Payment Gateway SDK.
What is the issue here:
Step1: Merchant will create a draft order from Shopify Back-end https://prnt.sc/10j3xjv
Step2: Merchant will send an invoice https://prnt.sc/10j3y9d to the customer to pay the order and the customer will receive a Shopify link to pay order: https://synchrony-test-store-3.myshopify.com/52625473695/invoices/b95cd76406d057bad798f7767ee897e5
Step3: Customer will complete the order https://prnt.sc/10j40fv
Step4: Once they click on complete order, it will redirect to the Hosted Payment Page and Shopify is sending this information to that page: https://shopify.dev/docs/hosted-payment-sdk/reference/request-values
Step5: Issue is here, Shopify does not send a draft order ID or checkout ID there so we are unable to get the current cart information over there. If we get a draft order id or checkout id there then only we can fetch the cart information using the Shopify draft order or checkout API. For our payment gateway, we require cart information to proceed with the payment.
With the regular checkout from the Shopify storefront, Shopify sending a checkout id into the x_reference parameter, and using that we are making an API call to get the checkout information.
I hope, will have a solution to it.
Happy to help you out with this.
Looking at our logs I am seeing failed responses this past week, and the checkout id's appear associated with draft orders. However, I'm noticing that in the response your correctly echoing back the x_reference id which is associated to a checkout record tied to a draft order. What API are you using to get the checkout details?
Would you mind running a new test, attempting to complete a draft order with your payment provider and providing the date and time in UTC of that request. It will help me and our payment team in our troubleshooting efforts.