Drupal 7 Civi 4.6.15

How do we manage this workflow?

  1. Participant registers for event using discount code, pays $0.
  2. Calls, wants to add non-free items to registration, we edit the Registration and add them.
  3. Registration now says $250 with status payment pending

How do we apply a new credit card charge to this changed registration? On the backend it lets us enter credit card payment details, but doesn't let us charge it, AFAIK.

We are also having similar issue seen here: Having issues with recording new payments for registrations paid with credit cards

If we mark the registration as 'Partially Paid', then try to record payment, Civi error spits out in log

Notice: Undefined variable: paymentVal in CRM_Core_BAO_FinancialTrxn::getPartialPaymentWithType()

How can we actually charge the card when editing the registration?

  • Can you clarify: You are able to charge the participant $250 but that's not the correct amount, or are you unable to charge the participant the $250 and that's the issue?
    – naomisl
    Aug 3, 2016 at 20:00
  • #2. Their event registration went through for $0 because it was completely discounted. When we edited their registration after the fact, and added some price set options, it added $250 to the related contribution with a 'Pending - Pay Later' status. We are not sure how to to charge a credit card using the backoffice interface in a way that will link the event/contribution together correctly. We can edit the event registration/contribution and record a payment note, but it doesn't actively process the card like the 'submit credit card contribution' feature. Hope this helps.
    – Zachary
    Aug 3, 2016 at 21:36
  • 1
    what payment processor are you using? Aug 4, 2016 at 8:31
  • Paypal Website Payment Pro. Also, to clarify, when I say it "does not let us charge", I mean there is no interface presented to enter in credit card details and submit a charge, when editing the event registration. Where would we do this?
    – Zachary
    Aug 5, 2016 at 18:09
  • Can you just cancel their registration and then use the registration form to reregister in their name and use their credit card?
    – petednz - fuzion
    Aug 7, 2016 at 6:32

2 Answers 2


Your use case is quite valid, however, the assumption that once a contribution has been marked as completed, there should be no need for further payment processing, and, AFAIK, is meant to preserve data integrity. That said, aside from what Pete suggested, the only other way I can think of would be for you to charge the amount due directly via your payment processor portal (i.e. outside of Civi), and then update the pending contribution to a status of completed and include the transaction ID for good measure. In this way, your event income reporting will remain accurate without having to cancel the participant registration and re-record it.

Hope this helps! Tamar

  • Couldn't there be multiple payments applied against an event registration instead of just one?
    – Zachary
    Aug 14, 2016 at 22:54
  • 1
    Unfortunately this is currently only possible for back office registrations that are initially created as partially paid, but that won't suit your use case. I agree, it would be useful, but it would be considered an enhancement that would either require funding for the core team to do or code could be contributed - I am not a developer so unfortunately I can't be of further service in this regards. Good luck! Aug 15, 2016 at 0:04

One option would be to delete their initial registration, then use the public registration form either Incognito or the 'register as other' and submit their new registration with their credit card payment.

  • I appreciate the answer, but this is really not a logical workflow in the end, while it may be the only solution currently.
    – Zachary
    Aug 13, 2016 at 0:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.