iDeal Payment API for Drupal (Unmaintained Drupal modules)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Bèr Kessels 951e76bd18 Fixed typo in table generation code: updateD_at instead of update_at. 10 years ago
.gitignore the stuff in /lib must be ignored. 10 years ago
ideal_payment_api.info Storing an old but usefull module that could be used as general ideal-payment environment. 10 years ago
ideal_payment_api.install Fixed typo in table generation code: updateD_at instead of update_at. 10 years ago
ideal_payment_api.module Added submit and validate handlers so that ideal form can be embedded. 10 years ago
ideal_payment_api_connector.inc.php Spacefixes, typofixes and removal of debug-code. 10 years ago
ideal_payment_api_db.inc Spacefixes, typofixes and removal of debug-code. 10 years ago
ideal_payment_api_thinmpi.inc.php Storing an old but usefull module that could be used as general ideal-payment environment. 10 years ago
readme.txt Added initial database description. 10 years ago

readme.txt

iDeal payment API

PREREQUISITES

- Drupal 5.X


INSTALLATION

Install and activate this module like every other Drupal
module.
This module needs openssl-extension for PHP enabled.

!!IMPORTANT!!
RABO THINMPI SUPPORT IS NOT YET IMPLEMENTED!!
-Download the "thinmpi" or "iDEALConnector" PHP librairy from the iDEAL controlpanel/dashboard, available to you when you have an iDEAL account. This can be inside a "PHP programming example" archive in the documents section of the iDEAL dashboard.
Due to licencing restriction this code can not be included on Drupal.org.
-ThinMPI: NOT YET SUPPORTED!!
-Copy the contents of the entire extracted thinmpi directory to the module directory "ideal_payment_api/lib". The directorystructure should be like "ideal_payment_api/lib/iDEALConnector.php"
-Open "LoadConf.php" file for editing and change the function name "LoadConfiguration()" to something else like "donotLoadConfiguration()". Failing to do so will hang your site upon module installation.
-Copy private key + cert to "lib/security/" directory.
-iDEALConnector:
-Copy the contents of the entire extracted connector directory to the module directory "ideal_payment_api/lib". The directorystructure should be like "ideal_payment_api/lib/ThinMPI.php"
-Open "iDEALConnector.php" file for editing and add this line " return LoadConfiguration(); //Qrios hack for iDEAL" just below " function loadConfig()" on line 722 on this moment. Make sure to add this after the opening bracket "{". If you don't do this the "includes/security/config.conf" file will be used for settings, the iDEAL settings will be discarded.
-Open "iDEALConnector_config.inc.php" file for editing and replace the line "define( "SECURE_PATH"...." on line 10 on this moment for "define( "SECURE_PATH", $_SERVER['DOCUMENT_ROOT'].'/'.drupal_get_path('module', 'ideal_payment_api')."/lib/includes/security");". If you don't do this you can configure this setting manually. This will give you the opportunity to locate this directory outside the web root, though the contents are protected by a .htaccess file.
-Copy private key + cert to "lib/includes/security/" directory.
-Thats it, see docs + FAQ in iDEAL dashboard for more info.


API

ideal_payment_api_payment_page($order_id, $order_desc, $order_total, $path_back_error, $path_back_succes)

Arguments:
$order_id, integer, must be unique, or else payment will be rejected
$order_desc, string
$order_total, decimal number ###,##
$path_back_error, string, drupal path to redirect to on unsuccesfull payment. Probably the originating product/order form.
$path_back_succes, string, drupal path to redirect to on succesfull payment. Probably the home page or a "thank you" page.

DATABASE
One table ideal_payment_api_orders

* oid - Primary key
* user_id - For registered or logged in users: set to their ID, else 0
* description - Short, human readable string describing the Order.
* amount - Price, in cents.
* issuer_id - Id of the bank from which the transaction is to be performed (user's choice),
* transaction_id - Key of the transaction in your remote Ideal database
* payment_status - Integer describing the status of the payment. Currently:
** 0 - Not payed.
** 1 - Payed
* foreign_id - Free ID-field to store your own ID, when integrating. E.g to match against your e-commerce's package order_id.

DESCRIPTION

Receive payments through checkout via Ideal ING/Postbank Advanced or Rabo Professional.


TOUBLESHOOTING

-Blank page when trying to submit an order: Review Drupal log for "Cannot modify header information - headers already sent by..." messages, remove empty lines after closing PHP tag "?>" in the file mentioned in the log message.


ORIGINAL AUTHOR

C. Kodde
Qrios Webdiensten
http://qrios.nl
c.kodde NOatSPAM qrios dot nl


SPONSOR

webschuur