Success redirect enhancement idea
We are wondering if it would be possible to include an option to enable the transaction id to be appended to the success redirect URL - similar to how you can use "sign_redirects" option to enable a redirected URL to look like this:
What we would like is if it could form a URL like so:
https://mydomain.org/myapplication/conviosuccess.jspx?ts=1256077711&signature=c4c655a1c1ed50b955eaa83f838b7dc1&transactionid=1234546789
We're requesting this because our web applications are all hosted externally from convio. We can't get the transaction information from a donation.
Going this route, would allow us to store the returned transaction ID with the additional record we are creating based on their donation in our custom application. Then, using the Convio Web Services route, we could then verify and "sync" transaction details down on a scheduled cron to our internal product that is holding that transaction id that was provided on the success URL. Our cron could then finish off the necessary processing to verify their donation in our internal product.
Any other suggestions as a way to get the transactional details after a transaction from an external app (not on convio's servers) are more than appreciated!
Comments
-
Maybe try returning the transaction confirmation in xml/json, display a short modal dialogue saying "Your donation was successful, please click here to complete your transaction" along with a few details (name, amount, recurring), then have them click through to a page to your server with all the transaction dynamically appended to the URL. The page they land on then stores the data to your local datastore.
0 -
You should be able to include any* of the request or response values in redirect URLs. Response values are specified with an XPath like expression, so referring to the sample XML response in the donation API documentation, we see the transaction ID should be referenced like this: "...&ts=${donationResponse/donation/transaction_id}". Request parameters (what was sent in the donation API call) are specified with their form element name, like this: "...&fn=${billing.name.first}...".
* A few values, like credit card information, are not allowed for security and PCI-compliance reasons.
0 -
JeffMills :
You should be able to include any* of the request or response values in redirect URLs. Response values are specified with an XPath like expression, so referring to the sample XML response in the donation API documentation, we see the transaction ID should be referenced like this: "...&ts=${donationResponse/donation/transaction_id}". Request parameters (what was sent in the donation API call) are specified with their form element name, like this: "...&fn=${billing.name.first}...".
* A few values, like credit card information, are not allowed for security and PCI-compliance reasons.
Jeff - this is perfect! I haven't verified the transaction_id field yet since I'm running in preview mode, but I believe it works based on the other fields I'm seeing returned on the URL. This will definitely help us accomplish our goal and making the data sync process much easier!
Thanks!
Can this be put in the donation documentation on the redirect info?
0 -
Doh! Somehow I didn't see Jeff's response before I hit Reply.
Message was edited by: Noah Cooper
0 -
Ryan Means:
Jeff - this is perfect! I haven't verified the transaction_id field yet since I'm running in preview mode, but I believe it works based on the other fields I'm seeing returned on the URL. This will definitely help us accomplish our goal and making the data sync process much easier!
Thanks!
Can this be put in the donation documentation on the redirect info?
Just wanted to second the request above for Jeff's info to be put into the API documentation. Also, a little more elaborate description of how it works would be helpful...
Oh, one other tip -- if you're just starting to develop a remove d-page using the success and error redirects (and have't really built out those pages yet) and you can't figure out why the form won't actually process, try removing the redirect parameters and submit your donation, you'll get the standard responses from Convio that include error messages.
0 -
Michael :
Just wanted to second the request above for Jeff's info to be put into the API documentation. Also, a little more elaborate description of how it works would be helpful...
Oh, one other tip -- if you're just starting to develop a remove d-page using the success and error redirects (and have't really built out those pages yet) and you can't figure out why the form won't actually process, try removing the redirect parameters and submit your donation, you'll get the standard responses from Convio that include error messages.
This information appears in the current docs under "Substitution of Response Elements in Redirect URLs," here: http://open.convio.com/api/#main.using_redirect_parameters.html
It may be helpful to link to this topic from the description of the redirect parameters.0 -
JeffMills :
You should be able to include any* of the request or response values in redirect URLs. Response values are specified with an XPath like expression, so referring to the sample XML response in the donation API documentation, we see the transaction ID should be referenced like this: "...&ts=${donationResponse/donation/transaction_id}". Request parameters (what was sent in the donation API call) are specified with their form element name, like this: "...&fn=${billing.name.first}...".
* A few values, like credit card information, are not allowed for security and PCI-compliance reasons.
I'm currently using an xpath expression to bring back field errors in the donation checkout. The expression is this...
errorMessage={donationResponse/errors/fieldError}
The only trouble is when there are multiple errors. Convio just concates all the values together. i.e.
errorMessage=Credit+card+number+is+invalid.You+have+entered+an+amount+that+exceeds+the+maximum+of+%2450%2C000.00+permitted+on+this+donation+form.+Please+enter+a+lower+amount.
I was splitting the value on periods to try and list the errors idividually, but I run into a problem with the decimal in $50,000.00. Is there any way to have a delimiter between the values of the multiple returned nodes?
0 -
Colin McClure:
I'm currently using an xpath expression to bring back field errors in the donation checkout. The expression is this...
errorMessage={donationResponse/errors/fieldError}
The only trouble is when there are multiple errors. Convio just concates all the values together. i.e.
errorMessage=Credit+card+number+is+invalid.You+have+entered+an+amount+that+exceeds+the+maximum+of+%2450%2C000.00+permitted+on+this+donation+form.+Please+enter+a+lower+amount.
I was splitting the value on periods to try and list the errors idividually, but I run into a problem with the decimal in $50,000.00. Is there any way to have a delimiter between the values of the multiple returned nodes?
good point. Because you don't know what the response is going to look like before you send the the parameters on the URL for the xpath you want back, there is no way that to tell xpath to get each field individually.
The xPath synax for donationResponse/errors/fieldError says get all the fields named "fieldError" under that path. We can't specify /fieldError, /fieldError, /FieldError .. etc.
I'm in full agreement that not just for the fieldError field, but for any field that may produce multiplets, a common delimiter needs to be provided OR even better in my option you need to return it on the URL like this:
Given this:
errorMessage={donationResponse/errors/fieldError}
Should return like this for cases where there are multiple fieldError nodes matched:
errorMessage_1=Some+value&errorMessage_2=Another+value
** EDIT - temporary workaround?
The only thing I can think of as a workaround is to call it as if it did have those fields, not sure if convio would return them null or not if not set, but it's worth a shot:
errorMessage_1={donationResponse/errors/fieldError}&errorMessage_2={donationResponse/errors/fieldError}&errorMessage_3={donationResponse/errors/fieldError} ... etc. Just make sure you give yourself enough for all the possible errors!
0
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 3 Blackbaud Staff Discussions
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board