Create Recurring Donation

This request creates a recurring donation schedule. The payment details will be stored for all future payments. The first instance of the donation schedule will process on the date specified for “Next Date”.

REST

Request

https://api.neoncrm.com/neonws/services/api/donation/createRecurringDonation?userSessionId=T1361502539704&recurringDonation.recurringPeriod=6&recurringDonation.recurringPeriodType=YEAR&recurringDonation.nextDate=2013-02-25&recurringDonation.accountId=123941&recurringDonation.amount=49&recurringDonation.purpose.id=26&recurringDonation.campaign.id=243&recurringDonation.fund.id=11&payment.amount=49&payment.note=for membership term 507&payment.tenderType.id=4&payment.creditCardOnlinePayment.cardNumber=4757077614429236&payment.creditCardOnlinePayment.expirationMonth=9&payment.creditCardOnlinePayment.expirationYear=15&payment.creditCardOnlinePayment.cardType.name=visa&payment.creditCardOnlinePayment.CVV2=201&payment.creditCardOnlinePayment.billingAddressLine1=14/349 Geoge Street&payment.creditCardOnlinePayment.city=Chicago&payment.creditCardOnlinePayment.state.code=IL&payment.creditCardOnlinePayment.country.id=1&payment.creditCardOnlinePayment.zipCode=60009&payment.creditCardOnlinePayment.cardHolder=Dark Smith

Response

{
    "createRecurringDonation": {
        "operationResult": "SUCCESS",
        "responseMessage": "RecurringDonation created.",
        "responseDateTime": "2013-02-21T21:09:04.940-06:00",
        "recurringDonationId": 190
    }
}

SOAP

Request

<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:neon="http://www.z2systems.com/schemas/neonws/">
   <soapenv:header>
       <soapenv:body>
          <neon:createrecurringdonationrequest>
            <usersessionid>T1361757200216</usersessionid>
             <recurringdonation>
               <accountid>123941</accountid>
                <amount>41</amount>
               <purpose>
                   <id>26</id>
                </purpose>
               <campaign>
                   <id>243</id>
               </campaign>
                <fund>
                   <id>11</id>
                 </fund>
               <recurringperiod>12</recurringperiod>
                <recurringperiodtype>MONTH</recurringperiodtype>
                <nextdate>2012-03-21</nextdate>
             </recurringdonation>
                 <payment>
               <amount>41</amount>
               <note>testing payment</note>
                <tendertype>
                   <id>4</id>
                </tendertype>
                <creditcardonlinepayment>
                   <cardnumber>4757077614429236</cardnumber>
                   <expirationmonth>9</expirationmonth>
                   <expirationyear>14</expirationyear>
                   <cardtype>
                       <code>V</code>
                   </cardtype>
                   <cvv2>231</cvv2>
                  <cardholder>William Smith</cardholder>
                   <billingaddressline1>14/349 Geoge Street</billingaddressline1>
                   <billingaddressline2></billingaddressline2>
                   <city>Chicago</city>
                   <state>
                      <code>IL</code>
                   </state>
                   <country>
                      <id>1</id>
                  </country>
                   <zipcode>60000</zipcode>
                   <zipcodesuffix>123</zipcodesuffix>
               </creditcardonlinepayment>
            </payment>
            </neon:createrecurringdonationrequest>
       </soapenv:body>
    </soapenv:header>
</soapenv:envelope>

Response

<soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:body>
      <ns2:createrecurringdonationresponse xmlns:ns2="http://www.z2systems.com/schemas/neonws/">
         <operationresult>SUCCESS</operationresult>
         <responsemessage>RecurringDonation created.</responsemessage>
         <responsedatetime>2013-02-24T19:53:26.346-06:00</responsedatetime>
         <recurringdonationid>193</recurringdonationid>
      </ns2:createrecurringdonationresponse>
   </soap:body>
</soap:envelope>

Request Parameters

Name Required Description
recurringDonation.recurringPeriod Yes Number that precedes recurringPeriodType. Example: 1 MONTH means one donation per month.
recurringDonation.recurringPeriodType Yes Possible values: YEAR MONTH DAY LIFE WEEKLY
recurringDonation.nextDate Yes Date the first donation in this series will be processed. Format: 2013-02-25
recurringDonation.endDate Date the recurring donation series ends. Format: 2013-02-25
recurringDonation.accountId Yes Account ID of constituent to whom this donation will be credited
recurringDonation.amount Yes Dollar amount of donation
recurringDonation.campaign.id Possible values can be retrieved from List Campaigns method. Required if campaign.name is not provided.
recurringDonation.campaign.name Possible values can be retrieved from List Campaigns method. Required if campaign.id is not provided.
recurringDonation.purpose.id Possible values can be retrieved from List Purposes method. Required if purpose.name is not provided.
recurringDonation.purpose.name Possible values can be retrieved from List Purposes method. Required if purpose.id is not provided.
recurringDonation.fund.id Possible values can be retrieved from List Funds method. Required if fund.name is not provided.
recurringDonation.fund.name Possible values can be retrieved from List Funds method. Required if fund.id is not provided.
Payments
payment.amount Yes Payment amount
payment.tenderType.id Yes * Possible values can be retrieved from List Tenders method. Required if tenderType.name is not provided.
payment.tenderType.name Yes * Possible values can be retrieved from List Tenders method. Required if tenderType.id is not provided.
payment.note
Credit Card Online Payment
The following fields are applicable if tenderType = 4 (credit card online)
Payment.creditCardOnlinePayment.cardNumber Yes * Required unless using Neon Payment Processing.
Payment.creditCardOnlinePayment.token Yes * Required if using Neon Payment Processing. Use Stripe Elements client library to generate this token. Stripe API Key can be retrieved using the Retrieve Payment Processor Settings method.
Payment.creditCardOnlinePayment.expirationMonth Yes
Payment.creditCardOnlinePayment.expirationYear Yes
Payment.creditCardOnlinePayment.cardType.id Yes * Possible values can be retrieved from List Credit Card Types method. Required when cardType.name is not provided.
Payment.creditCardOnlinePayment.cardType.name Yes * Possible values can be retrieved from List Credit Card Types method. Required when cardType.id is not provided.
Payment.creditCardOnlinePayment.CVV2 Yes
Payment.creditCardOnlinePayment.cardHolder Yes Name of credit card holder, as shown on the card.
Payment.creditCardOnlinePayment.cardHolderEmail Yes * Required if using Neon Payment Processing.
Payment.creditCardOnlinePayment.billingAddressLine1
Payment.creditCardOnlinePayment.billingAddressLine2
Payment.creditCardOnlinePayment.city
Payment.creditCardOnlinePayment.state.code Possible values can be retrieved from the List States method. Required when state.name is not provided.
Payment.creditCardOnlinePayment.state.name Possible values can be retrieved from the List States method. Required when state.code is not provided.
Payment.creditCardOnlinePayment.province
Payment.creditCardOnlinePayment.country.id Possible values can be retrieved from the List Countries method. Required when country.name is not provided.
Payment.creditCardOnlinePayment.country.name Possible values can be retrieved from the List Countries method. Required when country.id is not provided.
Payment.creditCardOnlinePayment.zipCode
Payment.creditCardOnlinePayment.zipCodeSuffix
eCheck / ACH Payment
The following fields are applicable if tenderType = 12 (E-Check/ACH)
Payment.echeckPayment.institution
Payment.echeckPayment.routingNumber Yes
Payment.echeckPayment.accountNumber Yes
Payment.echeckPayment.accountOwner Yes
Payment.echeckPayment.CheckNumber
Payment.echeckPayment.accountType Possible values: Checking, Saving

Response Parameters

Name Required Description
donationId Yes The ID of the donation transaction (not the account).
transaction.transactionId Yes Transaction ID
transaction.transactionStatus Yes Possible values: Pending, Processing, Succeed, Declined, Error, Scheduled, Cancelled, Deferred
transaction.payments.payment Yes Transaction details of the payment

Error Codes

Code Text Description
101 Payment amount is required.
102 Tender type id or name is required.
103 Tender type id or name is invalid.
104 Echeck routing number is required.
105 Echeck account number is required.
106 Echeck account owner is required.
107 Credit card number is required.
108 Credit card expiration date is required.
109 Credit card CVV2 is required.
110 Credit card type is invalid.
111 Billing Address state id or name is invalid.
112 Billing Address country id or name is invalid.
150 Unable to process payment.
151 Payment id is invalid.
152 Payment id is required.
153 Succeed credit card online or e-check payment cannot be reprocessed.
11003 Amount is required
11004 Donation date is required.
11005 Fund ID or Name is invalid
11006 Campaign ID or Name is invalid
11007 Purpose ID or Name is invalid
11010 Recurring period is required
11011 Recurring period type is required
11012 Recurring next date is required
11013 Recurring donation tender type is not supported