Skip to content

Latest commit

 

History

History
1265 lines (698 loc) · 54.9 KB

CHANGELOG.md

File metadata and controls

1265 lines (698 loc) · 54.9 KB

Release Notes

v15.4.3 - 2024-09-03

v15.4.2 - 2024-08-20

v15.4.1 - 2024-07-09

v15.4.0 - 2024-07-02

v15.3.2 - 2024-04-12

v15.3.1 - 2024-03-26

v15.3.0 - 2024-03-05

  • [15.x] Fix anchorBillingCycle for subscription checkout by @ybert in #1659
  • [15.x] Better align items by @driesvints in #1662
  • [15.x] Create stripe customer if not exists or update/sync by @arafatkn in #1661

v15.2.2 - 2024-02-13

  • [15.x] Fix payment behavior not being passed by @skeemer in #1649

v15.2.1 - 2024-01-30

15.2.1 - 2024-01-30

v15.2.0 - 2024-01-16

v15.1.1 - 2024-01-12

v15.1.0 - 2024-01-09

  • [15.x] Clear the generic trial upon subscription creation by @driesvints in #1628
  • [15.x] Fix unset 'return_url' for embedded UI without redirection by @lowbits in #1631

v15.0.0 - 2023-12-22

v14.14.0 - 2023-11-21

v14.13.1 - 2023-11-08

v14.13.0 - 2023-11-07

v14.12.12 - 2023-11-02

v14.12.11 - 2023-10-31

v14.12.10 - 2023-10-25

  • Fix Tax ID collection requires updating business name on the customer by @stevebauman in #1586

v14.12.9 - 2023-10-24

v14.12.8 - 2023-10-03

v14.12.7 - 2023-09-26

v14.12.6 - 2023-09-08

v14.12.5 - 2023-09-05

14.12.4 - 2023-07-11

  • Update ManagesCustomer to include optional metadata when creating or syncing a user by @dbhynds in #1543
  • Update ManagesCustomer.php > createOrGetStripeCustomer() > allow "expand" when retrieving a Customer by @Ronan-Lenor in #1547
  • createSetupIntent add customer stripe_id option by @clementmas in #1545

v14.12.3 - 2023-06-13

  • Fix bug with customer_update in checkout by @driesvints in #1538

v14.12.2 - 2023-05-24

  • Handle automatic payment method updates by @shatterproof in #1534

v14.12.1 - 2023-05-09

  • Fallback for empty pm_type object on fillPaymentMethodDetails by @shatterproof in #1531

v14.12.0 - 2023-04-18

  • Add ability to set a description on "one-off" charge checkouts by @AmrAb-05 in #1525

v14.11.0 - 2023-04-11

  • Add ability to ignore incomplete payments by @driesvints in #1524

v14.10.0 - 2023-04-04

  • Set payment confirm options by @driesvints in #1516

v14.9.0 - 2023-03-02

  • Provide findSetupIntent method by @andycowan in #1505
  • Fix deletion of subscription items in swap() by @glspdotnet in #1509

v14.8.2 - 2023-02-21

  • Fix invoice line items by @driesvints in #1503

v14.8.1 - 2023-02-14

Fixed

  • Fix webhook command by @driesvints in #1499

v14.8.0 - 2023-02-09

Added

  • Add SyncCustomerDetails job by @driesvints in #1498

v14.7.2 - 2023-02-03

Fixed

  • Return null if attribute isn't found by @driesvints in #1496

v14.7.1 - 2023-01-31

Fixed

  • Fix wrong foreignKey on SubscriptionItem by @zofe in #1494

v14.7.0 - 2023-01-10

Added

  • Laravel v10 Support by @driesvints in #1486

v14.6.0 - 2023-01-03

Changed

  • Adds types to database migrations and factories by @nunomaduro in #1472

v14.5.0 - 2022-12-06

Added

  • Cursor pagination for invoices by @driesvints in #1479

v14.4.0 - 2022-11-29

Changed

  • Update Stripe API version and Stripe PHP SDK v10 support by @driesvints in #1478

v14.3.1 - 2022-11-15

Changed

  • Modernize migrations by @driesvints in #1471

