Stripe issueshttps://lab.civicrm.org/extensions/stripe/-/issues2024-03-12T23:30:08Zhttps://lab.civicrm.org/extensions/stripe/-/issues/467Subscription that stripe determines is "unpaid" is not updated in CiviCRM to ...2024-03-12T23:30:08ZjamieSubscription that stripe determines is "unpaid" is not updated in CiviCRM to be cancelledIt seems that stripe will send a notice that a subscription is "unpaid" when it gives up trying to collect on it.
I'm wondering if this is a bug or a feature request? I think it's a bug, but if this is not yet implemented let me know. W...It seems that stripe will send a notice that a subscription is "unpaid" when it gives up trying to collect on it.
I'm wondering if this is a bug or a feature request? I think it's a bug, but if this is not yet implemented let me know. We'd be happy to help get this working.
I'm seeing the payment processor web hook reports:
> Payment Processor: Stripe (Live ID: 1)
> Status: This event was successfully processed.
> Identifier: :::sub_xxxxxxx Type: customer.subscription.updated
> Full message:
> doCustomerSubscriptionUpdated: ignoring - not implemented
The JSON data provided by stripe includes:
```
Stripe\StripeObject JSON: {
"object": {
"id": "sub_xxxxxxx",
"object": "subscription",
"application": null,
"application_fee_percent": null,
"automatic_tax": {
"enabled": false,
"liability": null
},
"billing_cycle_anchor": 1626378828,
"billing_cycle_anchor_config": null,
"billing_thresholds": null,
"cancel_at": null,
"cancel_at_period_end": false,
"canceled_at": null,
"cancellation_details": {
"comment": null,
"feedback": null,
"reason": null
},
"collection_method": "charge_automatically",
"created": 1626378828,
"currency": "usd",
"current_period_end": 1708026828,
"current_period_start": 1705348428,
"customer": "cus_xxxxxE",
"days_until_due": null,
"default_payment_method": "pm_xxxxx",
"default_source": null,
"default_tax_rates": [],
"description": null,
"discount": null,
"ended_at": null,
"invoice_settings": {
"account_tax_ids": null,
"issuer": {
"type": "self"
}
},
"items": {
"object": "list",
"data": [
{
"id": "si_xxxxx",
"object": "subscription_item",
"billing_thresholds": null,
"created": 1626378828,
"metadata": [],
"plan": {
"id": "every-1-month-2500-usd",
"object": "plan",
"active": true,
"aggregate_usage": null,
"amount": 2500,
"amount_decimal": "2500",
"billing_scheme": "per_unit",
"created": 1559605475,
"currency": "usd",
"interval": "month",
"interval_count": 1,
"livemode": true,
"metadata": [],
"nickname": null,
"product": "prod_xxxxxx",
"tiers": null,
"tiers_mode": null,
"transform_usage": null,
"trial_period_days": null,
"usage_type": "licensed"
},
"price": {
"id": "every-1-month-2500-usd",
"object": "price",
"active": true,
"billing_scheme": "per_unit",
"created": 1559605475,
"currency": "usd",
"custom_unit_amount": null,
"livemode": true,
"lookup_key": null,
"metadata": [],
"nickname": null,
"product": "prod_xxxxxx",
"recurring": {
"aggregate_usage": null,
"interval": "month",
"interval_count": 1,
"trial_period_days": null,
"usage_type": "licensed"
},
"tax_behavior": "unspecified",
"tiers_mode": null,
"transform_quantity": null,
"type": "recurring",
"unit_amount": 2500,
"unit_amount_decimal": "2500"
},
"quantity": 1,
"subscription": "sub_xxxxx",
"tax_rates": []
}
],
"has_more": false,
"total_count": 1,
"url": "\/v1\/subscription_items?subscription=sub_xxxxxx"
},
"latest_invoice": "in_xxxxx",
"livemode": true,
"metadata": {
"Description": "Join xxxxx Solidarity Circle"
},
"next_pending_invoice_item_invoice": null,
"on_behalf_of": null,
"pause_collection": null,
"payment_settings": {
"payment_method_options": null,
"payment_method_types": null,
"save_default_payment_method": null
},
"pending_invoice_item_interval": null,
"pending_setup_intent": null,
"pending_update": null,
"plan": {
"id": "every-1-month-2500-usd",
"object": "plan",
"active": true,
"aggregate_usage": null,
"amount": 2500,
"amount_decimal": "2500",
"billing_scheme": "per_unit",
"created": 1559605475,
"currency": "usd",
"interval": "month",
"interval_count": 1,
"livemode": true,
"metadata": [],
"nickname": null,
"product": "prod_xxxxx",
"tiers": null,
"tiers_mode": null,
"transform_usage": null,
"trial_period_days": null,
"usage_type": "licensed"
},
"quantity": 1,
"schedule": null,
"start_date": 1626378828,
"status": "unpaid",
"tax_percent": null,
"test_clock": null,
"transfer_data": null,
"trial_end": null,
"trial_settings": {
"end_behavior": {
"missing_payment_method": "create_invoice"
}
},
"trial_start": null
},
"previous_attributes": {
"status": "past_due"
}
}
```https://lab.civicrm.org/extensions/stripe/-/issues/384Payments with a future date taken by Stripe but not recorded in Civi2023-10-02T14:20:16ZkonadavePayments with a future date taken by Stripe but not recorded in CiviSet up a basic contribution page with a pledge block, adjusting the recurring start date to a date in the future. Then make a test pledge with this page. There will be a contribution, a recurring contribution, and a pledge all with statu...Set up a basic contribution page with a pledge block, adjusting the recurring start date to a date in the future. Then make a test pledge with this page. There will be a contribution, a recurring contribution, and a pledge all with status pending.
On the future date, Stripe will dutifully process the payment and notify Civi...
`StripeIPN::processEventType()` -> `case 'invoice.payment_succeeded'` -> `createNextContributionForRecur()` -> `repeatContribution()` -> `api.Contribution.repeattransaction`
...and fail because `repeattransaction` is looking for a completed contribution that doesn't exist.
```php
function hook_civicrm_webhook_eventNotMatched($type, $object, $code, &$result) {
if ($type == 'stripe' && $code == 'contribution_not_found') {
try {
$crid = $object->getContributionRecurID();
$result['contribution'] = civicrm_api3('Contribution', 'getsingle', [
'contribution_status_id' => ['IN' => ['Pending']],
'contribution_recur_id' => $crid,
'contribution_test' => CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_ContributionRecur', $crid, 'is_test'),
'options' => ['limit' => 1, 'sort' => 'id DESC'],
]);
}
catch (CiviCRM_API3_Exception $e) {}
}
}
```
This solves for client, but feel like it actually belongs in `StripeIPN::getContribution()`.https://lab.civicrm.org/extensions/stripe/-/issues/383Webform won't allow user to submit if total is zero2023-05-19T04:39:54ZUpperholmeWebform won't allow user to submit if total is zeroI have a Drupal 7 webform that enables users to register for up to two optional events. I've configured the conditional logic on the webform to support a discount code that can be entered into a field, which then sets the registration fe...I have a Drupal 7 webform that enables users to register for up to two optional events. I've configured the conditional logic on the webform to support a discount code that can be entered into a field, which then sets the registration fee for one of the events to zero. If the user chooses not to register for the second event, then the total amount is zero.
When Stripe is selected as the payment processor, the form submit button does nothing, and the user is stranded having entered all their data.
Expected behaviour: The user should be able to submit the form regardless of whether the total is zero.https://lab.civicrm.org/extensions/stripe/-/issues/379Add support for Stripe Terminal (physical smart-readers, with the JavaScript ...2022-07-11T19:24:07ZbgmAdd support for Stripe Terminal (physical smart-readers, with the JavaScript SDK support)I'm testing Stripe physical terminals. Here is what I think is required to make it work in the Stripe CiviCRM extension:
- [x] ~~Admin setting for selecting the terminal's Location (a Location being a Stripe object, that can be defined ...I'm testing Stripe physical terminals. Here is what I think is required to make it work in the Stripe CiviCRM extension:
- [x] ~~Admin setting for selecting the terminal's Location (a Location being a Stripe object, that can be defined either via API, or by the Stripe Terminal admin interface; simpler for now to ask admins to to do initial Location setup in the Stripe UI)~~ Not necessary, this can be done from the Stripe Dashboard: go to the Readers, then Location, then you can add a terminal.
- [ ] Code for connecting to the terminal using a New Contribution backend form (make sure the device is available, list devices)
- [ ] Code for doing the [Payment Intent](https://stripe.com/docs/terminal/payments/collect-payment), and processing the transaction
- [ ] Make sure that CiviCRM stores whatever relevant information
- [ ] Make sure that Credit Cards and Debit Cards both work
Note that:
- This would only support the "smart" readers, such as the BBPOS WisePad 3 (which I'm testing) or maybe the Verifone P400. The cheaper US-only Stripe T2 would not work, because it is bluetooth-only and requires developing a mobile app (or using a third-party app). The smart-readers are basically stripped-down Android devices, with wifi and bluetooth, so they connect over the Internet to talk to Stripe, and CiviCRM talks to Stripe. It does not really talk directly to the reader.
- This work is unfunded. I mostly wanted to do a quick proof of concept. If this could be useful to your organisation, please consider funding the work).https://lab.civicrm.org/extensions/stripe/-/issues/375Stripe error, property 'paymentintentid' has not been set.2022-08-19T15:52:31ZTOCM_MMatthewsStripe error, property 'paymentintentid' has not been set.Some (maybe 10%, but low volume) of our users are getting incomplete payment transactions on member signup contribution pages without seeing any errors reported, and this:
stripe payment error: property 'paymentintentid' has not been se...Some (maybe 10%, but low volume) of our users are getting incomplete payment transactions on member signup contribution pages without seeing any errors reported, and this:
stripe payment error: property 'paymentintentid' has not been set.
Is being logged. I see that there’s something that looks like this is fixed in the extension update that came out a couple days ago and I’ll probably do the update no later than this weekend, but, is this actually fixed in that update?
Thank you.
Michael Matthewshttps://lab.civicrm.org/extensions/stripe/-/issues/374Feature Request - Support "Bulk Update Recurring Contributions"2023-10-02T14:21:35Zben_fairlessFeature Request - Support "Bulk Update Recurring Contributions"I've just seen this plugin and would love for Stripe to support it, if able. https://civicrm.org/extensions/bulk-update-recurring-contributionsI've just seen this plugin and would love for Stripe to support it, if able. https://civicrm.org/extensions/bulk-update-recurring-contributionshttps://lab.civicrm.org/extensions/stripe/-/issues/363No longer saving credit card information to civicrm_financial_trxn2022-12-12T12:21:50ZzengenuityNo longer saving credit card information to civicrm_financial_trxnIn the past, we've been able to include the last 4 digits and credit card type in our email receipts. However, for our most recent event, these tokens are no longer working. I'm not sure if this is due to updates in CiviCRM core or the S...In the past, we've been able to include the last 4 digits and credit card type in our email receipts. However, for our most recent event, these tokens are no longer working. I'm not sure if this is due to updates in CiviCRM core or the Stripe extension. Has something changed with regard to storing the credit card information in recent releases of the Stripe extension?
I did confirm that we are receiving the webhooks from Stripe, and in those JSON blobs, I can see the last 4 and card type. So, we're receiving the information from Stripe, but it doesn't appear that the information is being saved to the civicrm_financial_trxn table. Those values are in there for our event one year ago, when we were using both an older version of CiviCRM and of the Stripe extension.https://lab.civicrm.org/extensions/stripe/-/issues/353Discrepancy on customer reference on on-behalf contribution/membership2023-10-02T14:16:21ZPradeep Nayakpradpnayak@gmail.comDiscrepancy on customer reference on on-behalf contribution/membershipWhen a some one buys membership or does donation on behalf of Organization, the Stripe customer is referenced to Organization Id i.e the customer name, metadata and even in civicrm_stripe_customers table.
This is not true when you have...When a some one buys membership or does donation on behalf of Organization, the Stripe customer is referenced to Organization Id i.e the customer name, metadata and even in civicrm_stripe_customers table.
This is not true when you have 'User account created' option enabled for anonymous user on Online contribution form. In this case the Stripe customer is referenced to the Individual who did the payment.
**Reason:**
Stripe Extension uses $propertyBag->getContactID() function to retrieve the contact id of the customer from Civi which is set in [CRM_Mjwshared_ExtensionUtil::getContactId()](https://lab.civicrm.org/extensions/mjwshared/-/blob/master/CRM/Core/Payment/MJWTrait.php#L121) function. The contactID variable is set in the propertybag hence the later part in the function code is not executed. Incase of cms user create the contactID is over-ridden to Individual ID in [CRM_Contribute_BAO_Contribution_Utils::createCMSUSer()](https://github.com/civicrm/civicrm-core/blob/master/CRM/Contribute/BAO/Contribution/Utils.php#L117).https://lab.civicrm.org/extensions/stripe/-/issues/342Single payment from Stripe payment page does not create a separate transactio...2023-08-18T09:36:13ZjhungerfordSingle payment from Stripe payment page does not create a separate transaction record for the feeWhen running a contribution import where the donations have fees, two transaction records are created for each donation: one for the total, and one for the fee. However, when we receive a single (not recurring) donation using a Civi paym...When running a contribution import where the donations have fees, two transaction records are created for each donation: one for the total, and one for the fee. However, when we receive a single (not recurring) donation using a Civi payment page where Stripe is the payment processor, only one transaction record is created.
In the case of the import, it appears that both transaction records are created by this Contribution.create call (checked using xdebug to step through the code, and mysql to inspect the records directly after the call):
https://lab.civicrm.org/dev/core/-/blob/master/CRM/Contribute/Import/Parser/Contribution.php#L367
In the case of Stripe, I haven't set up xdebug on a live system, but by reading the code I think it's probably following this path, from here:
https://lab.civicrm.org/extensions/stripe/-/blob/master/CRM/Core/Payment/StripeIPN.php#L534
to here:
https://lab.civicrm.org/extensions/mjwshared/-/blob/master/CRM/Core/Payment/MJWIPNTrait.php#L445
to here:
https://lab.civicrm.org/extensions/mjwshared/-/blob/master/api/v3/Mjwpayment.php#L231
The result can be seen in the database by substituting the new contribution ID into this query:
```
select entity_table, financial_trxn_id from civicrm_entity_financial_trxn where entity_id=49491;
+------------------------+-------------------+
| entity_table | financial_trxn_id |
+------------------------+-------------------+
| civicrm_financial_item | 48694 |
| civicrm_contribution | 53422 |
+------------------------+-------------------+
```
For comparison, the result from an import looks like this:
```
select entity_table, financial_trxn_id from civicrm_entity_financial_trxn where entity_id=49624;
+------------------------+-------------------+
| entity_table | financial_trxn_id |
+------------------------+-------------------+
| civicrm_financial_item | 48744 |
| civicrm_contribution | 55756 |
| civicrm_contribution | 55757 |
+------------------------+-------------------+
```
There is a related question on Stack Exchange here:
https://civicrm.stackexchange.com/questions/40573/why-doesnt-the-stripe-extension-create-financial-records-for-fee-amount
We're using Stripe version 6.6.2 and CiviCRM 5.39.2.https://lab.civicrm.org/extensions/stripe/-/issues/333Admins can't submit a recurring payment if billing fields are disabled2023-10-02T14:15:45ZlarynAdmins can't submit a recurring payment if billing fields are disabledThe billing fields are disabled by default, which is fine in general, but it seems that when billing fields are disabled the administrative interface for submitting a credit card payment will not allow a recurring option for some reason....The billing fields are disabled by default, which is fine in general, but it seems that when billing fields are disabled the administrative interface for submitting a credit card payment will not allow a recurring option for some reason.
See: https://civicrm.stackexchange.com/questions/40224/how-to-add-a-new-recurring-contribution-from-the-administrative-sidehttps://lab.civicrm.org/extensions/stripe/-/issues/332Customer Description field no longer has contact name, which is now not avail...2022-06-17T10:57:18ZdavejCustomer Description field no longer has contact name, which is now not available in Stripe payment exportWhen exporting payments from Stripe dashboard, previously the Customer Description field contained contact name + ' (CiviCRM)' but it now contains 'CiviCRM: ' + site name (as described in [FAQ](https://docs.civicrm.org/stripe/en/latest/f...When exporting payments from Stripe dashboard, previously the Customer Description field contained contact name + ' (CiviCRM)' but it now contains 'CiviCRM: ' + site name (as described in [FAQ](https://docs.civicrm.org/stripe/en/latest/faqs/#customer-metadata). )
This change looks to have happened in commit [Description and Customer fields in Stripe backend](https://lab.civicrm.org/extensions/stripe/-/commit/b06d7e903d7a45a22d3b546e766ce1b2bb19e013).
Even exporting "All columns" from payment export or selecting custom columns, no field contains the contact name. The nearest is Customer Email but particularly for contribs on behalf of orgs, the contact name is very useful.
Given that `$stripeCustomerParams['name']` doesn't seem to be available for export in Stripe but `$stripeCustomerParams['description']` is, what do people think about putting the contact name back in the description field, as it was before the above commit?
First posted on Mattermost, where Matt commented:
> Can you open an issue for this? We could look into fixing it if funding was available? but otherwise good to have the issue captured anyway
> ie. the change you describe was not deliberate but a consequence of other improvements
So the proposal would be, in CRM_Stripe_Customer::getStripeCustomerMetadata(), to replace:
```
'description' => 'CiviCRM: ' . civicrm_api3('Domain', 'getvalue', ['current_domain' => 1, 'return' => 'name']),
```
with:
```
'description' => $contactDisplayName . ' (CiviCRM)',
```
Does that seem OK? I'll create a PR if so.6.7https://lab.civicrm.org/extensions/stripe/-/issues/328Adding support for Separate Membership Payment2023-10-02T14:15:31Zm robimorgan@palantetech.coopAdding support for Separate Membership PaymentAs discussed briefly on #134 -- is this feature on your radar for including any time soon, and if it is not could you give an idea of the amount of work required? Would you still use [this approach](https://lab.civicrm.org/extensions/str...As discussed briefly on #134 -- is this feature on your radar for including any time soon, and if it is not could you give an idea of the amount of work required? Would you still use [this approach](https://lab.civicrm.org/extensions/stripe/-/issues/134#note_50143)?https://lab.civicrm.org/extensions/stripe/-/issues/314Customize Subscription Product Name2023-10-02T14:19:37Zrichlivi-ciCustomize Subscription Product NameAll recurring contributions in CiviCRM are given the following product name in Stripe: "CiviCRM every X time_period $amount"--as in the following image:
![image](/uploads/e919f40a594360277215a6ec416bd038/image.png)
That same product nam...All recurring contributions in CiviCRM are given the following product name in Stripe: "CiviCRM every X time_period $amount"--as in the following image:
![image](/uploads/e919f40a594360277215a6ec416bd038/image.png)
That same product name is listed on all receipts and invoices for subscriptions. Some of the contributions are for donations, and some are for memberships, but the product name doesn't make it clear which. It is possible to customize the product name to indicate what kind of contribution it is, that is, replace "CiviCRM" with "Donation" or "Membership"? So the product name would end up being "Donation every X time_period $amount" or "Membership fee every X time_period $amount" depending on the type of contribution.
Is there a setting a simple modification that would enable this?https://lab.civicrm.org/extensions/stripe/-/issues/306Can't pay for event with more then one participant2021-05-10T18:46:42ZjamieCan't pay for event with more then one participantI'm running against the 6.6 (unreleased) branch.
When I register for a paid event, with more then one participant, when I click the "Review your registration button" the button greys out, but nothing else happens.
Judging from the cons...I'm running against the 6.6 (unreleased) branch.
When I register for a paid event, with more then one participant, when I click the "Review your registration button" the button greys out, but nothing else happens.
Judging from the console output, it looks like `getTotalAmount()` returns null (as programmed) but whatever is calling `getTotalAmount()` expects a number (or float).
![multiple-participant-event](/uploads/6981a200d761d6286827d88aa6941f32/multiple-participant-event.png)6.6https://lab.civicrm.org/extensions/stripe/-/issues/291Increase visibility of card details area2023-10-02T14:12:21ZAndy ClarkIncrease visibility of card details areaThe area where a donor enter card details is 'grey on grey' and is easily missed / hard to find on a mobile and tablet. In particular the words 'Card number' are very indistinct and appear as greyed. Can this be changed to something tha...The area where a donor enter card details is 'grey on grey' and is easily missed / hard to find on a mobile and tablet. In particular the words 'Card number' are very indistinct and appear as greyed. Can this be changed to something that is brighter and has more contrast? We're told that donors are confused about where to put card details as they don't easily see this area. Oddly, this doesn't seem to be so much of a problem on a laptop although it should show more distinctly. A screenshot showing the problem is attached. [phone](/uploads/2bb4d0259e40abe0520705be37437a70/phone.jpg)https://lab.civicrm.org/extensions/stripe/-/issues/287Duplicate donations2021-05-09T19:28:02ZlarynDuplicate donationsI have a site that just in the last few weeks has gotten a bunch of duplicate donations that is resulting in unhappy donors, bank disputes, and refunds being issued. Obviously not great for a small nonprofit... Anybody else seeing this? ...I have a site that just in the last few weeks has gotten a bunch of duplicate donations that is resulting in unhappy donors, bank disputes, and refunds being issued. Obviously not great for a small nonprofit... Anybody else seeing this? I'm trying to figure out if it's a matter of lag time and donors actually donating twice or some other issue.
It seems to correlate at least roughly to the most recent upgrade to _CiviCRM Stripe 6.5.5_.https://lab.civicrm.org/extensions/stripe/-/issues/280Certain cards are charged $50 more than the payment amount2023-10-02T14:15:16ZjohnkCertain cards are charged $50 more than the payment amountWe've had two contributions go through now, one was for $800 and got charged at $850. The other was for $20 and got charged $70.
When I view these in the Stripe dashboard, they look like this:
![Screen_Shot_2020-12-07_at_5.40.06_PM](/up...We've had two contributions go through now, one was for $800 and got charged at $850. The other was for $20 and got charged $70.
When I view these in the Stripe dashboard, they look like this:
![Screen_Shot_2020-12-07_at_5.40.06_PM](/uploads/7bb669afdad91ab3a6df45b540f712da/Screen_Shot_2020-12-07_at_5.40.06_PM.png)
The payment intent is created for an amount that has the extra $50, then it tries to update it but fails with the message, "this PaymentIntent's amount could not be updated because it has a status of requires_capture. You may only update the amount of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action."
There seems to be no trace of the higher amount in Civi, which is really quite bad. People noticed this on their statements and then contacted us.
In both of the cases we've had, the card was a Visa credit card issued by Chase Bank. What could be going on here?https://lab.civicrm.org/extensions/stripe/-/issues/279Auto-renew memberships fail on front-end with basic error screen on card expired2023-10-02T14:15:55Zian_stevensAuto-renew memberships fail on front-end with basic error screen on card expired> **Please contribute if you would like this issue to be fixed: [Funding link](https://www.mjwconsult.co.uk/en/civicrm/pcp/info/?reset=1&id=8).**
Hi,
thank you very much for your work on the extension.
**Auto-renew use case**
If a u...> **Please contribute if you would like this issue to be fixed: [Funding link](https://www.mjwconsult.co.uk/en/civicrm/pcp/info/?reset=1&id=8).**
Hi,
thank you very much for your work on the extension.
**Auto-renew use case**
If a user selects a membership type with auto-renew but uses an expired card they see:
"_Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
Your card has expired.
Return to home page."_ and cannot move forward to complete their sign-up. A contact, membership (status new) and contribution (in progress) are created which means they can't simply have another go. Instead they must login and choose renew but they have no idea that they should do this.
![Screenshot_20201201_124147](/uploads/c179eaad041cd225759f4e4d4537a77c/Screenshot_20201201_124147.png)
**Non-auto-renew use case**
Compare with user-flow for non auto-renew types. In this scenario the user sees an error message under the card number "card expired" and they know what to do.
We can re-create this issue at will.
Civi: ESR 5.27.7
Wordpress: 5.5.3
OS/php Buster/7.3
Many thanks for your time in reading this issue.https://lab.civicrm.org/extensions/stripe/-/issues/265Webhook invoice.payment_succeeded event response 500 (Internal Server Error)2020-10-24T09:54:41ZjagjeetjWebhook invoice.payment_succeeded event response 500 (Internal Server Error)I have recently updated 6.5.1. After upgrade extension one time donation is working properly. But Recurring payment is showing Pending (Incomplete Transaction). And also stripe webhook logs is showing event type "invoice.payment_succeede...I have recently updated 6.5.1. After upgrade extension one time donation is working properly. But Recurring payment is showing Pending (Incomplete Transaction). And also stripe webhook logs is showing event type "invoice.payment_succeeded" 500 internal server Error.
I am using Stripe: 6.5.1, Mjwshared: 0.9.4 and Php: 7.2.24.6.5https://lab.civicrm.org/extensions/stripe/-/issues/256Can't submit contribution online form for 0 amount2021-05-09T19:13:55ZPradeep Nayakpradpnayak@gmail.comCan't submit contribution online form for 0 amountI have a membership with 0 fees and profile with some required fields. On Main page i fill in all the required fields and select 0 fee option and click review contribution button. On Confirmation screen the profile section is blank again...I have a membership with 0 fees and profile with some required fields. On Main page i fill in all the required fields and select 0 fee option and click review contribution button. On Confirmation screen the profile section is blank against the fields. When submitting it throws validation error as required.
Running 6.5.3 on civi 5.28
Could also replicate on dmaster.
Note from MJW: Could reproduce this on contribution page when Membership fee is 0 and confirmation page is enabled.