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

More than one payment processor instance of one class breaks IPN.

    Details

    • Type: Bug
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Fixed/Completed
    • Affects Version/s: 4.3.3
    • Fix Version/s: 4.4.0
    • Component/s: CiviContribute
    • Labels:
      None

      Description

      A payment extension provides a payment class (deriving from CRM_Core_Payment) identified by a payment method name.

      On IPN requests, the following static method is always called:
      CRM_Core_Payment::handleIPN(), which calls
      CRM_Core_Payment::handlePaymentMethod().
      The latter fetches the payment processor by civicrm_payment_processor_type.name.

      If two payment processor instances exist in the database for the same processor type, then this will be ambiguous, and CiviCRM will likely load the wrong processor instance.
      Result: The IPN fails.

        Attachments

          Activity

            People

            • Assignee:
              kurund Kurund Jalmi
              Reporter:
              donquixote Andreas Hennings
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: