I did have a look around already but thus far without much luck.

We recently turned off the 'Email Receipt to Contributor?' option on a membership join page. I did check the ContributionPage settings and they show that the 'is_email_receipt' is off:

"values": [
        "id": "5",
        "title": "Join xxx",
        "is_email_receipt": "0"

However new members joining are added as

 "contact_id": "14971",
    "currency": "EUR",
    "contribution_recur_id": "4696",
    "receive_date": "2020-07-06 00:51:41",
    "contribution_source": "Join xxx"

  "id": "4696",
        "contact_id": "14971",
        "amount": "10.00",
        "currency": "EUR",
        "frequency_unit": "year",
        "frequency_interval": "1",
        "start_date": "2020-07-06 00:51:38",
        "is_email_receipt": "1",**
        "contribution_type_id": "2",

Now I appreciate that for contacts that joined before switching off the receipts I would have to update the 'civicrm_contribution_recur' table to stop those but I cannot find a reason why new contacts are still being added with the "is_email_receipt": "1"

We use Stripe as the payment processor and the 'Allow Stripe to send a receipt for one-off payments?' for settings is disabled.

We are also using the nz.co.fuzion.transactional extension so I can see the receipt that goes out on the contact record (the Civi one).

Can anyone shed some light for me?

Civi 5.24.4/Drupal 7

Thank you!

  • Some payment processors also control that setting - notably Stripe. Could you edit your question to include your payment processor? Commented Jul 16, 2020 at 23:29
  • Done that - thank you! Commented Jul 17, 2020 at 7:53

1 Answer 1


I'm looking right at the relevant line in the Stripe extension and I'm not seeing how to arrive in the state you're in.

The relevant line is in api/v3/StripeSubscription.php and reads:

    'is_email_receipt' => !empty($params['is_email_receipt']) ? 1 : 0,

Since 0 is considered "empty" in the line above, you should never have is_email_receipt set to 1 on your recurring contributions. I recommend placing debug statements above and below that line to ensure that a) this code is the correct code to look at, b) the values line up with what's expected.

  • Thank you Jon. Will do some more checking. Commented Jul 19, 2020 at 16:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.