Cancel/Expire Pending 3DS Billing Attempts for Subscription Billing Cycle Contracts

I’m encountering a significant issue with subscriptionBillingCycleContracts when using 3DS verification. Currently, there is no effective way to cancel billingAttempts that are pending a 3DS verification. This creates a critical problem when applying temporary edits using subscriptionBillingCycleContracts.

The Problem:

  • Temporary Edits Blocked: When there’s a pending billingAttempt on a cycleContract, it becomes impossible to modify the subscription, update the contract, or remove the temporary edits.
  • Potential for Permanent Lock: In scenarios where the 3DS verification emails are lost or simply forgotten, the pending billingAttempt never expires. This leaves the contract effectively “bricked” until all the nextAction URLs are resolved manually.
  • Impact on Workflow: This issue poses a serious risk in production environments, as it prevents necessary adjustments and can lead to prolonged disruptions in the billing cycle process.

Request: It would be immensely helpful if Shopify could introduce a mechanism to cancel or automatically expire pending 3DS billingAttempts. This change would not only improve the flexibility of temporary edits but also help avoid situations where contracts are inadvertently locked due to unresolved verifications.

Any feedback on potential workarounds or plans to address this issue would be greatly appreciated. Thanks in advance for looking into this matter!