Define one internal payment model

Map every provider response into a small set of internal states such as pending, successful, failed, refunded and disputed.

Keep provider-specific details available for support without exposing them as the contract used by the rest of the product.

Test operations, not only happy paths

Cover delayed callbacks, repeated notifications, customer abandonment, refunds and reconciliation differences before launch.

Assign ownership for alerts, payment-method changes and incident communication so the integration remains reliable after release.