In my experience, some (maybe not Stripe) payment vendors sandbox environments acts slightly different, and these minor issues can break things in production. A payment provider I worked with didn't have a proper way of "storing" cards. But you could create a subscription and bill it whenever you wanted. We didn't want to risk that the subscription stopped working, so we hard coded the subscription to be valid until 9999-12-32 (why not?). This worked fine in the sandbox, but when it was pushed out to production, it didn't work at all, because here in Europe, with the SCA that is enforced by the banks, they refused to create subscriptions that exceeded an unknown amount of time.