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

Rejected credit card contribution causes non-recoverable error

    Details

    • Type: Bug
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Fixed/Completed
    • Affects Version/s: 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6
    • Fix Version/s: None
    • Component/s: CiviContribute
    • Labels:
      None

      Description

      Create a contribution page that includes a profile with custom membership data.

      Use the contribution page to submit a credit card contribution that causes the credit card to be rejected by the payment processor (eg, invalid payment processor settings).

      Sorry. A non-recoverable error has occurred.
      One of parameters (value: ) is not of the type Integer

      backTrace

      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\Error.php, backtrace, 270
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Utils\Type.php, fatal, 268
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\DAO.php, validate, 922
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\DAO.php, composeQuery, 859
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\BAO\CustomValueTable.php, executeQuery, 224
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\BAO\CustomValueTable.php, create, 322
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\BAO\CustomValueTable.php, store, 335
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Member\BAO\Membership.php, postProcess, 1149
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Contribute\Form\Contribution\Confirm.php, postProcessMembership, 583
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\Form.php, postProcess, 250
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\StateMachine.php, mainProcess, 167
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\QuickForm\Action\Next.php, perform, 64
      C:\xampp\htdocs\sites\all\modules\civicrm\packages\HTML\QuickForm\Controller.php, perform, 203
      C:\xampp\htdocs\sites\all\modules\civicrm\packages\HTML\QuickForm\Page.php, handle, 103
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\Controller.php, handle, 284
      C:\xampp\htdocs\sites\all\modules\civicrm\CRM\Core\Invoke.php, run, 219
      C:\xampp\htdocs\sites\all\modules\civicrm\drupal\civicrm.module, invoke, 355
      , civicrm_invoke,
      C:\xampp\htdocs\includes\menu.inc, call_user_func_array, 348
      C:\xampp\htdocs\index.php, menu_execute_active_handler, 18

      The problem is in CRM_Member_BAO_Membership::postProcessMembership( ) where CRM_Core_BAO_CustomValueTable::postProcess( ) is called before checking for a payment processor error, and a null membership ID is passed.

      I've attached a patch.

        Attachments

          Activity

            People

            • Assignee:
              lobo Donald A. Lobo
              Reporter:
              marty Marty Wright
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: