Rock icon indicating copy to clipboard operation
Rock copied to clipboard

Transaction Summary Not Being Sent to NMI For Internal Event Registration

Open JimMichael opened this issue 2 years ago • 1 comments

Description

When completing an Event Registration (with payment) via the public website block, the subsequent transaction's Summary field is populated with the name of the Registration Instance, which then gets passed onto the gateway (NMI in our case) and can be seen in downloaded reports, etc at the gateway as part of the transaction.

However, this does NOT happen when the same Event Registration (and payment) is performed via the Internal Rock | Tools | Event Registration blocks.

Steps to Reproduce

  1. Using Tools | Event Registration, add a person to a Registration instance that has payment and then process their payment.

  2. Enter something (like the Event name) in the Summary field image

  3. Find the transaction in the NMI gateway, export it to Excel, and observe that the orderdescription column is not populated with your summary OR the instance name, but other transactions that were performed via the public Event Registration block do have this column populated with the instance name.

Expected behavior:

Either the manually-entered summary on "internal" registrations should be sent to the gateway as part of the transaction, OR the Instance name should be sent just like it is when done via the public block. We're not sure which is more correct.

Actual behavior:

Neither manually-entered Summary or Instance Name info on event registrations performed via the internal Rock blocks make it to the payment gateway, making reconciliation more difficult because such transactions have no context.

Versions

  • Rock Version: 12.4+

JimMichael avatar May 03 '22 16:05 JimMichael

@JimMichael We were having this same problem with people giving to "Fundraising Groups". We paid to get this fixed and updated but I'm not sure if it's been rolled out yet. I'm not sure if our fix will also fix the Registration Bug that you are seeing.

adamhann avatar Sep 06 '22 13:09 adamhann

@JimMichael We agree that this made it a little tough to track transactions between your gateway and Rock, so we've updated the behavior of the internal block in ~v15.1~ v15.0. It will now combine the payment comment (the one that gets sent to the gateway) with the user comment (the one entered on the block) into the transaction summary field. The payment comment will be the first part.

@adamhann I'm not familiar with the related issue you mentioned, but this update is specific to registrations processed using the "Registration Detail" block which is intended for use on the internal/admin site.

shauncummings avatar Apr 10 '23 12:04 shauncummings

@shauncummings I'm not sure if I should submit a new issue, but I'm seeing something similar-yet-different to Jim's issue (mine is more in line with @adamhann's comment). Prior to v13 when someone donated to a fundraising group the transaction summary would include something like "Fundraising ID: 187 Dominican Republic Missions Contributions" but post upgrade we're getting an exception in the summary: Fundraising ID: Liquid syntax error: Object 'RockWeb.Blocks.Finance.TransactionEntry+AccountItem' is invalid because it is neither a built-in type nor implements ILiquidizable Liquid syntax error: Object 'RockWeb.Blocks.Finance.TransactionEntry+AccountItem' is invalid because it is neither a built-in type nor implements ILiquidizable

We had KFS look into it and they said it seems it is not a valid object to iterate through like it was prior to v13. Is this different enough to submit as a new issue?

jennifertroeger avatar Apr 18 '23 19:04 jennifertroeger

...Prior to v13 when someone donated to a fundraising group the transaction summary would include something like "Fundraising ID: 187 Dominican Republic Missions Contributions" but post upgrade we're getting an exception in the summary: Fundraising ID: Liquid syntax error: Object 'RockWeb.Blocks.Finance.TransactionEntry+AccountItem' is invalid because it is neither a built-in type nor implements ILiquidizable Liquid syntax error: Object 'RockWeb.Blocks.Finance.TransactionEntry+AccountItem' is invalid because it is neither a built-in type nor implements ILiquidizable

Thanks @jennifertroeger Is your Rock instance using the DotLiquid or Fluid engine? And, can you provide us with the Lava templates you have configured for use with that block on that page? It sounds like there might be a Lava object that is not implemented quite correctly.

nairdo avatar Apr 19 '23 18:04 nairdo

@nairdo We are running DotLiquid with Fluid Verification. This is the lava: Fundraising ID: {% for account in TransactionAccountDetails %}{{ account.Id }} {{ account.Name }}{% endfor %}; DotLiquid generates the exception, Fluid just doesn't display anything.

jennifertroeger avatar Apr 20 '23 13:04 jennifertroeger

@jennifertroeger That will also be resolved in v15.0 (and/or any future v14.x releases starting with v14.3).

https://github.com/SparkDevNetwork/Rock/commit/9fd2e9bfa2946f3f0e951ffa94a53e0b58dfa524

shauncummings avatar Apr 20 '23 18:04 shauncummings

@shauncummings Thank you!

jennifertroeger avatar Apr 20 '23 18:04 jennifertroeger