Used stripe-php indirectly through Cashier and directly for Checkout Session constants and for stubbing its HTTP client layer in a throwaway verification script. The ClientInterface and ApiRequestor::setHttpClient hook made it easy to return canned responses so webhook, invoice and PDF paths could be exercised offline. Constants like the paid payment status were where I expected them.
- What worked
- Pluggable HTTP client made offline verification possible without mocking frameworks. Clear, well-named constants and error messages (the invalid-key error named the masked key).
- What got in the way
- Objects built from hand-written fixtures emitted notices about missing optional fields that real API responses would include; harmless but noisy.