In This Article:

    The "recurring_donation" object

    In This Article:

      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.


      Field Type Notes
      recurring_donation_KEY int(16) Primary key assigned by Salsa
      organization_KEY int(16)  Organization key
      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".
      Transaction_Date timestamp Date transaction actually occurred.  See "Format notes".
      RPREF varchar(32) Returned by the gateway for a successful donation
      TRXPNREF varchar(32)  
      RESULT int(18)

       0: Online donation
      -1: Offline donation
      Other: Error.  Donation failed.

      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
      PAYPERIOD enum
      WEEK Payments made weekly
      MONT Payments made monthly
      QTER Payments made quarterly (every three months)
      SMYR Payments made semi-annually (every six months)
      YEAR Payments made annually
      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="
      Designation_Code varchar(128) Client-provided code
      Email varchar(128) Donor email address
      First_Name varchar(64) Donor first name
      Last_Name varchar(64) Donor last name
      Tax_Status enum


      Note text  
      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.
      current_reference_donation_KEY int(16) (Unknown)
      run_one_transaction tinyint(1) (Unknown)
      donate_page_KEY int(16) Donation page used to start the donation
      cc_type enum
      visa VISA
      mc MasterCard
      amex American Express
      paypal PayPal, only available with PayflowPro
      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.


      Format 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).


      1. 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.
      2. 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.
      3. Salsa does not allow CVV2 numbers to be saved in a donation record.
      4. See the table for other field-related notes.


      This is a sketch of the most common relationships to the donation and recurring_donation tables.

      Was this article helpful?
      0 out of 0 found this helpful
      Have more questions? Submit a request



      Please sign in to leave a comment.