diff --git a/docs/releasenotes.md b/docs/releasenotes.md
index 89070f5382a2785ca8fad506c592adf0e4ed435b..d2162d28fe9b9fbb50d5e7af8378853eb4928c2f 100644
--- a/docs/releasenotes.md
+++ b/docs/releasenotes.md
@@ -9,7 +9,7 @@ Releases use the following numbering system:
 
 * **[BC]**: Items marked with [BC] indicate a breaking change that will require updates to your code if you are using that code in your extension.
 
-## Release 6.6 (not yet released 2021-04-10)
+## Release 6.6 (not yet released 2021-05-09)
 **Requires mjwshared (Payment Shared) 1.0**
 
 **Access AJAX API permission is required** for all users that make payments using Stripe (including the anonymous user).
@@ -34,6 +34,7 @@ Make sure you update your CMS user roles to include this permission.
 * Make more javascript strings translatable.
 * Disable billing fields by default.
 * Add 6.6 upgrade message to system checks.
+* Fix [#306](https://lab.civicrm.org/extensions/stripe/-/issues/306) Can't pay for event with more then one participant.
 
 ## Release 6.5.8
 
diff --git a/info.xml b/info.xml
index 2083a809451b8d1ccc6cd4d05c9bff6deee6836c..8c5bf09f86ca99db293e4ca62087dd0d7128e061 100644
--- a/info.xml
+++ b/info.xml
@@ -15,7 +15,7 @@
     <author>Matthew Wire (MJW Consulting)</author>
     <email>mjw@mjwconsult.co.uk</email>
   </maintainer>
-  <releaseDate>2021-04-12</releaseDate>
+  <releaseDate>2021-05-09</releaseDate>
   <version>6.6-dev</version>
   <develStage>beta</develStage>
   <compatibility>
diff --git a/js/civicrm_stripe.js b/js/civicrm_stripe.js
index 1de1274177c1c9d762abf50c0a27add5d13c5ae1..6977eee2d7f45785de26c8a892c09310092a38e6 100644
--- a/js/civicrm_stripe.js
+++ b/js/civicrm_stripe.js
@@ -200,12 +200,14 @@
         // For recur, additional participants we do NOT know the final amount so must create a paymentMethod and only create the paymentIntent
         //   once the form is finally submitted.
         // We should never get here with amount=0 as we should be doing a "nonStripeSubmit()" instead. This may become needed when we save cards
-        if (CRM.payment.getIsRecur() || CRM.payment.isEventAdditionalParticipants() || (CRM.payment.getTotalAmount() === 0.0)) {
+        var totalAmount = CRM.payment.getTotalAmount();
+        if (totalAmount) { totalAmount = totalAmount.toFixed(2); }
+        if (CRM.payment.getIsRecur() || CRM.payment.isEventAdditionalParticipants() || (totalAmount === null)) {
           CRM.api3('StripePaymentintent', 'createorupdate', {
             stripe_intent_id: createPaymentMethodResult.paymentMethod.id,
             description: document.title,
             payment_processor_id: CRM.vars.stripe.id,
-            amount: CRM.payment.getTotalAmount().toFixed(2),
+            amount: totalAmount,
             currency: CRM.payment.getCurrency(CRM.vars.stripe.currency),
             status: 'payment_method',
             csrfToken: CRM.vars.stripe.csrfToken,