Donation Form Using API

Options

Hi, I'm attempting to simplify our general donation process, essentially by compressing our current (complicated) set of 4 different donation forms. As you can see, it's a bit much to expect the user to digest four different donation forms at the point of giving.

 

What I'd like to do is compress this into a single fully responsive jQuery-driven donation form that reveals specific donation options (designated giving, honorary giving, recurring gift) only when requested by the user. I've built a simple prototype here.

 

First off, I'm trying to figure out if it's possilbe, using the donation form API, to even transact a donation that's, for example, designated to multiple programs *and* an honorary gift *and* is recurring, all at once. When building a donation form in Convio, it seems incapable of managing all those elements together, which leads me to believe this may not be possible on the back end, regardless of how I use the donation API.

 

Has anyone built a similar donation form in this fashion?

 

Thanks,

Peter

 

 

Tagged:

Comments

  • Peter,

     

    Yes this is possible!

     

    When configuring your shadow form, use the Designated Giving Donation Level. Once you've added it to your form, edit the element, and check the checkbox "Yes, allow optional recurring behavior." You now have a designated giving form with the option for the donor to make their gift a monthly gift! Adding in honorary giving simply requires then adding the necessary Honor Gift donation elements.

     

    The documentation for the donate API method (http://open.convio.com/api/#donation_api.donate_method.html) has all the details on how you then can post data to your form using the API. Namely, you'll want:



    designated.X.amount

    designated.X.id

    level_autorepeat

    tribute.honoree.* (will depend on which fields you include)

     

    P.S. If you haven't already, take a look at https://github.com/noahcooper/luminateExtend. It might make your API development on this project a little easier. :smileyhappy:

  • Noah Cooper:

    Peter,

     

    Yes this is possible!

     

    When configuring your shadow form, use the Designated Giving Donation Level. Once you've added it to your form, edit the element, and check the checkbox "Yes, allow optional recurring behavior." You now have a designated giving form with the option for the donor to make their gift a monthly gift! Adding in honorary giving simply requires then adding the necessary Honor Gift donation elements.

     

    The documentation for the donate API method (http://open.convio.com/api/#donation_api.donate_method.html) has all the details on how you then can post data to your form using the API. Namely, you'll want:



    designated.X.amount

    designated.X.id

    level_autorepeat

    tribute.honoree.* (will depend on which fields you include)

     

    P.S. If you haven't already, take a look at https://github.com/noahcooper/luminateExtend. It might make your API development on this project a little easier. :smileyhappy:

    Great, thanks Noah. I appreciate the speedy and helpful response. Is there any basic example-filled help documentation on using the donation API? I'm just trying to get my head around basic structure and syntax, and while those Open API pages are very info-rich, they seem a little light on basics for those of us just dipping into the API for the first time.



    Again, thank you.

  • Noah Cooper:

    Peter,

     

    Yes this is possible!

     

    When configuring your shadow form, use the Designated Giving Donation Level. Once you've added it to your form, edit the element, and check the checkbox "Yes, allow optional recurring behavior." You now have a designated giving form with the option for the donor to make their gift a monthly gift! Adding in honorary giving simply requires then adding the necessary Honor Gift donation elements.

     

    The documentation for the donate API method (http://open.convio.com/api/#donation_api.donate_method.html) has all the details on how you then can post data to your form using the API. Namely, you'll want:



    designated.X.amount

    designated.X.id

    level_autorepeat

    tribute.honoree.* (will depend on which fields you include)

     

    P.S. If you haven't already, take a look at https://github.com/noahcooper/luminateExtend. It might make your API development on this project a little easier. :smileyhappy:

    Hey Noah this api extension looks pretty nifty and I'm in the process of building a new drupal site. Do you have any examples of it in action? I'd like to see how its being used and how others, if any, have incorporated it with a drupal site.
  • Hi Peter and Noah,


    Sorry to drum up an old post but I seem to be having some trouble with the example Noah gave.

    This is exactly what I am trying to do (both single and monthly gifts in one form), but for some reason it only gets submitted as a single gift.


    level_autorepeat seems to be ignored in this case.

    MonthlyqueryString being passed to donationApiCall : method=donate&form_id=6381&billing.name.first=Test&billing.name.last=Test&billing.address.street1=171+Test+Blvd&billing.address.city=Test&billing.address.state=ON&billing.address.zip=M1W+2Y2&billing.address.country=Canada&donor.phone=3131313131313&donor.email=test%40test.com&card_number=sadfasdfsad&card_exp_date_month=7&card_exp_date_year=2024&card_cvv=123&ach_transit=&ach_bank=&ach_account=&ach_account_type=checking&other_amount=&validate=true&level_id=8346&sustaining.duration=0&sustaining.frequency=monthly&level_autorepeat=true&designated.1002.amount=5&designated.1002.id=1002


    Please ignore the test data.


    Any help would be much appreciated.



     
  • level_autorepeat

    "Valid only for Level shadow forms on which a recurring gift option has been defined."


    Check your shadow form. Is that level actually on that form? Does it have a recurring option?


    PS - Interesting thing, if you mismatch the form and the level, the donation will actually follow the wrong level_id rather than the form_id. (Though validate=true should detect this and throw an error.)


    Edit: I would also try to remove the ACH stuff that is not passing values.


    Edit 2: Not sure if relevant but for designations "&designated.1002.amount=5&designated.1002.id=1002" should be "&designated.1.amount=5&designated.1.id=1002" That middle number is a counter, not the ID. And it starts at 1 and not 0 - like a crazy person.


    Edit 3: Sorry. I also wonder about having a level_id AND a designated amount. I think it's either/or.


    BPM
  • Thanks Brian,


    Does autorepeat work for optional repeat (E.g."Yes, allow optional recurring behavior. Step 6.")?


    That might be where the issue is. 

    There is no way to turn on recurring donation on the actual level when using the designated donation level on the form.
  • Yes, I think it should work with recurring set there.


    Try to test it with the validate flag off. 


    BPM

Categories