3

We're on Civi 4.6.21 and Drupal 7. We use Authorize.net for payment processing.

Error messages from Authorize are displayed in civicrm_system_log in the context field as json encoded data. The error messages are useful for determining exactly why a transaction failed - a card was declined, the billing address info is wrong (an "AVS mismatch") or other reason.

I'd like to be able to see the error message info in the Civi interface, without having to go in to the back end MySQL table - civicrm_system_log - as I do now.

There is a way to see the system_log data using the API - see the screenshot below.screenshot

I want to be able to include the error message info in assigned Activities to renew a membership, ideally using a rule created using CiviRules as part of a membership renewal workflow, and for the assigned caller to be able to easily see exactly why the previous transaction did not go through - the card was declined, the billing address is wrong, etc - and to get the correct info from the target/member.

So how can I do this?

2
+100

I might be on deep water here, but I would propose this workflow:

  1. You create a new CiviRules trigger to trigger on System_log created. That would probably be as simple(?!) as to copy another trigger like Contact created or Contribution created, and replace the values with details on system_log.

  2. You have a condition on field value comparison for a value in system_log that is unique for failed Authorize.net-payments.

  3. Action is to schedule an activity to the appropriate staff member, and include in the activity detail the URL for the API Explorer site, filled in with tokens to show the value for the corresponding system_log (the same way as checksum is used)

  • Thanks Flying, I'm checking that out. Have not had a chance to take a stab at this - "You create a new CiviRules trigger to trigger on System_log created. That would probably be as simple(?!) as to copy another trigger like Contact created or Contribution created, and replace the values with details on system_log." – Joe McLaughlin Oct 11 '16 at 20:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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