Synchronizing Transaction Data

Luminate Online Web Services provides download synchronization of transaction data for the following transaction types from Luminate Online to the external system:

  • Action Alert Responses
  • Donations
  • Personal Fundraising Gifts
  • Product Orders
  • TeamRaiser Gifts
  • TeamRaiser Registrations
  • Ticket Purchases
  • Refunds

As with Constituent data, transaction data is accessed within an active synchronization session. Unlike Constituent data, transaction data supports download synchronization only; data cannot be uploaded from the external system to Luminate Online. Additional data associated with transactions may be retrieved using the Query or Find operations.

Synchronizing Action Alert Responses

The ActionAlertResponse type supports the GetIncrementalInserts operation to return the list of Action Alerts taken by constituents during the synchronization window. The Response records contain AlertId fields which can be used with the Query or Find operation to retrieve information about the Action Alert.

Synchronizing Gifts and Purchases

The DonationPersonalFundraisingGiftProductOrderTeamRaiserGiftTeamRaiserRegistration, and TicketPurchase transaction types support GetIncrementalInsertsGetIncrementalUpdates, and GetIncrementalDeletes.

Associated types can be retrieved using Query or Find operations to retrieve additional information about these transactions.

Types associated with Donation records include DonationCampaignDonationForm, and DonationLevel.

The PersonalFundraisingCampaign type is associated with PersonalFundraisingGift records.

ShipmentItem and Product types are be associated with ProductOrder transactions. See Product Orders for additional information.

Types associated with TeamRaiserGift and TeamRaiserRegistration records include TeamRasierEventTeamRaiserCompanyTeamRaiserParticipationType and TeamRaiserTeam.

TicketPurchase records are associated with CalendarEvent types.

Discount records may be associated with Payment transactions applied to any of these transaction types.

Synchronizing Refunds

Refunds for Luminate Online financial transactions have two primary characteristics:

  1. Online vs. offline Online refunds are processed by Luminate Online, by issuing a credit through the Luminate Online payment gateway back to the same card used to make the donation. Offline refunds are recorded in Luminate Online but processed by external means, such as sending a check to the donor in the mail.
  2. Partial vs. full A partial refund reduces the amount of the original donation. A partial refund updates the amount in the original donation record. In contrast, a full refund deletes the original donation record entirely. A copy of the deleted donation record is saved for auditing purposes.

All four combinations of online vs. offline and partial vs. full refunds are available to client administrators using the donation management console. Administrators may issue multiple partial refunds for a single donation. They may also refund the full remaining amount after issuing one or more partial refunds. The system creates a new "refund transaction" for each online refund event; as described below, the amount of all offline refunds can be inferred by comparing the current amount with the original amount.

Partial refunds

The GetIncrementalInserts and GetIncrementalUpdates operations may include financial transactions that have been partially refunded. The GetIncrementalInserts operation may include transactions that were both created and partially refunded during the active synchronization window. The GetIncrementalUpdatesoperation may include transactions that were created prior to the start of the active synchronization window, and then partially refunded during the window.

If a partial refund has occurred, then the OriginalAmount field will show how much the donor originally paid, while the Amountfield shows the current amount after all online and offline partial refunds have been applied. Donations that have not been partially refunded have a value of zero for OriginalAmountfield.

Full refunds

The GetIncrementalDeletes operation includes financial transactions that have been fully refunded. The Amount field indicates shows how much was refunded. Note that this may be less than the value of the original transaction if a partial refund was issued first.

Note: You can access full refunds by calling the GetIncrementalInserts operation with a type of Refund.

Retrieving refund details

Financial transaction records downloaded with the GetIncrementalInsertsGetIncrementalUpdates and GetIncrementalDeletes operations only provide a "before and after" view of refund information. A financial transaction record itself does not include details about the date, amount and other processing details for each refund (either partial or full) that administrators may have applied.

To obtain additional details about refunds that occurred during the synchronization window, you can use the GetIncrementalInserts operation to retrieve records of type Refund. Each Refund record provides complete processing details for a single partial or full refund, and includes an OriginalTransactionId field so that you relate the refund back to a donation or other financial transaction. A single financial transaction may be associated with multiple refunds. Note that Refund records are only available for online refunds at this time; you can infer an offline refund if the sum of all online refunds does not add up to the difference between the Amount and the OriginalAmount on a financial transaction.

It is also possible to use the Query operation to retrieve the full set of refund records for a particular financial transaction, regardless of date:

  select RefundId, Payment from Refund where OriginalTransactionId = [insert a transaction ID here]

When using this approach, care must be taken to avoid recognizing the same refund multiple times. In most cases it will be more convenient to use GetIncrementalInserts to only retrieve the refunds that have occurred during the active synchronization window.

Leave a Comment

Nickname
Comment
Enter this word: