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

From Logilys
Jump to: navigation, search
m
Line 1: Line 1:
{{Header_TOC}}<br>
+
{{Header_TOC}}
 +
= Explanations of the 3 possible methods of integration  =
  
= Explanations of the 3 possible methods of integration<br> =
+
=== 1. Link ===
  
=== 1. Link<br>  ===
+
This is the simplest integration method allowing you to guide your donors to your online donation forms.  
  
This is the simplest integration method allowing you to guide your donors to your online donation forms.<br>
+
Typical Uses:  
 
 
Typical Uses:<br>
 
  
 
*Integration to your own website  
 
*Integration to your own website  
 
*Emailing the link
 
*Emailing the link
  
Characteristics:<br>
+
Characteristics:  
  
 
*Possibility to access your 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 (addition of a hyperlink only)
 
*No programming required (addition of a hyperlink only)
 +
=== 2. Link with Information Transfer  ===
  
<br>
+
This is a more advanced integration, allowing you to prefill a form. <br>Typical Uses:  
 
 
=== 2. Link with Information Transfer<br>  ===
 
 
 
This is a more advanced integration, allowing you to prefill a form. <br>Typical Uses:<br>
 
  
 
*Integration from a microsite  
 
*Integration from a microsite  
Line 33: Line 29:
 
**In-house system (members, alumni management, etc.)
 
**In-house system (members, alumni management, etc.)
  
Characteristics:<br>
+
Characteristics:  
  
 
*Programming required (examples provided)  
 
*Programming required (examples provided)  
Line 42: Line 38:
 
**Customized form information (e.g. name/team ID, specific questions, etc.)
 
**Customized form information (e.g. name/team ID, specific questions, etc.)
  
=== <br>3. Link with Information Transfer and Transaction Retrieval<br> ===
+
=== 3. Link with Information Transfer and Transaction Retrieval  ===
  
This includes the possibility of a “link with information transfer” (see second method) while allowing you to retrieve the completed transaction. <br>Typical Uses:<br>
+
This includes the possibility of a “link with information transfer” (see 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  
 
*It allows the microsite or the organization to monitor in real time the progress of the donations
 
*It allows the microsite or the organization to monitor in real time the progress of the donations
  
Characteristics:<br>
+
Characteristics:  
  
 
*Programming required (examples provided)  
 
*Programming required (examples provided)  
 
*Additional programming required for “CallBack” (to receive the transaction information in XML format)
 
*Additional programming required for “CallBack” (to receive the transaction information in XML format)
  
= <br>Technical Explanations<br> =
+
= Technical Explanations  =
  
=== 1. Link<br> ===
+
=== 1. Link  ===
  
 
Format of the link:  
 
Format of the link:  
Line 62: Line 58:
 
ORG_DIR[/test][/index.php?form=FORM_NAME]
 
ORG_DIR[/test][/index.php?form=FORM_NAME]
 
</pre>  
 
</pre>  
Definition: <br>
+
Definition:
  
 
*ORG_DIR: Organization directory on IMakeAnOnlineDonation or JeDonneEnLigne  
 
*ORG_DIR: Organization directory on IMakeAnOnlineDonation or JeDonneEnLigne  
Line 68: Line 64:
 
*[/index.php?form=FORM_NAME]: Name of the form to call (unspecified = list of forms)
 
*[/index.php?form=FORM_NAME]: Name of the form to call (unspecified = list of forms)
  
Examples of links:<br>
+
Examples of links:  
  
 
*List of forms: https://www.jedonneenligne.org/logilys_pbrochu  
 
*List of forms: https://www.jedonneenligne.org/logilys_pbrochu  
Line 74: Line 70:
 
*List of forms (test mode): https://www.jedonneenligne.org/logilys_pbrochu/test  
 
*List of forms (test mode): https://www.jedonneenligne.org/logilys_pbrochu/test  
 
*DGEN forms (test mode): https://www.jedonneenligne.org/logilys_pbrochu/test/index.php?form=DGEN
 
*DGEN forms (test mode): https://www.jedonneenligne.org/logilys_pbrochu/test/index.php?form=DGEN
 
<br>
 
 
 
=== 2. Link with information transfer  ===
 
=== 2. Link with information transfer  ===
  
Line 83: Line 76:
 
The prototype has been prefilled to make you to experience the integration simply by clicking on “send data”.  
 
The prototype has been prefilled to make you to experience the integration simply by clicking on “send data”.  
  
Here are the possible settings of the prototype:<br>
+
Here are the possible settings of the prototype:  
  
 
*Key: Unique encryption key for each organization. The key in this example works for the “logilys_pbrochu” organization. This key is generated by Logilys upon request from the organization and then sent to the integrator (if necessary).  
 
*Key: Unique encryption key for each organization. The key in this example works for the “logilys_pbrochu” organization. This key is generated by Logilys upon request from the organization and then sent to the integrator (if necessary).  
Line 99: Line 92:
 
*list_parameters.txt: brief descriptions of the possible parameters.  
 
*list_parameters.txt: brief descriptions of the possible parameters.  
 
*callback return xml example.txt: example for integration method 3, described below. 
 
*callback return xml example.txt: example for integration method 3, described below. 
 
<br>
 
 
 
=== 3. Link with Information Transfer and Transaction Recovery  ===
 
=== 3. Link with Information Transfer and Transaction Recovery  ===
  
Line 113: Line 103:
 
*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).
  
Outbound parameters sent to your “PersonalUrl”: <br>
+
Outbound parameters sent to your “PersonalUrl”:
  
 
*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 return xml example.txt” in the sources of the prototype to view an example.  

Revision as of 09:35, 14 June 2016

Integration with Online Donation Forms

Explanations of the 3 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 (addition of a hyperlink only)

2. Link with Information Transfer

This is a more advanced integration, allowing you to prefill a form.
Typical Uses:

  • Integration from a microsite
    • Registration of teams / participants
    • Donation to a team / participant
    • Viral campaigns
  • Integration from a third-party organization
    • Telemarketing firm
    • Web development firm
  • Integration from a third-party system
    • In-house system (members, alumni management, etc.)

Characteristics:

  • Programming required (examples provided)
  • Simple integration by GET (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

This includes the possibility of a “link with information transfer” (see 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 “CallBack” (to receive the transaction information in XML format)

Technical Explanations

1. Link

Format of the link:

https://www.imakeanonlinedonation.org/ or https://www.jedonneenligne.org/
ORG_DIR[/test][/index.php?form=FORM_NAME]

Definition:

  • ORG_DIR: Organization directory on IMakeAnOnlineDonation or JeDonneEnLigne
  • [/test]: Test Mode active (unspecified = production mode)
  • [/index.php?form=FORM_NAME]: Name 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 on https://www.imakeanonlinedonation.org/tools/integration_prototype.php

The prototype has been prefilled to make you to 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 in this example works for the “logilys_pbrochu” organization. This key is generated by Logilys upon request from the organization and then sent to the integrator (if necessary).
  • Directory: Organization directory on IMakeAnOnlineDonation (add “/test” to activate test mode).
  • Form (UID): Number of the form to be used for the information transfer.
  • Personal information used in the example: Country, Title, First name, Last name, Address, City, Postal code, Email, Home phone.
  • Transaction information used in the example: Amount, Activity (UID), Payment method (UID) and Receipt (logical value).
  • 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: other 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 return xml example.txt: example for integration method 3, described below. 

3. Link with Information Transfer and Transaction Recovery

See technical explanations of “link with information transfer”, prior. This integration allows you to recover the transaction after.

The transaction information will be transferred (POST) in XML format to the URL of your choice (which will have to be specified in parameters when calling the form).

Additional inbound parameters 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).

Outbound parameters sent to your “PersonalUrl”:

  • trx_xml (encrypted): xml of the transaction. See “callback return xml example.txt” 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.

Document name: ProDon:Integration with Online Donation Forms