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

From Logilys
Jump to: navigation, search
(Calling procedure)
m
 
(44 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), click here. To access the document of the 4.7.3.x version (FRENCH ONLY), 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 42: Line 42:
 
=== 3. Link with Information Transfer and Transaction Retrieval (post-treatment)  ===
 
=== 3. Link with Information Transfer and Transaction Retrieval (post-treatment)  ===
  
This includes the possibility of a “link with information transfer” (see second method) while allowing you to retrieve the completed transaction. <br>Typical Uses:  
+
This includes the possibility of a “link with information transfer” (see the second method) while allowing you to retrieve the completed transaction. <br>Typical Uses:  
  
 
*Integration from a microsite allowing you to manage objectives  
 
*Integration from a microsite allowing you to manage objectives  
Line 58: Line 58:
  
 
= Utilization fee =
 
= Utilization fee =
There are 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 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.  
 
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 109: Line 107:
  
 
*integration_prototype.php: the source code of the prototype  
 
*integration_prototype.php: the source code of the prototype  
*integration_js_prototype.php: other example in java script  
+
*integration_js_prototype.php: Another example in java script  
 
**encode64.js, mcrypt.js, rijndael.js: used by integration_js_prototype.php  
 
**encode64.js, mcrypt.js, rijndael.js: used by integration_js_prototype.php  
 
*list_parameters.txt: brief descriptions of the possible parameters.  
 
*list_parameters.txt: brief descriptions of the possible parameters.  
 
*callback.php, callback.txt : example of code to recover the transaction (see point 3).  
 
*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)  ===
 
=== 3. Link with Information Transfer and Transaction Recovery (Post-treatment URL)  ===
 
This type of integration requires programming skills.
 
This type of integration requires programming skills.
Line 124: 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 ====
*trx_xml (encrypted): xml of the transaction. See “callback return xml example.txt” in the sources of the prototype to view an example.  
+
*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.  
 
*mode (not encrypted): Contains “TEST” or “PROD” whether the transaction was made in test or production mode.  
 
*PersonalId (not encrypted): Your unique ID.
 
*PersonalId (not encrypted): Your unique ID.
Line 152: Line 150:
 
** 1 : Transaction list between 2 dates
 
** 1 : Transaction list between 2 dates
 
** 2 : Transaction per unique ID
 
** 2 : Transaction per unique ID
* startdate<sup>1</sup> : Date de début (Y-m-d H:i:s)
+
* startdate<sup>1</sup> : Start Date (Y-m-d H:i:s)
* enddate<sup>1</sup> : Date de fin (Y-m-d H:i:s)
+
* enddate<sup>1</sup> : End Date (Y-m-d H:i:s)
* frm_code<sup>1</sup> : Code du formulaire (* = tous les formulaires)
+
* frm_code<sup>1</sup> : Form Code (* = All forms)
** On peut utiliser aussi frm_uid qui est le id unique du formulaire
+
** We can also use frm_uid which is unique id of the form
* PersonalId<sup>2</sup> : identifiant unique de la transaction à récupérer
+
* PersonalId<sup>2</sup> : unique ID of the transaction to recover
Légende :
+
Legend :
* 1: requis pour type 0 et 1
+
* 1: required for type 0 and 1
* 2: requis pour 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.
  
==Mise à jour à partir de ProDon 5.0.2.x==
+
==Update from ProDon 5.0.2.x==
Si vous avez déjà une intégration fonctionnelle avec ProDon 5.0.2.x, veuillez prendre connaissances des changements à effectuer :
+
If you already have a functional integration with ProDon 5.0.2.x, please read the changes :
#La clé de cryptage pour l'intégration est maintenant configurable dans ProDon. Allez dans « Gestion des formulaires Web », « Configurer votre site Web », « Accès JeDonneEnLigne », « Clé de cryptage »Si vous aviez déjà une clé de cryptage, vous la verrez à cet endroit, sinon il vous sera possible d'en générer une.
+
#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.  
#Le paramètre PersonalUrl n'existe plus, pour configurer un URL de post-traitement, vous devez avoir une clé de cryptage (tel qu'expliqué ci-dessus), et vous devez configurer votre adresse URL dans le ou les formulaires en question.  À partir de la fiche de modification d'un formulaire Web avec ProDon, allez dans « Options avancées », « Intégration à JDEL » puis « Configuration de l'adresse URL pour l'intégration post-traitement ».
+
#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".
#Avec ProDon 5.0.2.x, le UserAgent était vide, mais maintenant nous utilisons le UserAgent suivant lors du POST sur l'adresse URL de post-traitement : Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.1.0 Waterfox/40.1.0.
+
#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.
#Les outils web.trx.php (récupérer une transaction par id), totalamount_report.php (obtenir le nombre et le montant total des transactions) et custom_report.php (récupérer des transactions par date) ont été remplacé par des nouveaux outils disponibles sur demande, configurable dans ProDon, voir la documentation.
+
#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.
#Modification à la structure du XML retourné pour une transaction :
+
#Edition to the structure of the return XML for the transaction :
##Les champs suivants ont été remplacés : "del_trx_country" devient "del_trx_address_country", "del_trx_country_uid" devient "del_trx_address_country_uid", "del_trx_province" devient "del_trx_address_province", "del_trx_province_uid" devient "del_trx_address_province_uid", "del_trx_city" devient "del_trx_address_city", "del_trx_postalcode" devient "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".
##Nouveaux champs ajoutés : 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.
##Référez-vous au document "callback return xml example.txt" du prototype afin d'avoir un exemple d'une transaction en XML.
+
##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