Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-14354

Additional gift breaks ARB (auto-renewing) memberships

    Details

      Description

      The normal behavior should be that the amount for the membership should be set to renew periodically, while the additional gift is treated as a one-time gift.

      The bug has two manifestations.

      If "separate membership payment" is checked in the contribution page config, then the "additional amount" gift recurs and membership fee is charged just once. In the database, it looks something like this:

      1. the wrong line item ends up in civicrm_contribution_recur
      2. in the civicrm_contribution table, the additional gift line-item rather than the membership fee has its contribution_recur_id field populated
      3. in civicrm_membership, the contribution_recur_id of the membership record is correctly populated, but the linked record is inaccurate (per item 1)

      If the box isn't checked, then the sum (additional gift + membership fee) recurs. I posit that when a user checks the box to authorize auto-renewal of memberships, she doesn't expect that the additional gift would also recur. It's a one-time gift.

      Currently, recurrence is modeled in the civicrm_contribution table. To handle recurrence properly in the second case, we could:

      • record separate payments despite the contribution page setting;
      • change our recurrence model;
      • always separate payments and do away with the "separate membership payment" option altogether.

      Joe Murray also suggested taking a look at payment processor plugin interface to support trial periods or initial payments for memberships.

        Attachments

          Activity

            People

            • Assignee:
              kurund Kurund Jalmi
              Reporter:
              pittstains Frank J. Gómez
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: