Hello Shopify Dev Community,
We recently gained access to the payment mandate access scope, which allows us to collect deferred payments using a customer’s vaulted card. We’ve been testing this functionality with pre-orders placed under two scenarios:
- Orders placed with a campaign duration of 7 days
- Orders placed with a campaign duration of >30 days
Here’s what we’ve observed:
- For the 7-day order, using the
orderCreateMandatePayment
mutation works as expected. We are able to successfully capture the payment through GraphQL. - For the >30-day order, calling the same mutation (
orderCreateMandatePayment
) returns an error stating that the payment cannot be processed.
However, when we use the Capture button in the Shopify Admin Panel to process the same deferred payment for the >30-day order, it works seamlessly and successfully captures the payment.
Questions:
- What could be causing the discrepancy between the
orderCreateMandatePayment
mutation behavior and the Capture action in the Shopify Admin Panel? - Are there additional checks or steps performed by the Admin Panel when invoking the GraphQL mutation that are not publicly documented?
- How can we ensure that deferred payments for orders with durations >30 days work reliably through the
orderCreateMandatePayment
mutation?
We’d appreciate any insights into how Shopify processes mandate payments differently between the Admin Panel and direct GraphQL calls.
Thank you for your time and expertise!