Page MenuHomePhabricator

Display Gravy reconciliation ID in CiviCRM
Closed, ResolvedPublic

Description

Gravy uses base62 (not 64) encoding to convert its UUID-style transaction IDs to a shorter reconciliation ID. They send the reconciliation ID as the merchant ID to the backend processors.

To make it easier for donor services and payments folks to have one ID linking the payment in all three places—CiviCRM, Gravy console, and the backend processor console—we're going to use the existing Gravy transaction ID to generate and display the reconciliation ID on the fly in CiviCRM under the existing contribution_extra data.

We should probably add some indication that the field is dynamically generated to save our future selves from scratching our heads as to why we can't find it in the database.

Gravy said they are going to send over more info on the encoding. @Ejegg also found this https://medium.com/@huntie/representing-a-uuid-as-a-base-62-hash-id-for-short-pretty-urls-c30e66bf35f9

Event Timeline

jgleeson updated the task description. (Show Details)
jgleeson added a subscriber: Ejegg.

Ideally this can be done during email blackout period we're proposing October 9-14

  • in advance of our 1hr test

Change #1082062 had a related patch set uploaded (by Jgleeson; author: Jgleeson):

[wikimedia/fundraising/SmashPig@master] Capture Payment Orchestrator Reconciliation ID.

https://gerrit.wikimedia.org/r/1082062

Change #1082064 had a related patch set uploaded (by Jgleeson; author: Jgleeson):

[wikimedia/fundraising/crm@master] Add new Payment Orchestrator Reconciliation ID field.

https://gerrit.wikimedia.org/r/1082064

Change #1082062 merged by jenkins-bot:

[wikimedia/fundraising/SmashPig@master] Capture Payment Orchestrator Reconciliation ID.

https://gerrit.wikimedia.org/r/1082062

Change #1082810 had a related patch set uploaded (by Jgleeson; author: Jgleeson):

[wikimedia/fundraising/SmashPig@master] Make setPaymentOrchestratorReconciliationId() support Fluent API

https://gerrit.wikimedia.org/r/1082810

Change #1082064 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Add new Payment Orchestrator Reconciliation ID field.

https://gerrit.wikimedia.org/r/1082064

Change #1082810 merged by jenkins-bot:

[wikimedia/fundraising/SmashPig@master] Make setPaymentOrchestratorReconciliationId() support Fluent API

https://gerrit.wikimedia.org/r/1082810

Change #1083846 had a related patch set uploaded (by Jgleeson; author: Jgleeson):

[mediawiki/extensions/DonationInterface@master] Add Payment Orchestrator Reconciliation ID to gravy queue messages

https://gerrit.wikimedia.org/r/1083846

Change #1083846 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Add Payment Orchestrator Reconciliation ID to gravy queue messages

https://gerrit.wikimedia.org/r/1083846

Change #1084237 had a related patch set uploaded (by Eileen; author: Eileen):

[wikimedia/fundraising/crm@master] Temporarily comment out new field

https://gerrit.wikimedia.org/r/1084237

Change #1084237 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Temporarily comment out new field

https://gerrit.wikimedia.org/r/1084237

XenoRyet set Final Story Points to 4.