ProDon:Integration with Online Donation Forms
Integration with Online Donation Forms |
CAUTION: This document is conceived only for the 5.0.3.x VERSION of ProDon. To access the document of the 5.0.2.x version (FRENCH ONLY), click here. To access the document of the 4.7.3.x version (FRENCH ONLY), click here.
Explanations of the possible methods of integration
1. Link
This is the simplest integration method allowing you to guide your donors to your online donation forms.
Typical Uses:
- Integration to your own website
- Emailing the link
Characteristics:
- Possibility to access your list of forms, or to access a form directly
- No programming required (only add a hyperlink)
2. Link with Information Transfer
This is a more advanced integration, allowing you to prefill a form.
Typical Uses:
- Integration from a microsite
- Teams / participants registration
- Donation to a team / participant
- Peer-to-Peer campaigns
- Integration from a third-party organization
- Telemarketing firm
- Web development firm
- Integration from a third-party system
- In-house system (members management, alumni management, etc.)
Characteristics:
- Programming required (examples provided)
- Simple integration by GET parameters (encrypted) or POST parameters
- Possibility to send information to the form, to auto-populate:
- Personal information
- Transaction information (except for credit card information)
- Customized form information (e.g. name/team ID, specific questions, etc.)
3. Link with Information Transfer and Transaction Retrieval (post-treatment)
This includes the possibility of a “link with information transfer” (see the second method) while allowing you to retrieve the completed transaction.
Typical Uses:
- Integration from a microsite allowing you to manage objectives
- It allows the microsite or the organization to monitor in real time the progress of the donations
Characteristics:
- Programming required (examples provided)
- Additional programming required for post-treatment (to receive the transaction information in XML format)
4. Available tools on demand
Some tools are put to your disposition to obtain some total or some transactions list.
Caution, the utilization of these tools is billable.
Utilization fee
There is no fee linked to the utilization of "Link", of "Link with information transfer" and of "Link with Information Transfer and Transaction Retrieval (post-treatment)".
There is a fee attached to the utilization of "Available tools on demand". Because these tools can generate important traffic and demand substantial resources, a fee is billed for each call. We recommend you to favor the utilization of post-treatment and to limit the calls on these tools on demand.
Actual pricing (subject to changes without notice) : 0.05$ by call (25$/month maximum).
Technical Explanations
1. Link
Format of the link:
https://www.imakeanonlinedonation.org/ or https://www.jedonneenligne.org/ ORG_DIR[_test][/FORM] ORG_DIR[/test][/index.php?form=FORM]
Definition:
- ORG_DIR: Organization directory on IMakeAnOnlineDonation or JeDonneEnLigne
- Form list
- [/test]: Test Mode active (unspecified = production mode)
- ORG_DIR[_test]: Test Mode active (unspecified = production mode)
- [/FORM] : Code of the form to call (unspecified = list of forms)
Examples of links:
- List of forms: https://www.imakeanonlinedonation.org/logilys
- GEN form: https://www.imakeanonlinedonation.org/logilys/GEN
- GEN forms (test mode): https://www.imakeanonlinedonation.org/logilys_test/GEN
2. Link with information transfer
This type of integration requires programming skills. See working prototype:
- For ProDon 5.0.3.x (version 2.1 of JDEL site):
The prototype has been prefilled to make you experience the integration simply by clicking on “send data”.
Here are the possible settings of the prototype:
- Key: Unique encryption key for each organization. The key for integration is configurable in ProDon. Go to "Web form management", "Configure Your Website", "Access IMakeAnOnlineDonation" the go look for "Encryption key".
- Directory: Organization directory on IMakeAnOnlineDonation (add “_test” to activate test mode).
- Code: Code of the form to be used for the information transfer.
- Personal information used in the example: Country, Title, First name, Last name, Address, City, Province (FrmProvinceUID), Postal code, Email, Home phone.
- Transaction information used in the example: Amount, Activity (FrmActUID), Payment method (FrmPayUID) and Receipt (FrmReceipt).
- The "UID" parameters of FrmCountryUID (Countries list) and FrmProvinceUID (Provinces list) are global, they can easily be found by looking at the source code of the form.
- The different UID parameters are specific to the organization, but can easily be found by examining the source code of the form.
You can also download the complete sources of the prototype by clicking on “download sources”. Here are the contents of the zip file:
- integration_prototype.php: the source code of the prototype
- integration_js_prototype.php: Another example in java script
- encode64.js, mcrypt.js, rijndael.js: used by integration_js_prototype.php
- list_parameters.txt: brief descriptions of the possible parameters.
- callback.php, callback.txt : example of code to recover the transaction (see point 3).
- callback_definition.xls, callback.xml : definition of the XML fields of the returned transaction and example in XML (see point 3).
3. Link with Information Transfer and Transaction Recovery (Post-treatment URL)
This type of integration requires programming skills.
Before continuing, see technical explanations of “link with information transfer”. This integration allows you to recover the transaction after. There is no utilization fee for post-treatment of the URL address.
The transaction information will be transferred (POST) in XML format to the URL address of your choice (configured in ProDon, see below).
Configuration of a post-treatment URL address in ProDon
To configure your post-treatment URL address from the edition of a Web form file with ProDon, go to "Advanced Option", "JDEL Integration"then "URL address configuration for the post-treatment integration".
Additional input parameters (optional) to send when calling the form:
- PersonalUrl (encrypted): the URL of your callback, example: &PersonalUrl=http://www.mysite.com/jdel_callback.php(encrypted).
- PersonalId (not encrypted): Unique ID for your transaction, example: &PersonalId=00000001(not encrypted).
Output parameters sent to the post-treatment URL address
- trx_xml (encrypted): xml of the transaction. See “callback_definition.xls” and “callback.xml” in the sources of the prototype to view an example.
- mode (not encrypted): Contains “TEST” or “PROD” whether the transaction was made in test or production mode.
- PersonalId (not encrypted): Your unique ID.
- Caution: Call done by « UserAgent » from: Mozilla/5.0 (Windows NT 6.1; Win64; rv:40.0) Gecko/20100101 Firefox/40.1.0 Waterfox/40.1.0
4. Available tools on demand
This type of integration requires programming skills.
Caution, the utilization of theses tools is billable.
Configuration of an access to the integration tools on demand with ProDon
To configure an access in ProDon, go to "Web form management", "Configure your Website", "Access IMakeAnOnlineDonation", then "Add an access". You will have to specify an email, to check the "Integration on demand" checkbox then specify a "Password for the integration".
Calling procedure
https://www.jedonneenligne.org ou https://www.imakeanonlinedonation.org /ORG_DIR[_test] /web.integration.phpDefinition :
- ORG_DIR : Organization directory on IMakeAnOnlineDonation or JeDonneEnLigne
- [_test] : Test Mode active (unspecified = production mode). There is no fee for the calls in test mode.
POST parameters to specify :
- username : The email configured in ProDon
- password : The password configured in ProDon
- type : Type of report
- 0 : Number and total of transactions between 2 dates
- 1 : Transaction list between 2 dates
- 2 : Transaction per unique ID
- startdate1 : Start Date (Y-m-d H:i:s)
- enddate1 : End Date (Y-m-d H:i:s)
- frm_code1 : Form Code (* = All forms)
- We can also use frm_uid which is unique id of the form
- PersonalId2 : unique ID of the transaction to recover
Legend :
- 1: required for type 0 and 1
- 2: required for type 2
Update from ProDon 5.0.2.x
If you already have a functional integration with ProDon 5.0.2.x, please read the changes to do :
- The encryption key for the integration is now configurable in ProDon. Go to "Web form management", "Configure your Web site", "Access IMakeAnOnlineDonation", "Encryption Key". If you already have an encryption key, you will see it there, if not you will be able to create one.
- The PersonalUrl does not exist anymore, to configure a post-treatment URL address, you must have an encryption key (as previously explained) and you must configure your URL address in the forms in question. From the edition of a Web form file with ProDon, go to "Advanced Options", "JDEL Integration" then "Configuration of the URL address for the post-treatment integration".
- With ProDon 5.0.2.x, the UserAgent was empty, but now we are using the following UserAgent from the POST on the post-traitement : Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.1.0 Waterfox/40.1.0.
- The tools web.trx.php (recover a transaction from the id), totalamount_report.php (to get the number and the total of the transactions) and custom_report.php (to recover transaction by date) have been replaced by the new tools available on demand, configurable in ProDon, see the documentation.
- Edition to the structure of the return XML for the transaction :
- These fields have been replaced : "del_trx_country" have become "del_trx_address_country", "del_trx_country_uid" have become "del_trx_address_country_uid", "del_trx_province" have become "del_trx_address_province", "del_trx_province_uid" have become "del_trx_address_province_uid", "del_trx_city" have become "del_trx_address_city", "del_trx_postalcode" have become "del_trx_address_postalcode".
- New fields have been add : del_trx_address_format_uid, del_trx_address_roadno, del_trx_address_roadtype, del_trx_address_roadtype_uid, del_trx_address_road, del_trx_address_direction, del_trx_address_direction_uid, del_trx_address_pointcalltype, del_trx_address_pointcalltype_uid, del_trx_address_pointcallno, del_trx_address_buildinglocation, del_trx_address_roadlocationtype, del_trx_address_roadlocationtype_uid, del_trx_address_roadlocationno.
- Please refer to the files "callback_definition.xls" et "callback.xml" of the prototype.
Document name: ProDon:Integration with Online Donation Forms