This method records offline donations (that were already processed by an external payment processor) into Luminate Online.
This method does not process donation transactions.
Client Servlet | Server Servlet | HTTP Methods Supported | Requires Authentication |
---|---|---|---|
None. | SRDonationAPI | POST | No. |
The addOfflineDonation method allows offline donations (meaning transactions that are processed by an external payment processor) to be recorded in Luminate Online.
The refundOfflineDonation method may be used to refund transactions logged through this API.
In a typical use case, a third-party payment service provider might use this API to notify Luminate Online of donation and refund transactions on behalf of a client. Because the same third-third party service provider may implement this API for multiple clients, clients should strictly limit the permissions of the API Administrator account that has access to this API.
API Administrator accounts that access this API must be assigned the Offline Donation API permission type, under which they may be granted permission either to "Add Offline Donations via API" or to "Add and Refund Offline Donations via API". You should grant these accounts only the minimum required permissions.
All donation methods must reference a shadow Donation Form on the Luminate Online web site. This shadow form is used to perform validation and to associate donations with the appropriate fundraising Campaign. The ID of this shadow Donation Form is passed in the required form_id parameter. The Donation Form must be designated as either online/offline or offline-only. The API also requires the ID of the appropriate Donation Level in the level_id parameter.
Designated Giving
The Designated Giving feature in Online Giving allows you to set up Designees within your organization and then assign all funds from a donation form to a specific designee or permit your donors to specify which Designee(s) they would like to target with their gifts. To use this feature, you must first set up your list of Designees and Designation Types. Designation Types help organize your designees for display to your donors. For example, an educational institution might create the following Designation Types: Academic, Athletic, and Administrative. Individual designees, such as the football program or the biology department, can then be assigned to the appropriate Type.
To get the designation types and designees to use for a form, call the getDesignationTypes and getDesignees methods. To specify designations for a donation, use the designated.X.id and designated.X.amount parameters, substituting numbers for the "X" part of the parameter names to identify ID and amount pairs (the numbers do not need to be sequential). To specify "write-in" designations, use the designated_write_in.X.name, designated_write_in.X.contact, and designated_write_in.X.amount parameters.
Donation Errors
If the call to the API succeeds but one or more errors are encountered during transaction processing, adonationResponseobject will be returned listing reasons for the error. To correlate with the standard donation form processing,pageErrorelements in the response are the same messages that would be displayed near the top of the page and are sometimes generic. ThefieldErrorelements in the response are the same messages that would be displayed near input fields throughout the page and are always specific to the validation of input for an input field.
Error Responses
For common API errors such as authentication errors, the common error response is returned. An XML example:
<errorResponse xmlns="http://convio.com/crm/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://convio.com/crm/v1.0 http://service.convio.net/xmlschema/crm.public.v1.xsd"> <code>2</code> <message>Incorrect API key. Verify that the value of the parameter api_key matches the value of the SDP CONVIO_API_KEY.</message> </errorResponse>
A JSON example:
{"errorResponse":{ "code": "2", "message": "Incorrect API key. Verify that the value of the parameter api_key matches the value of the SDP CONVIO_API_KEY.", }}
For donation-specific errors, the "donationResponse" is returned and contains a list of the error messages. An XML example:
<donationResponse xmlns="http://convio.com/crm/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://convio.com/crm/v1.0 http://service.convio.net/xmlschema/crm.public.v1.xsd"> <errors> <code>101</code> <message>Error: There was a problem encountered while processing your donation.</message> <reason>FIELD_VALIDATION</reason> <pageError>There was a problem processing your request. Please see below.</pageError> <fieldError>An email address is required.</fieldError> <fieldError>Billing state or province is required.</fieldError> <fieldError>Billing last name is required.</fieldError> <fieldError>Billing zip or postal code is required.</fieldError> <fieldError>Billing street address is required.</fieldError> <fieldError>Billing first name is required.</fieldError> <fieldError>Billing city is required.</fieldError> </errors> </donationResponse>
A JSON example:
{"donationResponse": {"errors": {"code":"101", "reason":"FIELD_VALIDATION", "message":"Error: There was a problem encountered while processing your donation.", "fieldError":["An email address is required.", "Billing state or province is required.", "Billing last name is required.", "Billing zip or postal code is required.", "Billing street address is required.", "Billing first name is required.", "Billing city is required."], "pageError":"There was a problem processing your request. Please see below."} } }
See topic Common Parameters.
Required. The billing name of the credit card owner. If not supplied, defaults to donor.name.first.
Type xsd:string.
Required. The billing name of the credit card owner. If not supplied, defaults to donor.name.last.
Type xsd:string.
Required. The donor's email address.
Type xsd:string.
Required. The ID of the donation form.
Type xsd:nonNegativeInteger.
Required. The ID of the donation level.
Type xsd:nonNegativeInteger.
Required. Payment method for this offline transaction
Type xsd:string.
Default is cash.
Optional. Donation amount in addition to level amount.
Type xsd:string.
Optional. Whether to mark the donation as "anonymous".
Type xsd:boolean.
Optional. The billing address of the credit card owner. If not supplied, defaults to donor.address.city.
Type xsd:string.
Optional. The billing address of the credit card owner.
Type xsd:string.
Optional. The billing address of the credit card owner.
Type xsd:string.
Optional. The billing address of the credit card owner. If not supplied, defaults to donor.address.state.
Type xsd:string.
Optional. The billing address of the credit card owner. If not supplied, defaults to donor.address.street1.
Type xsd:string.
Optional. The billing address of the credit card owner.
Type xsd:string.
Optional. The billing address of the credit card owner.
Type xsd:string.
Optional. The billing address of the credit card owner. If not supplied, defaults to donor.address.zip.
Type xsd:string.
Optional. The billing name of the credit card owner.
Type xsd:string.
Optional. The billing name of the credit card owner.
Type xsd:string.
Optional. The billing name of the credit card owner.
Type xsd:string.
Optional. The billing name of the credit card owner.
Type xsd:string.
Optional. Credit card expiration date in MM/YYYY format. Use either this or both card_exp_date_month and card_exp_date_year. Note: This method does not process transactions.
Type xsd:string.
Optional. Credit card expiration month (1-12). Note: This method does not process transactions.
Type xsd:nonNegativeInteger.
Optional. Credit card expiration year. Note: This method does not process transactions.
Type xsd:nonNegativeInteger.
Optional. Credit card number. Bowlderize values in the format "************1234." For security and method handling, specify the number in the form, not the URL. Note: This method does not process transactions.
Type xsd:string.
Optional. Credit card type. Note: This method does not process transactions.
Type xsd:string.
Optional. Check number for an offline donation made by check
Type xsd:string.
Optional. The amount of a donation to designate to a designee. The "X" part of the parameter must be an integer used to correspond to designated.X.id or, in the case of write-in designations, designated.X.name and designated.X.contact. This allows multiple pairs of ID/amount for multiple designations.
Type xsd:nonNegativeInteger.
Optional. The ID of a designee to which to designate all or part of a donation. The "X" part of the parameter must be an integer used to correspond to designated.X.amount. This allows multiple pairs of ID/amount for multiple designations.
Type xsd:nonNegativeInteger.
Optional. The amount of a donation to designate to a designee. The "X" part of the parameter must be an integer used to correspond to designated_write_in.X.name and designated_write_in.X.contact. This allows multiple pairs of ID/amount for multiple designations.
Type xsd:nonNegativeInteger.
Optional. The contact information of an organization to which to designate all or part of a donation. The "X" part of the parameter must be an integer used to correspond to designated_write_in.X.name and designated_write_in.X.amount. This allows multiple sets of name/contact/amount for multiple designations.
Type xsd:string.
Optional. The name of an organization to which to designate all or part of a donation. The "X" part of the parameter must be an integer used to correspond to designated_write_in.X.contact and designated_write_in.X.amount. This allows multiple sets of name/contact/amount for multiple designations.
Type xsd:string.
Optional. The donor's address.
Type xsd:string.
Optional. The donor's address.
Type xsd:string.
Optional. The donor's address.
Type xsd:string.
Optional. The donor's address.
Type xsd:string.
Optional. The donor's address.
Type xsd:string.
Optional. The donor's address.
Type xsd:string.
Optional. The donor's address.
Type xsd:string.
Optional. The donor's address.
Type xsd:string.
Optional. The constituent ID of the donor.
Type xsd:integer.
Optional. The donor's email opt-in selection.
Type xsd:string.
Optional. The donor's employer.
Type xsd:string.
Optional. The donor's name.
Type xsd:string.
Optional. The donor's name.
Type xsd:string.
Optional. The donor's name.
Type xsd:string.
Optional. The donor's name.
Type xsd:string.
Optional. The donor's name.
Type xsd:string.
Optional. The donor's name.
Type xsd:string.
Optional. The donor's occupation.
Type xsd:string.
Optional. The donor's phone number.
Type xsd:string.
Optional. The type of the donor's phone number .
Type xsd:string.
Optional. Gift aid status (UK Only).
Type xsd:string.
Optional. The name for a joint donor.
Type xsd:string.
Optional. The name for a joint donor.
Type xsd:string.
Optional. The name for a joint donor.
Type xsd:string.
Optional. The name for a joint donor.
Type xsd:string.
Optional. The name for a joint donor.
Type xsd:string.
Optional. Whether or not the donation is eligible for a matching gift.
Type xsd:boolean.
Optional. User specified donation amount.
Type xsd:string.
Optional. Unique ID of premium.
Type xsd:nonNegativeInteger.
Optional. Whether to send a receipt email to the donor. The default behavior is to send a receipt.
Type xsd:boolean.
Default is true.
Optional. If a new constituent record is created for the donor, this specifies whether to send a registration "welcome" email to the donor. The default behavior is to send it.
Type xsd:boolean.
Default is true.
Optional. Shipping address for premium.
Type xsd:string.
Optional. Shipping address for premium.
Type xsd:string.
Optional. Shipping address for premium.
Type xsd:string.
Optional. Shipping address for premium.
Type xsd:string.
Optional. Shipping address for premium.
Type xsd:string.
Optional. Shipping address for premium.
Type xsd:string.
Optional. Shipping address for premium.
Type xsd:string.
Optional. Shipping address for premium.
Type xsd:string.
Optional. Email address of the recipient.
Type xsd:string.
Optional. Premium recipient's name.
Type xsd:string.
Optional. Premium recipient's name.
Type xsd:string.
Optional. Premium recipient's name.
Type xsd:string.
Optional. Premium recipient's name.
Type xsd:string.
Optional. Premium recipient's name.
Type xsd:string.
Optional. Premium recipient's name.
Type xsd:string.
Optional. Phone number of the recipient.
Type xsd:string.
Optional. Whether to enforce validation of every field according to the specification in the ghost form ("true" or "false"). Some validation is always in effect, such as ensuring that the campaign, form, and level IDs reference published entities and that there is sufficient information to process the transaction.
Type xsd:boolean.
Default is false.
See topic HTTP Status Codes.
XML responseJSON response<?xml version="1.0" encoding="UTF-8"?> <donationResponse xsi:schemaLocation="http://convio.com/crm/v1.0 http://service.convio.net/xmlschema/crm.public.v1.xsd" xmlns="http://convio.com/crm/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <donation> <cons_id>1006789</cons_id> <confirmation_code>0-0000-0-0000-0000</confirmation_code> <date_time>2016-02-01T09:43:53.980-06:00</date_time> <org_tax_id>00-0000000</org_tax_id> <reward_points_earned>100</reward_points_earned> <transaction_id>100101</transaction_id> <amount> <decimal>100</decimal> <formatted>$100.00</formatted> </amount> <tax_deductible_amount> <decimal>100</decimal> <formatted>$100.00</formatted> </tax_deductible_amount> <value_of_goods> <decimal>0</decimal> <formatted>$0.00</formatted> </value_of_goods> <summary_data> <field header="false"> <label>Transaction Date:</label> <value>0/0/201</value> <name>date_id</name> </field> <field header="true"> <label>Gift Information</label> <value/> <name>section-header</name> </field> <field header="false"> <label>Amount:</label> <value>$100.00</value> <name>level_id</name> </field> <field header="true"> <label>Billing Information</label> <value/> <name>section-header</name> </field> <field header="false"> <label>Billing First Name:</label> <value>John</value> <name>billing.name.first</name> </field> <field header="false"> <label>Billing Last Name:</label> <value>Doe</value> <name>billing.name.last</name> </field> <field header="true"> <label>Payment Information</label> <value/> <name>section-header</name> </field> <field header="false"> <label>Payment Type:</label> <value>Credit Card</value> <name>payment_type</name> </field> <field header="false"> <label>Credit Card Number:</label> <value>***************1111</value> <name>card_number</name> </field> </summary_data> </donation> </donationResponse>
{"donationResponse":{"donation":{"amount":{"formatted":"$100.00","decimal":"100"},"value_of_goods":{"formatted":"$0.00","decimal":"0"},"summary_data":{"field":[{"name":"date_id","value":"0/0/201","label":"Transaction Date:","header":"false"},{"name":"section-header","value":{},"label":"Gift Information","header":"true"},{"name":"level_id","value":"$100.00","label":"Amount:","header":"false"},{"name":"section-header","value":{},"label":"Billing Information","header":"true"},{"name":"billing.name.first","value":"John","label":"Billing First Name:","header":"false"},{"name":"billing.name.last","value":"Doe","label":"Billing Last Name:","header":"false"},{"name":"section-header","value":{},"label":"Payment Information","header":"true"},{"name":"payment_type","value":"Credit Card","label":"Payment Type:","header":"false"},{"name":"card_number","value":"***************1111","label":"Credit Card Number:","header":"false"}]},"tax_deductible_amount":{"formatted":"$100.00","decimal":"100"},"org_tax_id":"00-0000000","confirmation_code":"0-0000-0-0000-0000","cons_id":"1006789","reward_points_earned":"100","date_time":"2016-02-01T09:43:53.981-06:00","transaction_id":"100101"}}}