Every payment integration looks done when the first charge succeeds. It's actually done when reconciliation runs for a month without a human touching it.
We've never seen a payment system break at the API call. It breaks at attribution — which money belongs to which user. What's your worst mismatch story?