Donation API - response confirmations

Options

Hi, I have setup a donation form on an external site using the API and have gotten it all working fine. The main thing I'd like to know about now is the responses from Convio's systems that confirm that the transaction has completed. I see that if a return url isn't set that the system returns XML (or JSON). Is there a way to retrieve response confirmations when using return URLs? I basically just want to know that the transaction has completed succcessfully as sent and update our local database to show that is the case. Let me know if you have a recommended way to achieve that. Thanks, Andrew

Tagged:

Comments

  • When you are using the url redirects with the donations api, you can specify an error_redirect and a sucess_redirect url. When the donation is processed sucessfully, the sucess_redirect url will be passed back as the response. Can you use these unique url responses to update your local database when transacitons have processed sucessfully?

  • Corey Pudhorodsky:

    When you are using the url redirects with the donations api, you can specify an error_redirect and a sucess_redirect url. When the donation is processed sucessfully, the sucess_redirect url will be passed back as the response. Can you use these unique url responses to update your local database when transacitons have processed sucessfully?

    Hi Corey, Thanks for your response. I can use those links but I would need some sort of "identifier" in order to determine which donation had been completed. At this point the form captures the person's details in our database (other than their credit card details) and then submits the transaction to the API. Could I perhaps pass a variable (ie. ID number) for the transaction to the API and then retrieve that variable on the success or error page in order to update the database? Let me know if there is any way to do this, or if you have an alternative recommendation. Thanks again,

    Andrew

  • Andrew MacKay:

    Hi Corey, Thanks for your response. I can use those links but I would need some sort of "identifier" in order to determine which donation had been completed. At this point the form captures the person's details in our database (other than their credit card details) and then submits the transaction to the API. Could I perhaps pass a variable (ie. ID number) for the transaction to the API and then retrieve that variable on the success or error page in order to update the database? Let me know if there is any way to do this, or if you have an alternative recommendation. Thanks again,

    Andrew

    Hi Corey, Any update on this?

    Andrew

  • Andrew MacKay:

    Hi Corey, Thanks for your response. I can use those links but I would need some sort of "identifier" in order to determine which donation had been completed. At this point the form captures the person's details in our database (other than their credit card details) and then submits the transaction to the API. Could I perhaps pass a variable (ie. ID number) for the transaction to the API and then retrieve that variable on the success or error page in order to update the database? Let me know if there is any way to do this, or if you have an alternative recommendation. Thanks again,

    Andrew

    Sorry for the delay getting back to you, I was double checking on a few things on this side:

    When the *_url parameters are used in the Giving API, the XML or JSON data sets are not returned since the browser is instead redirected to the sucess or failure urls that you are specifying. If you need that data (which includes things like an ID number for the transaction) then we recommend that you don't use the *_url parameters, and instead let the standard sucess or failure data get passed back to the client browser. After the XML/JSON data returned, you can redirect the browser with JavaScript to the sucess or failure urls.

  • Corey Pudhorodsky:

    Sorry for the delay getting back to you, I was double checking on a few things on this side:

    When the *_url parameters are used in the Giving API, the XML or JSON data sets are not returned since the browser is instead redirected to the sucess or failure urls that you are specifying. If you need that data (which includes things like an ID number for the transaction) then we recommend that you don't use the *_url parameters, and instead let the standard sucess or failure data get passed back to the client browser. After the XML/JSON data returned, you can redirect the browser with JavaScript to the sucess or failure urls.

    Thanks Cory,

  • Andrew MacKay:

    Hi Corey, Thanks for your response. I can use those links but I would need some sort of "identifier" in order to determine which donation had been completed. At this point the form captures the person's details in our database (other than their credit card details) and then submits the transaction to the API. Could I perhaps pass a variable (ie. ID number) for the transaction to the API and then retrieve that variable on the success or error page in order to update the database? Let me know if there is any way to do this, or if you have an alternative recommendation. Thanks again,

    Andrew

    Andrew said: "At this point the form captures the person's details in our database

    (other than their credit card details) and then submits the transaction

    to the AP"

    Interesting, I had someone from Convio's support team tell me that I must have the form's action submit to CRDonationAPI directly, and that I could not have it first post to my server then redirect or use curl to process the donatio via Convio. I also assume that is what's meant by "... only available when calling from a Web Client" on the Donation API docs.

    So, can I do as Andrew suggests and first store the transaction info (sans credit card data) on my server)?

    Can I use curl to process the donation and retrieve the XML result (as most normal APIs work)?

    If not, how do I know what error occurs or capture the transaction data (sans credit card info) if user has JavaScript disabled?

  • Robert Zakon:

    Andrew said: "At this point the form captures the person's details in our database

    (other than their credit card details) and then submits the transaction

    to the AP"

    Interesting, I had someone from Convio's support team tell me that I must have the form's action submit to CRDonationAPI directly, and that I could not have it first post to my server then redirect or use curl to process the donatio via Convio. I also assume that is what's meant by "... only available when calling from a Web Client" on the Donation API docs.

    So, can I do as Andrew suggests and first store the transaction info (sans credit card data) on my server)?

    Can I use curl to process the donation and retrieve the XML result (as most normal APIs work)?

    If not, how do I know what error occurs or capture the transaction data (sans credit card info) if user has JavaScript disabled?

    We are working on some more detailed documentation and code examples for the donations API that should be available soon. I think that will help clear up a lot. But to address you most imediate question:

    The message that you got from support is correct, donations submitted to the CRDonationAPI should be submitted directly from the form. Attempting to pass the transaction through another server makes you responsible for PCI compliance which opens up a whole other round of issues.

  • Corey Pudhorodsky:

    We are working on some more detailed documentation and code examples for the donations API that should be available soon. I think that will help clear up a lot. But to address you most imediate question:

    The message that you got from support is correct, donations submitted to the CRDonationAPI should be submitted directly from the form. Attempting to pass the transaction through another server makes you responsible for PCI compliance which opens up a whole other round of issues.

    Just to be clear, Corey is referring to a legal restriction rather than a technical one. You technically could pass the form through another server, but that opens up a can of worms that you more than likely don't want to open.

  • Bruce Keilin:

    Just to be clear, Corey is referring to a legal restriction rather than a technical one. You technically could pass the form through another server, but that opens up a can of worms that you more than likely don't want to open.

    I was under the impression this was a Convio policy issue (not a PCI one). Can you confirm that Convio will allow it per its policy/terms in addition to technically?

Categories