Payment without Email Address creates duplicate Contact

Created on 15 September 2020, almost 4 years ago
Updated 3 December 2023, 7 months ago

1.0 Problem/Motivation

Occurs when a Webform is used to create a Contact and make a Contribution to pay for a Membership, using an Immediate payment Payment Processor, such as Cash or Cheque, without giving an Email Address (e.g. as an offline administrator action). It seems likely that it could also apply to any other type of payment not requiring an Email address.

The effect is that two Contacts are created, the first being attached to the Contribution, and the second having the Membership. In more complicated cases the second is also connected to Relationships being set up at the same time, etc.

If an Email Address is specified on the webform, in addition to First and Last Names, then only one Contact is created, correctly.

2.0 Detailed steps to reproduce (embed screenshots)

  • Create a clone of the Base Payment Processor to record a Cash or cheque payment. (File attached)
  • Create a new Contact with a Membership, requiring payment. Do not specify an Email address.
  • Duplicate Contacts are created as described.

3.0 Proposed resolution

See Pull Request https://github.com/colemanw/webform_civicrm/pull/318

This also contains an explanation of the mechanism that appears to be causing this problem.

πŸ› Bug report
Status

Closed: cannot reproduce

Version

5.0

Component

Code

Created by

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

No activities found.

Production build 0.69.0 2024