Fundraising tech/Transaction IDs

From MediaWiki.org
Jump to navigation Jump to search

Each financial transaction has IDs associated, with a range of targets and granularities.

ID Abbreviation Target Granularity Description
Contribution Tracking ID CTID contribution_tracking.id per session This is the largest granularity association, and spans all attempts made by this donor until we cut them off for being frustrating.

Ingenico: also at transaction.Merchant Reference

CiviCRM Contribution ID civicrm_contribution.id per completed payment The local CRM ID, only assigned once a donation is recorded in our system. You can search for this ID (and the Contact ID) in the quicksearch box in the top-left corner of the page.
CiviCRM Transaction ID civicrm_contribution.trxn_id per completed payment This is another CRM local ID, usually based on the gateway name, gateway transaction ID and a timestamp or other sequence fields when necessary to guarantee uniqueness.
Gateway Transaction ID wmf_contribution_extra.gateway_txn_id depends on gateway Processor's ID for this transaction. This has different meanings depending on the processor (see below).

Ingenico Order ID

GLOBALCOLLECT Recurring payments share the same Order ID, so we append the Effort ID when creating a local Transaction ID.

PayPal Transaction ID

PAYPAL

Adyen ...

Amazon ...

AstroPay ...

Worldpay

Recurring? RECURRING ... Term in civicrm_contribution.trxn_id N/A This is a flag in trxn_id to let us know that payments are part of a subscription.
Refund? RFD ... Term in civicrm_contribution.trxn_id N/A Flag to let us know that the payment was a refund. TODO: document how refunds are linked in Civi 4.6
Gateway Subscription ID FIXME: Start a custom table for this, or make the trxn_id transformation reversible?
CiviCRM Recurring Contribution ID civicrm_contribution_recur.id Foreign key for civicrm_contribution.contribution_recur_id
CiviCRM Subscription ID civicrm_contribution_recur.trxn_id We make a unique key from the Gateway Subscription ID, usually by prefixing with the gateway name, but this hasn't been standardized yet.