v14.3.0 - 2022-11-01

Added

  • Allow incomplete subscriptions as active by @driesvints in #1466

Changed

  • Refactor dates property by @driesvints in #1462
  • Pass pay options to pay method by @driesvints in #1464

v14.2.2 - 2022-10-25

Fixed

  • Fix undefined property id notice by @Lyrisbee in #1448
  • fix minor typo by @owainjones74 in #1450
  • Fix StripeObject values problem by @Lyrisbee in #1449

v14.2.1 - 2022-09-27

Fixed

  • Add fallback for null value in unitAmountExcludingTax method by @jayan-blutui in #1447

v14.2.0 - 2022-09-27

Added

  • Fresh receipt template by @driesvints in #1446
  • Allow guest checkout by @alexgaal & @driesvints in #1438 & #1439

Changed

  • Configurable Webhook Enabled Events by @yob-yob in #1435
  • Add generic trial scopes by @lioneaglesolutions in #1436
  • Add days until due to sends invoice by @driesvints in #1437

Fixed

  • Fix applied balance on invoices by @driesvints in #1445

v14.1.1 - 2022-09-06

Fixed

  • Fix subscription invoicing bug by @driesvints in #1434

v14.1.0 - 2022-08-30

Changed

  • Add invoice.payment_succeeded event to WebhookCommand by @driesvints in #1428

Fixed

  • Fix applied balance on receipts by @driesvints in #1429
  • Renders the invoice item dates on invoices when set by @nicko170 in #1432

v14.0.0 - 2022-08-23

Added

  • Sync preferred locales by @driesvints in #1408
  • Add new balance transaction methods by @driesvints in #1423

Changed

  • Cascade Stripe exceptions when invoicing by @driesvints in #1210
  • Make invoice data optional by @driesvints in #1217
  • Make dompdf optional by @driesvints in #1312
  • Manage Checkout PM from Dashboard by @driesvints in #1400
  • Improves console output by @nunomaduro in #1401
  • Update to new Stripe version by @driesvints in #1417
  • New subscription behavior by @driesvints in #1420

Removed

  • Drop PHP 7.3 support by @driesvints in #1186
  • Remove Checkout button by @driesvints in #1219
  • Drop PHP 7.4 and Laravel v8 support by @driesvints in #1353
  • Remove deprecated functionality by @driesvints in #1418
  • Drop MoneyPHP 3.x by @driesvints in #1416

v13.16.0 - 2022-08-30

Added

  • Add new balance transaction methods by @driesvints in #1423

Changed

  • Add invoice.payment_succeeded event to WebhookCommand by @driesvints in #1428

Fixed

  • Fix applied balance on receipts by @driesvints in #1429

v13.15.1 - 2022-08-16

Fixed

  • Fix Stripe key not found by @driesvints in #1421

v13.15.0 - 2022-08-09

Added

  • Allow Stripe SDK v9 by @driesvints in #1413

Fixed

  • Fix issue with overwriting behavior by @driesvints in #1410

v13.14.0 - 2022-08-02

Added

  • Create invoices separately by @driesvints in #1409

Fixed

  • Fix webhook command by @driesvints in #1407

v13.13.0 - 2022-07-13

Changed

  • Allow dompdf v2 by @carlalexander in #1393

Fixed

  • Fix receipt totals and balance by @driesvints in #1388

v13.12.0 - 2022-06-28

Changed

  • Update reference to Stripe SDK by @driesvints in #1383
  • Re-add support for Sources API by @driesvints in #1384

v13.11.1 - 2022-06-21

Fixed

  • Fixed undefined quantity notice by @Lyrisbee in #1377

v13.11.0 - 2022-05-17

Added

  • Add new hasTrialExpired methods by @driesvints in #1366

Changed

  • Allow Stripe SDK v8 by @ankurk91 in #1365

Fixed

  • Fix reference to billable by @driesvints in #1363

v13.10.1 - 2022-05-05

Security

  • Bump Dompdf by @driesvints in #1360

v13.10.0 - 2022-05-03

Added

  • Discount improvements by @driesvints in #1354

Fixed

  • Fix deprecation with Carbon on receipts by @driesvints in #1356

v13.9.0 - 2022-04-27

Added

  • Add pay method by @mozex in #1345

Changed

  • Allow options with formatAmount by @driesvints in #1348

v13.8.6 - 2022-04-12

Fixed

  • Fix issue with zero tax on invoice by @driesvints in #1343

v13.8.5 - 2022-04-05

Changed

  • Pass locale to custom format amount by @driesvints in #1340

v13.8.4 - 2022-03-15

Changed

  • Make use of anonymous classes by @mmachatschek in #1329
  • Allow normal and metered prices in builder by @driesvints in #1336

v13.8.3 - 2022-02-22

Changed

  • Fix rawDiscountFor method by @driesvints in #1325
  • Fix swapping metered price of subscription item by @pietrantonio91 in #1328

v13.8.2 - 2022-02-08

Fixed

  • Fallback to null quantity for metered price when swapping a subscription (#1319)

Fixed

  • Prevent duplicate subscription creation (#1308)

Added

  • Implement invoice renderer (#1304)

Added

  • Add deletePaymentMethod (#1298)

Changed

  • Laravel 9 Support (#1299)

Changed

  • Simplify cancelation check (#1283)
  • Rename cancelled to canceled (#1284)
  • Allow latest moneyphp version (#1280, #1286)

Fixed

  • Fix factory canceled state (#1282)

Added

  • Add createAndSendInvoice method (#1276)

Changed

  • Allow the base url for the Stripe API to be customised (#1273)

Fixed

  • Fix enabling auto collecting in checkout (#1270)

Fixed

  • Fix confirming payments on the payment page (#1268)

Fixed

  • Handle Stripe Object lock timeout (#1259)

Fixed

  • Fix a stripe notice with SubscriptionBuilder and metered prices (#1261)

Changed

  • Use default name for subscription factory (#1250)
  • PHP 8.1 compatibility (#1251)

Fixed

  • Fallback to null quantity for metered price (#1255)

Fixed

  • Fix setting name on subscription (5d00c21)

Added

  • Add invoices methods to subscription (#1245)

Fixed

  • Fix webhook order issue (#1243)
  • Send data when upcoming invoice is refreshed (#1244)
  • Update customer details when tax id is collected (#1246)

Fixed

  • Fix quantity filling on subscriptions (#1238)
  • Fix unreachable status value (#1240)

Changed

  • Add support for inline price data (#1235)

Changed

  • Allow promo codes on subscription updates (#1230)

Fixed

  • Fix asStripeCustomerBalanceTransaction (#1234)

Fixed

  • Fix issue with requires_action (#1226)
  • Fix async issue with webhooks (#1227)

Changed

  • Implement server side Checkout redirect (#1218)

Added

  • Implement customer balances (#1216)

Added

  • Add invoicePrice and tabPrice methods (#1213)

Fixed

  • Fix collecting tax ids (#1209)

Added

  • Implement new calculateTaxes call (#1198)
  • Implement webhook command (#1202, 1d9cce8)

Changed

  • Prevent tax calculation for one-off charges (#1206)

Fixed

  • Use correct method visibility (#1200)

Added

  • Implement support for Stripe Tax (#1190)
  • Collect Tax IDs in Checkout (#1191)

Fixed

  • Fix adding metered plan to subscription (#1189)

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)

Added

  • Implement webhook command (#1202)

Fixed

  • Fix broken unit_amount with tab (9246063)

Added

  • Support prorations while extending trials (#1151)
  • Add extra methods to invoice object (#1167)

Fixed

  • Add extra 10 seconds of trial time for checkout session (#1160)
  • Fix adding invoice item with quantities (#1161)
  • Fix coupons with Stripe Checkout sessions (#1165)
  • Fix checkout owner (7bbfe23)

Fixed

  • Fix discount calculation (#1144)

Added

  • Add methods for managing TaxIDs (#1137)

Fixed

  • Fix receipt comments (#1131)

Added

  • Implement object serialization (#1116)

Changed

  • Replace symfony/intl dependency (#1114)
  • Extract creating subscription to a separate method (#1124)

Fixed

  • Fix latest_invoice retrieval (#1115)
  • Fix coupon label on receipts (#1118)

Added

  • Implement cancelAt method (#1106)

Added

  • Added new payment status helper methods (#1068)
  • Add capture method (#1099)

Changed

  • Update description on receipt (#1098)
  • Update payment page (#1094)

Changed

  • Use DejaVu Sans for receipts (#1083)

Fixed

Fixed

  • Fix missing method on WebhookController (#1080)
  • Allow relative urls for redirect (#1082)

Changed

  • Allow model swapping (#1067)

Fixed

  • Fix styles overwriting checkout button when class is set (#1070)

Added

  • Add endTrial method (#1062)

Fixed

Fixed

  • Fix removing tax rates (#1059)

Added

  • Metered billing (#1048)

Changed

  • Allow Stripe dashboard subscriptions (#1058)

Fixed

  • Fix return type for invoice line items (#1053)

Fixed

  • Fix tax rates for subscription checkouts (#1050)

Added

  • Stripe Checkout Support (#1007)

Fixed

Changed

Fixed

  • Fix proration behaviour being forced when syncing tax rates (#1028)

Added

  • Add withPromotionCode method (#1032)

Changed

  • Refactor duplicated code (#1029)

Added

Fixed

  • Fix trial ends at check (#1015)

Fixed

  • Fix n+1 problem with subscription retrieval (#1009)

Added

  • Implement trialEndsAt (#1000)

Changed

  • Simplify subscription method (#1003)

Fixed

  • Fix quantity preserving (#999)
  • Fix Models namespace for Laravel 8 (9024107)

Fixed

  • Fix double payment method (#987)

Added

  • Support Laravel 8 (#985)

Changed

  • Stripe SDK minimum version is now ^7.39 (#981)

Fixed

  • Fix url checking for invalid urls (#984)

Added

  • Apply prorate and invoice_now for cancelNow (#975)

Added

  • Add support for Stripe's Customer Portal (#966)

Fixed

  • Fix validating payment intent (#959)

Changed

  • Implement new proration and pending updates (#949)

Fixed

  • Fail url checking when url is invalid (#1021)

Added

  • Add convenience methods to update stripe objects (#943)

Fixed

  • Send invoice when charging automatically (#942)
  • Remove unnecessary if statement on receipt (#946)

Fixed

  • Fix undefined redirect error (0fc4c6e)

Security

  • Protect against host mismatch (#930)

Fixed

  • Fix add and remove plan (#926)
  • Fix quantity prorating (#924)
  • Fix multiplan subscription swapping (#925)

Fixed

  • Fix quantity methods (#919)

Changed

  • Re-add tax percentage (#916)

Fixed

Added

  • Multiplan swapping (#915)

Added

  • Multiplan subscriptions (#900)
  • Tax Rates (#830)
  • Add new has payment method (#838)

Changed

  • Update stripe api version (#905)
  • Require PHP 7.2 (f0f8cd1)
  • Dropped Laravel 5.8 support (b6256a2)
  • Allow for subscription options (#868, #901)
  • Use proper invoice number (#878)
  • Loosen exception throwing (#882)
  • Rename some exceptions (#881)
  • Allow for custom filename with downloadInvoice method (#889)
  • Split Billable trait into multiple concerns (#898)

Fixed

  • Send along status for payment page (#896)

Added

  • Add getters for owner instances to objects (#877)
  • Implement extending trials (#884)
  • Allow for custom email address attribute (#887)
  • Re-enable proration (#886)

Changed

  • Add @throws declaration to methods on Billable which can throw Payment exceptions (#872)
  • Update payment page with new JS method (#879)

Added

  • Add findBillable method (#869)

Fixed

  • Prevent createAsStripeCustomer when stripe_id is set (#871)

Fixed

  • Fix findInvoiceOrFail behavior (#853)

Changed

  • Assert customer exists before retrieving (#834)
  • Simplify refund method (#837)

Fixed

  • Fix typo in exception message (#846)
  • Fix overriding notification subject translation (59faaf3)

Added

  • Symfony 5 support (#822)

Added

  • Webhook events (#810)

Fixed

  • Add missing @throws tags (#813)
  • Properly return null for find methods (#817)

Added

  • Add findPaymentMethod method (#801)
  • Allow to set past due as active (#802)

Added

Changed

  • Add language line for full name placeholder (#782)
  • Update Stripe SDK to v7 (#784)
  • Refactor handling of invalid webhook signatures (#791)
  • Remove config repository dependency from webhook middleware (#793)

Fixed

  • Remove extra sign off from ConfirmPayment notification (#779)

Fixed

  • Ensure SVG icons are visible even with a long success or error message (#772)

Added

  • Add ability to ignore cashier routes (#763)

Fixed

  • Only mount card element if payment has not succeeded or been canceled (#765)
  • Set off_session parameter to true when creating a new subscription (#764)

Fixed

  • Remove collation from migrations (#761)

Added

  • Multiple stripe accounts (#754)
  • Set Stripe library info (#756)
  • Paper size can be set in config file (#752, cb837d1)

Changed

  • Update Stripe API version to 2019-08-14 (#749)

Fixed

  • syncStripeStatus trying to update incorrect status column (#748)

Added

  • Allow hasIncompletePayment() to check other subscriptions than “default” (#733)
  • Add indexes to those columns used to lookup data in the database (#739)

Fixed

  • Fixed a label with an incorrect for attribute (#732)

Added

  • Add latestPayment method on Subscription (#705)
  • Allow custom filename for invoice download (#723)

Changed

  • Improve stripe statuses (#707)
  • Refactor active subscription state (#712)
  • Return invoice object when applicable (#711)
  • Refactor webhook responses (#722)
  • Refactor confirm payment mail to notification (#727)

Fixed

  • Fix createSetupIntent (#704)
  • Fix subscription invoicing (#710)
  • Fix null return for latestPayment method (#730)

Removed

  • Remove unused $customer parameter on updateQuantity method (#729)

Cashier 10.0 is a major release. Please review the upgrade guide thoroughly.

Changed

  • Remove old 5.9 version constraints (c7664fc)

Fixed

  • Don't try and find a user when stripeId is null (#721)

Changed

  • Updated version constraints for Laravel 6.0 (4a4c5c2)

Fixed

  • Fix hasStartingBalance and subtotal on Invoice (#684)

Changed

  • VerifyWebhookSignature is no longer final (260de04)
  • Remove strict type check for trialUntil() (#678)

Fixed

  • Fixing defaultCard() exception when user is not a Stripe customer (#660)

Added

  • Able to update a Stripe customer (#634)

Fixed

  • Handle incomplete subscriptions upon creation (#631)
  • Handle card failure in plan swap (#641)

Fixed

  • Use new created property on invoice (4714ba4)

Added

  • Add subscription state scopes (#609)

Changed

  • Test latest Stripe API version (#611)

Added

Added

  • Allow Carbon 2 installs (a3b9d36)

Changed

  • Test against latest Stripe API version (#603)

Fixed

  • Correct PHP Doc @return tag (#601)

Changed

  • Removed support for PHP 7.0 (#595)
  • Require Laravel 5.7 as minimum version (#595)
  • Extract updateCard from createAsStripeCustomer method (#588)
  • Remove CASHIER_ENV and event checks and encourage usage of VerifyWebhookSignature middleware (#591)
  • The invoice method now accepts an $options param (#598)
  • The invoiceFor method now accepts an $invoiceOptions param (#598)

Fixed

  • Fixed some DocBlocks (#594)
  • Fixed a bug where the swap and incrementAndInvoice methods on the Subscription model would sometimes invoice other pending invoice items (#598)

Version 2.0.4

  • Allow user to pass paramaters when fetching invoices.
  • Added a method to get the current subscription period's end date.
  • If a webhook endpoint is not defined for a given hook, an empty 200 response will be returned.

Version 2.0.3

  • Added space for extra / VAT information in receipts.
  • Implemented missing method on web hook controller.

Version 2.0.2

  • Fixed how credit cards are updated.

Version 2.0.1

  • Renamed WebhookController's failed payment method to handleInvoicePaymentFailed.
  • Added ability to webhook controller to automatically route all webhooks to appropriately named methods of they area available.