Rock
Rock copied to clipboard
Transaction Summary Not Being Sent to NMI For Internal Event Registration
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
-
Using Tools | Event Registration, add a person to a Registration instance that has payment and then process their payment.
-
Enter something (like the Event name) in the Summary field
-
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 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.
@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 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?
...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 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 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 Thank you!