News

Sync Customer Data, Preview Upcoming Invoices, SEPA Payment Methods, and More in Cashier Stripe v13

Published
Sync Customer Data, Preview Upcoming Invoices, SEPA Payment Methods, and More in Cashier Stripe v13 image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

The Laravel team released Cashier Stripe v13 with new payment methods, multiple discounts on receipts, sync customers with Stripe data, and the latest improvements since the 12.x release:

New Payment Methods

Dries Vints contributed new user payment methods to the PHP API, which allows you to specify payment method type, including SEPA Direct Debit payments. Here is a preview from the Cashier Stripe v13 Released announcement post, to visualize these methods:

// Get payment methods
$user->paymentMethods();
 
// Get SEPA payment methods
$user->paymentMethods('sepa_debit');
 
// Determine if the user has SEPA payment methods
$user->hasPaymentMethod('sepa_debit')
 
// Delete all SEPA payment methods for a user
$user->deletePaymentMethods('sepa_debit');

Sync Customers With Stripe Data

Dries Vints contributed the ability to sync customer data with Stripe using a booted() model method to handle syncing during the updated model event:

/**
* The "booted" method of the model.
*
* @return void
*/
protected static function booted()
{
static::updated(queueable(function ($customer) {
$customer->syncStripeCustomerDetails();
}));
}

Preview an Upcoming Invoice

Ben Doe and Dries Vints collaborated on the ability to preview the invoice for price changes

$upcomingInvoice = $subscription->previewInvoice('the_stripe_plan');
 
// For a specific subscription
$user->subscription('default')->upcomingInvoice();

Learn More

You can see the complete list of new features and updates below and the diff between v12.14.1 and 13.0.0 on GitHub. If you need to upgrade from v12, reference the Upgrading To 13.0 From 12.x for help. Finally, check out the Laravel team’s announcement post for more details on the v13 release!

v13.0.0

Added

  • Support more payment method types (#1074)
  • Cashier Stripe Factories (#1096)
  • Multiple discounts on receipts (#1147)
  • Preview upcoming invoice (#1146)
  • Add new metered price methods (#1177)
  • Allow customers to be synced with Stripe (#1178, #1183)
  • Add stripe_product column to subscriptions_items table (#1185)

Changed

  • Rename plans to prices (#1166)
  • Stripe SDK refactor (#1169)
  • Update stripe api version (#1001)
  • Make plans optional for newSubscription (#1066)
  • Drop PHP 7.2 support (#1065)
  • Drop Laravel 6 & 7 support (#1064)
  • Refactor payment exceptions (#1095)
  • Refactor model config option (#1100)
  • Billing portal arguments (#1104)
  • Refactor receipts with more data from Stripe (#1136)
  • Add array types (#1152)
  • Throw payment exception for quantity methods (#1155)
  • Throw payment exceptions on item swap (#1157)
  • Payment page updates (#1120)

Fixed

  • Fix trialEndsAt more closely represents onTrial (#1129)

Removed

  • Remove legacy sources support (#1077)
Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article