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

Contacts are still created from payment processor rejected contribution transactions

    Details

    • Type: Bug
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.1
    • Fix Version/s: Unscheduled
    • Component/s: CiviContribute
    • Labels:
      None

      Description

      Contribution transactions that are denied by the payment processor in 'direct' mode, return the user back to the Main contribution form with an error message.That is good, but in the backend a new contact record has been created as a result of the failed transaction which is not good. Since the transaction was not completed, it is not desirable to have a persistent addition of this likely bad data to the system.

      Recreate:
      1. Create a contribution page with a payment processor doing direct transactions.
      2. Complete the contribution forms, and force a bad transaction
      3. Observe that a contact record was created despite

      To test failures, I use the Visa test card '4012000033330026' with a hook in the payment processor that makes changes to the values when this card comes through (e.g. take 2 numbers off the end of the card).

      Desired behaviour would be to leave the database unchanged from a failed contribution transaction.

      • In the case of newly created contact, then the contact should be removed.
      • I haven't fully thought through the case of an existing user, but presumably any submitted values on the addresses or custom profiles should ony be saved If the contribution transaction is successful

        Attachments

          Activity

            People

            • Assignee:
              lobo Donald A. Lobo
              Reporter:
              chrism Chris Mott
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: