Process online donations. This method requires an Online Giving shadow donation form and is only compatible with credit card, debit card, and direct bank transfer transactions.
Client Servlet | Server Servlet | HTTP Methods Supported | Requires Authentication |
---|---|---|---|
CRDonationAPI | None. | POST | No. |
https://secure2.convio.net/organization/site/CRDonationAPI?method=donate &api_key=value &v=value
[ ¢er_id=value ] [ &error_redirect=value ] [ &redirect=value ] [ &response_format=xml | json ]
[ &sign_redirects=value ] [ &source=value ] [ &sub_source=value ] [ &success_redirect=value ]
[ &suppress_response_codes=value ] &billing.address.city=value &billing.address.state=value
&billing.address.street1=value &billing.address.zip=value &billing.name.first=value
&billing.name.last=value &donor.email=value &form_id=value &level_id=value [ &ach_account=value ]
[ &ach_account_type=CHECKING | SAVINGS ] [ &ach_bank=value ] [ &ach_routing=value ] [ &ach_transit=value ]
[ &additional_amount=value ] [ &anonymous=value ] [ &billing.address.country=value ]
[ &billing.address.county=value ] [ &billing.address.street2=value ] [ &billing.address.street3=value ]
[ &billing.name.middle=value ] [ &billing.name.profSuffix=value ] [ &billing.name.suffix=value ]
[ &billing.name.title=value ] [ &card_cvv=value ] [ &card_exp_date=value ] [ &card_exp_date_month=value ]
[ &card_exp_date_year=value ] [ &card_number=value ] [ &card_type=value ] [ &designated.X.amount=value ]
[ &designated.X.id=value ] [ &designated_write_in.X.amount=value ] [ &designated_write_in.X.contact=value ]
[ &designated_write_in.X.name=value ] [ &single_designated_id=value] [ &donor.address.city=value ]
[ &donor.address.country=value ] [ &donor.address.county=value ] [ &donor.address.state=value ]
[ &donor.address.street1=value ] [ &donor.address.street2=value ] [ &donor.address.street3=value ]
[ &donor.address.zip=value ] [ &donor.email_opt_in=value ] [ &donor.employer=value ]
[ &donor.name.first=value ] [ &donor.name.last=value ] [ &donor.name.middle=value ]
[ &donor.name.profSuffix=value ] [ &donor.name.suffix=value ] [ &donor.name.title=value ]
[ &donor.occupation=value ] [ &donor.phone=value ] [ &donor.phone_type=home | work | mobile ]
[ &ecard.copy_sender=value ] [ &ecard.id=value ] [ &ecard.message=value ] [ &ecard.recipients=value ]
[ &ecard.send=value ] [ &ecard.send_date=value ] [ &ecard.subject=value ] [ &facebook_donation_id=value ]
[ &fr_id=value ] [ &gift_aid=value ] [ &installment.duration=value ]
[ &installment.frequency=one-time | monthly | quarterly | semi-annually | annually ]
[ &joint_donor.name.first=value ] [ &joint_donor.name.last=value ] [ &joint_donor.name.middle=value ]
[ &joint_donor.name.suffix=value ] [ &joint_donor.name.title=value ] [ &level_autorepeat=value ]
[ &matching_eligible=value ] [ &organization_name=value ] [ &other_amount=value ] [ &premium_id=value ]
[ &premium_option=value ] [ &remember_me=value ] [ &send_receipt=value ] [ &send_registration_email=value ]
[ &shipping.address.city=value ] [ &shipping.address.country=value ] [ &shipping.address.county=value ]
[ &shipping.address.state=value ] [ &shipping.address.street1=value ] [ &shipping.address.street2=value ]
[ &shipping.address.street3=value ] [ &shipping.address.zip=value ] [ &shipping.email=value ]
[ &shipping.name.first=value ] [ &shipping.name.last=value ] [ &shipping.name.middle=value ]
[ &shipping.name.profSuffix=value ] [ &shipping.name.suffix=value ] [ &shipping.name.title=value ]
[ &shipping.phone=value ] [ &soft_credit_id=value ]
[ &soft_credit_type=TR_PARTICIPANT | TR_TEAM | TR_EVENT | TRIBUTE_GIFT ]
[ &summary=data | page | both ] [ &sustaining.duration=value ]
[ &sustaining.frequency=one-time | monthly | quarterly | semi-annually | annually ]
[ &teamraiser.message_to_participant=value ] [ &teamraiser.recognition_name=value ]
[ &teamraiser.show_gift_to_public=value ] [ &tribute.honoree.deceased=value ]
[ &tribute.honoree.name.first=value ] [ &tribute.honoree.name.full=value ]
[ &tribute.honoree.name.last=value ] [ &tribute.honoree.name.title=value ] [ &tribute.message.body=value ]
[ &tribute.message.closing=value ] [ &tribute.message.include_amount=value ]
[ &tribute.message.signature=value ] [ &tribute.notify.address.city=value ]
[ &tribute.notify.address.country=value ] [ &tribute.notify.address.county=value ]
[ &tribute.notify.address.state=value ] [ &tribute.notify.address.street1=value ]
[ &tribute.notify.address.street2=value ] [ &tribute.notify.address.street3=value ]
[ &tribute.notify.address.zip=value ] [ &tribute.notify.name.full=value ]
[ &tribute.notify.name.title=value ] [ &tribute.type=memorial | tribute ] [ &validate=value ]
Content-type: application/x-www-form-url
This method is only compatible with credit card, debit card, and direct bank transfer transactions. This method does not support offline donations, TeamRaiser registration fees, Additional registration gifts, eCommerce, or Personal Fundraising gifts.Currently there are no rest API methods supporting eCommerce or Personal Fundraising.
captcha_text
This method requires two donation forms. The first is your API donation form. The second is a shadow form used to validate data, associate donations with a Donation Campaign, and update your database. Each field on your API donation form must have a corresponding field on the shadow form. Link your API donation form to the shadow form with the required form_id
Information from the donation form may be used to update the constituent record depending on if and how the donor is matched to a record.
Payment information is required for processing, but each payment detail parameter is optional because the donor is required to input card OR bank transfer information, not both.
ach_account
ach_account_type
ach_bank
ach_routing
ach_transit
card_cvv
card_exp_date
card_exp_date_month
card_exp_date_year
card_number
card_type
Boolean parameters such as donor.email_opt_in
remember_me
TRUE
FALSE
value="true"
Designated giving allows donors to direct their donation to a focus within the greater mission. For example, a donor to a hospital may want to direct money to the pediatrics or cancer ward. A donor to a school may want to direct funds to the art, music, or STEM programs.
getDesignationTypes returns a list of designation types.
getDesignees returns a list of valid designees.
Gifts can be designated to one entity or multiple entities.
Allowing a single designee
When allowing a single designee you must include the Single Gift Designation data element in your standard donation form. See Donation Form Data Elements for more details.
When allowing only a single designee for a donation, include the single_designated_id
designated.X
designated.x
single_designated_id
Allowing multiple designees
When allowing multiple designees you must include the Designated Gift Donation Level data element in your standard donation form. See Donation Form Data Elements for more details.
When allowing a donor to assign specific donation amounts to multiple designees, you may add an Add a designee button that inserts fields for the designee selection, or write in designee information, and amount onto the form. The code for that button should start with an integer and be incremented for each additional designee. That integer identifies which designation is being referenced, and is the X value inserted in parameters such as designated.X.id
Designees may be pre-configured or write-in.
Pre-configured designee information is passed in a pair of parameters: designated.X.id
designated.X.amount
Write-in designee information is passed in set of three parameters: designated_write_in.X.name
designated_write_in.X.contact
designated_write_in.X.amount
You can soft-credit donations processed through the donate
startDonation
fr_id
soft_credit_type=TR_PARTICIPANT
soft_credit_id
soft_credit_type=TR_TEAM
soft_credit_id
soft_credit_type=TR_EVENT
soft_credit_id
fr_id
Sustaining giving lets donors set up recurring, automatic gifts, with either pre-set amounts and durations or flexible donor-specified commitments. Use the sustaining.frequency
sustaining.duration
Installment programs enable higher-dollar giving levels with payment programs that offer the benefits of large gifts but automatically pay out over the schedules you design and donors select. Use the installment.frequency
installment.duration
Custom fields on your API donation form must map to data elements on your shadow form. Pass custom field input from your API donation form to your shadow form with custom parameters. The parameter name must match the data element name. The parameter name must be all lower case letters. Replace non-alphanumeric characters with underscores. Custom text fields have a default length of 50 characters and a maximum length of 512 characters.
More Info
more_info
https://secure2.convio.net/organization/site/CRDonationAPI?method=donate&api_key=1234....&more_info=TRUE
How to add a custom data element to your shadow form in Luminate Online
The optional validate
FALSE
validate=FALSE
TRUE
Include the df_preview
TRUE
FALSE
For credit card testing purposes, use the following parameters.
card_number=4111111111111111
card_cvv=111
card_exp_date
card_exp_date_month
card_exp_date_year
If the API call succeeds, but one or more errors are encountered during transaction processing, a donationResponse
pageError
fieldError
For common API errors such as authentication errors, the common error response is returned.
<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>
{"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.
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>
{"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."}
}
}
suppress_response_codes
donationResponse
200 - OK
donationResponse
donor.address.city
donor.address.city
donor.address.state
donor.address.street1
donor.address.zip
donor.name.first
donor.name.last
card_exp_date_month
year
installment.frequency
installment.duration
installment.frequency
installment.duration
level_autorepeat
soft_credit_id
sustaining.frequency
sustaining.duration
sustaining.frequency
sustaining.duration
tribute.type
TRUE
FALSE
tribute.honoree.name.full
tribute.honoree.name.full
FALSE
TRUE
See topic HTTP Status Codes.
XML 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>2024-09-26T22:49:46.274+05:30</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/2/202</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":{
"transaction_id":"100101",
"org_tax_id":"00-0000000",
"amount":{
"formatted":"$100.00",
"decimal":"100"
},
"confirmation_code":"0-0000-0-0000-0000",
"date_time":"2024-09-26T22:49:46.275+05:30",
"summary_data":{
"field":[
{
"name":"date_id",
"header":"false",
"label":"Transaction Date:",
"value":"0/2/202"
},
{
"name":"section-header",
"header":"true",
"label":"Gift Information",
"value":{}
},
{
"name":"level_id",
"header":"false",
"label":"Amount:",
"value":"$100.00"
},
{
"name":"section-header",
"header":"true",
"label":"Billing Information",
"value":{}
},
{
"name":"billing.name.first",
"header":"false",
"label":"Billing First Name:",
"value":"John"
},
{
"name":"billing.name.last",
"header":"false",
"label":"Billing Last Name:",
"value":"Doe"
},
{
"name":"section-header",
"header":"true",
"label":"Payment Information",
"value":{}
},
{
"name":"payment_type",
"header":"false",
"label":"Payment Type:",
"value":"Credit Card"
},
{
"name":"card_number",
"header":"false",
"label":"Credit Card Number:",
"value":"***************1111"
}
]
},
"reward_points_earned":"100",
"value_of_goods":{
"formatted":"$0.00",
"decimal":"0"
},
"cons_id":"1006789",
"tax_deductible_amount":{
"formatted":"$100.00",
"decimal":"100"
}
}
}}