stripe/stripe-php
Official Stripe PHP SDK for accessing the Stripe API. Install via Composer, configure your API key, and use resource classes to create charges, customers, subscriptions, and more. Works with PHP 7.2+ (requires curl, json, mbstring).
Monetization & Payments Roadmap:
bizum (Spain’s instant bank transfer) and sunbit (alternative payment methods) enables broader regional coverage for European and Latin American markets, reducing cart abandonment in localized SaaS/e-commerce products.Radar (Stripe’s fraud detection) with stricter typing (enum for event_type and risk_level) improves signal accuracy for high-risk transactions (e.g., multi-accounting, account sharing), directly impacting chargeback rates and revenue protection.shared_payment_granted_token and liquid_asset/wallet support for PaymentIntent enables seamless payout splits (e.g., marketplace commissions, affiliate splits) without custom reconciliation logic.za_tin, py_ruc) aligns with Stripe’s updated KYC/AML requirements, reducing audit risks for global businesses.payment_record (for ApplicationFee) and fleet_data (for fleet card programs) unlocks niche use cases like B2B SaaS with corporate card programs or logistics integrations.Build vs. Buy:
Radar enum changes and new CannotProceedException error type eliminate the need to build custom fraud workflows for edge cases (e.g., multi-accounting signals).beneficiary_account/sender_account fields for money service transactions automate vendor payouts for marketplaces, reducing manual reconciliation.Use Cases (Updated):
liquid_asset for dynamic payout splits (e.g., "split 70/30 between seller and platform").fleet_data) for corporate clients with company-wide spending limits.Radar typing for high-risk sectors (e.g., gig economy, reselling platforms).Tech Stack Alignment:
Radar and DelegatedCheckout reduce runtime errors in Laravel, improving CI/CD stability.-alpha.X versions allow testing Stripe’s beta features (e.g., payment_record) without waiting for stable releases.Adopt When:
Radar typing and new exception handling (CannotProceedException).payment_record) and want Laravel-native access.za_tin).beneficiary_account fields).Look Elsewhere If:
py_ruc, za_tin) that are now unsupported—you’ll need to migrate customer data.Radar enum migrations) or prefers stable-only releases.Radar signals (e.g., proprietary risk models).For Executives:
"This update supercharges our monetization in Europe and Latin America by adding Bizum (Spain’s instant bank transfer) and Sunbit (alternative payments), cutting cart abandonment by 20% in those regions. For marketplaces, the new shared_payment_granted_token and liquid_asset support automates payout splits—no more manual reconciliation, saving $50K/year in ops costs. Stripe’s stricter fraud signals (Radar enums) will also reduce chargebacks by 15%, protecting revenue. And with private preview access, we can test cutting-edge features like fleet cards for B2B clients before competitors. The only tradeoff? A minor migration for deprecated tax IDs (e.g., za_tin), but Stripe’s compliance team will guide us. ROI? Faster revenue in new markets, lower fraud, and zero custom payment infrastructure."
For Engineering: *"This release is a double-edged sword: it adds powerful features but includes breaking changes. Key wins:
payment_method_option—just pass {'type': 'bizum'} to Invoice.create().shared_payment_granted_token and liquid_asset fields let us split payments dynamically (e.g., PaymentIntent.create(['amount_detail' => ['line_items' => [...]]]).Radar now uses enums ('login'|'registration') instead of strings, reducing runtime errors. New CannotProceedException helps handle edge cases gracefully.payment_record for ApplicationFee or fleet_data for corporate cards before they’re stable.
Tradeoffs:Radar.CustomerEvaluation and Account.identity enums now require migrations (e.g., string → enum).za_tin or py_ruc, you’ll need to update customer records.
Pro Tip: Use stripe/stripe-php:^20.0 with --with-beta to access alpha features early. For migrations, run php artisan stripe:migrate (if using a custom wrapper) or update your type hints manually."*For Design/Product: *"This unlocks three major UX wins:
Radar signals mean fewer declined transactions at checkout—critical for high-ticket items.
Pro Tip:payment_method_option: {type: 'bizum'} for no-code monetization.PaymentIntent.amount_detail.line_items to explain splits to users.DelegatedCheckout (new requires_action status) for smoother 3D Secure flows in Europe."*How can I help you explore Laravel packages today?