Difference between revisions of "ProDon:Integration with Online Donation Forms"

From Logilys
Jump to: navigation, search
(Undo revision 8723 by Jguillemette (talk))
m
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Header_TOC}}
 
{{Header_TOC}}
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), [[http://wikifr.logilys.com/index.php/ProDon:Int%C3%A9gration_aux_formulaires_de_dons_en_ligne_(version_5.0.2) click here]]. To access the document of the 4.7.3.x version (FRENCH ONLY), [[http://wikifr.logilys.com/index.php/ProDon:Int%C3%A9gration_aux_formulaires_de_dons_en_ligne_(version_4.7.3) click here]].
+
CAUTION: This document is conceived only for the '''5.0.5.x VERSION''' of '''ProDon'''. Old documents: [[ProDon:Integration with Online Donation Forms (version 5.0.4)|5.0.4.x]], [[ProDon:Integration with Online Donation Forms (version 5.0.3)|5.0.3.x]], [http://wikifr.logilys.com/index.php/ProDon:Int%C3%A9gration_aux_formulaires_de_dons_en_ligne_(version_5.0.2) 5.0.2.x] (french only), [http://wikifr.logilys.com/index.php/ProDon:Int%C3%A9gration_aux_formulaires_de_dons_en_ligne_(version_4.7.3) 4.7.3.x] (french only).
  
 
= Explanations of the possible methods of integration  =
 
= Explanations of the possible methods of integration  =
Line 6: Line 6:
 
=== 1. Link  ===
 
=== 1. Link  ===
  
This is the simplest integration method allowing the donors to be guided to the organization's online donation forms.  
+
This is the simplest integration method allowing you to guide your donors to your online donation forms.  
  
 
Typical Uses:  
 
Typical Uses:  
  
*Integration to the organization's website  
+
*Integration to your own website  
 
*Emailing the link
 
*Emailing the link
  
 
Characteristics:  
 
Characteristics:  
  
*Possibility to access the list of forms, or to access a form directly  
+
*Possibility to access your list of forms, or to access a form directly  
 
*No programming required (only add a hyperlink)
 
*No programming required (only add a hyperlink)
 
=== 2. Link with Information Transfer  ===
 
=== 2. Link with Information Transfer  ===
  
This is a more advanced integration, which allow a form to be prefilled. <br>Typical Uses:  
+
This is a more advanced integration, allowing you to prefill a form. <br>Typical Uses:  
  
 
*Integration from a microsite  
 
*Integration from a microsite  
Line 61: Line 61:
  
 
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.  
 
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  =
 
= Technical Explanations  =
Line 85: Line 83:
 
Examples of links:  
 
Examples of links:  
  
*List of forms: [https://www.jedonneenligne.org/logilys https://www.imakeanonlinedonation.org/logilys]
+
*List of forms: https://www.imakeanonlinedonation.org/logilys  
*GEN form: [https://www.jedonneenligne.org/logilys/GEN https://www.imakeanonlinedonation.org/logilys/GEN]
+
*GEN form: https://www.imakeanonlinedonation.org/logilys/GEN  
*GEN forms (test mode): [https://www.jedonneenligne.org/logilys_test/GEN https://www.imakeanonlinedonation.org/logilys_test/GEN]
+
*GEN forms (test mode): https://www.imakeanonlinedonation.org/logilys_test/GEN  
 
=== 2. Link with information transfer  ===
 
=== 2. Link with information transfer  ===
  
 
This type of integration requires programming skills. See working prototype:
 
This type of integration requires programming skills. See working prototype:
*For ProDon 5.0.3.x (version 2.1 of JDEL site):
+
*For ProDon 5.0.5.x (version 2.1.2 of JDEL site):
**https://www.jedonneenligne.org/tools/integration_prototype/v2.1/integration_prototype.php
+
**https://www.jedonneenligne.org/tools/integration_prototype/v2.1.2/integration_prototype.php
**Sources downloading: https://www.jedonneenligne.org/tools/integration_prototype/v2.1/integration_prototype.zip
+
**Sources downloading: https://www.jedonneenligne.org/tools/integration_prototype/v2.1.2/integration_prototype.zip
 
The prototype has been prefilled to make you experience the integration simply by clicking on “send data”.  
 
The prototype has been prefilled to make you experience the integration simply by clicking on “send data”.  
  
Line 125: Line 123:
  
 
==== Additional input parameters (optional) to send when calling the form: ====
 
==== Additional input parameters (optional) to send when calling the form: ====
*PersonalUrl (encrypted): the URL of your callback, example: &amp;PersonalUrl=<nowiki>http://www.mysite.com/jdel_callback.php</nowiki>(encrypted).
+
*PersonalId (not encrypted): Unique ID for your transaction, example: &amp;PersonalId=00000001(not encrypted).  
*PersonalId (not encrypted): Unique ID for your transaction, example: &amp;PersonalId=00000001(not encrypted).
 
  
 
==== Output parameters sent to the post-treatment URL address ====
 
==== Output parameters sent to the post-treatment URL address ====
Line 161: Line 158:
 
* 1: required for type 0 and 1
 
* 1: required for type 0 and 1
 
* 2: required for type 2
 
* 2: required for type 2
 +
 +
==Update from ProDon 5.0.4.x==
 +
If you already have a functional integration with ProDon 5.0.4.x, please read the changes:
 +
# Edition to the structure of the return XML for the transaction :
 +
## Options 1 to 10 have been removed (del_trx_par_option1 to del_trx_par_option10) in node <del_trx_participant>
 +
## New fields have been added : del_trx_par_home, del_trx_par_office, del_trx_par_extension, del_trx_par_cellular, del_trx_par_personal_email and del_trx_par_corporate_email in node <del_trx_participant>
 +
## New fields have been added : del_trx_customization_key_name and del_trx_customization_key_uid in node <del_trx_customization>
 +
## New field have been added : del_trx_paysafe_transactionid.
 +
 +
==Update from ProDon 5.0.3.x==
 +
If you already have a functional integration with ProDon 5.0.3.x, please read the changes:
 +
#Edition to the structure of the return XML for the transaction :
 +
##New fields have been added : del_frm_code.
  
 
==Update from ProDon 5.0.2.x==
 
==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 :
+
If you already have a functional integration with ProDon 5.0.2.x, please read the changes :
 
#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 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 parameter 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".
 
#The PersonalUrl parameter 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".
Line 170: Line 180:
 
#Edition to the structure of the return XML for the transaction :
 
#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".
 
##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.
+
##New fields have been added : 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" and "callback.xml" of the prototype.
 
##Please refer to the files "callback_definition.xls" and "callback.xml" of the prototype.
 +
#Now, one must use the node "del_frm_customization_uid" in place of the "uid" attribute which could be found in the node "del_trx_customization".
  
 
{{Footer_ProDon}}<br>
 
{{Footer_ProDon}}<br>

Latest revision as of 08:03, 17 January 2023

Integration with Online Donation Forms

CAUTION: This document is conceived only for the 5.0.5.x VERSION of ProDon. Old documents: 5.0.4.x, 5.0.3.x, 5.0.2.x (french only), 4.7.3.x (french only).

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.

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:

2. Link with information transfer

This type of integration requires programming skills. See working prototype:

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:

  • 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.php
Definition :
  • 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.4.x

If you already have a functional integration with ProDon 5.0.4.x, please read the changes:

  1. Edition to the structure of the return XML for the transaction :
    1. Options 1 to 10 have been removed (del_trx_par_option1 to del_trx_par_option10) in node <del_trx_participant>
    2. New fields have been added : del_trx_par_home, del_trx_par_office, del_trx_par_extension, del_trx_par_cellular, del_trx_par_personal_email and del_trx_par_corporate_email in node <del_trx_participant>
    3. New fields have been added : del_trx_customization_key_name and del_trx_customization_key_uid in node <del_trx_customization>
    4. New field have been added : del_trx_paysafe_transactionid.

Update from ProDon 5.0.3.x

If you already have a functional integration with ProDon 5.0.3.x, please read the changes:

  1. Edition to the structure of the return XML for the transaction :
    1. New fields have been added : del_frm_code.

Update from ProDon 5.0.2.x

If you already have a functional integration with ProDon 5.0.2.x, please read the changes :

  1. 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.
  2. The PersonalUrl parameter 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".
  3. 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.
  4. 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.
  5. Edition to the structure of the return XML for the transaction :
    1. 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".
    2. New fields have been added : 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.
    3. Please refer to the files "callback_definition.xls" and "callback.xml" of the prototype.
  6. Now, one must use the node "del_frm_customization_uid" in place of the "uid" attribute which could be found in the node "del_trx_customization".

Document name: ProDon:Integration with Online Donation Forms