A recurring donation is a contract between a donor and a Salsa client. The contract says that the donor will make a number of payments of a set amount. The number of payments can be fixed ("6 months") or open ended ("forever or until the credit card expires")
The "recurring_donation record is stored in the database to describe an ongoing recurring donation contract. It lays out the terms of the contract, who the donor is and information from the merchant gateway.
Each recurring donation is associated with one or more payment donations. The payment donations are collected by merchant gateways. In most cases, the payment information is transmitted to Salsa. Salsa derives the recurring_donation_KEY from that information, then uses the key to link donations to Salsa.
You can click here to see the list of supported merchant gateways and their ability to transmit payment donation information to Salsa.
- Salsa does not process a credit card transaction via the API. That means that creating forms on other websites to save donations records to Salsa will *just* save records.
- Salsa does not allow full credit card numbers to be saved in a donation record. Salsa itself only saves first four and last four purely for identification reasons.
- Salsa does not allow CVV2 numbers to be saved in a donation record.
- See the table for other field-related notes.
- Salsa timestamps are encoded as "YYYY-MM-DD HH:MM:SS", where all elements are numeric and "HH" is on a 24 hour clock.
- Salsa timestamps are in the "America/NewYork" timezone (GMT-5), aka Eastern Standard Time (EST).
|recurring_donation_KEY||int(16)||Primary key assigned by Salsa|
|chapter_KEY||int(16)||Chapter key. Null if there's no chapter|
|supporter_KEY||int(16)||Supporter key for the supporter making the donation|
|donation_KEY||int(16)||Primary key of the donation used to start the recurring series|
|merchant_account_KEY||int(16)||Primary key for the merchant gateway|
|Last_Modified||timestamp||Timestamp for last modification. Updated by Salsa on any update to the record. See "Format notes" (above)|
|Transaction_Date||timestamp||Date transaction actually occurred. See "Format notes" (above)|
|RPREF||varchar(32)||Returned by the gateway for a successful donation|
0: Online donation
|PROFILEID||varchar(64)||Recurring donation profile issued by the gateway|
|RESPMSG||varchar(255)||Response returned from the gateway. Will contain an error message (e.g. 'Declined') if the transaction fails.|
|amount||float(10,2)||Number of dollars. Positive is a deposit to the client. Negative is a refund from the client.|
|Start_Date||date||Date of the first recurring payment attempt|
|TERM||int(16)||Number of payments. 9999 means forever or until the credit card expires.|
|Tracking_Code||varchar(64)||Client provided code, can be modified in the URL by adding "track="|
|varchar(128)||Donor email address|
|First_Name||varchar(64)||Donor first name|
|Last_Name||varchar(64)||Donor last name|
|Error_Message||text||An error message, generally more information provided by some gateways.|
|source_donation_KEY||int(16)||The primary key of the donation that caused the recurring donation.|
|donate_page_KEY||int(16)||Donation page used to start the donation|
|Credit_Card_Expiration||varchar(5)||Date as MM/YYYY|
|In_Honor_Name||varchar(128)||In honor of name. From original donation|
|In_Honor_Email||varchar(128)||In honor of email. From original donation.|
|In_Honor_Address||text||In honor of address. From original|
|In_Memory_Name||varchar(128)||In menory of name. From original donation|
|Donation_Tracking_Code||varchar(64)||The tracking code that's applied to recurring donations if a Tracking_Code (above) does not exist.|
|Employer||varchar(64)||Donor's employer, may be required by some merchant gateways.|
|Occupation||varchar(64)||Donor's occupation, may be required by some merchant gateways.|
|VARCHAR0||varchar(64)||Free space available to the client. Salsa doesn't modify VARCHAR0.|
|VARCHAR1||varchar(64)||Free space available to the client. Salsa doesn't modify VARCHAR1.|
|VARCHAR2||varchar(64)||Free space available to the client. Salsa doesn't modify VARCHAR2.|
This is a sketch of the most common relationships to the donation and recurring_donation tables.