[cvs] [Wiki] changed: Project/Horde_Payment

Duck duck at obala.net
Fri Jan 30 01:14:35 UTC 2009


duck  Thu, 29 Jan 2009 20:14:35 -0500

Modified page: http://wiki.horde.org/Project/Horde_Payment
New Revision:  1.13
Change log:  Writing your own payment module interface

@@ -39,21 +39,32 @@
  * Limit payment methods per amount
  * Virtual host support
  * Possibility to add a testing process request

-+ Payment process for user
+++ Payment process for user

-++ Step 1: Type selection
++++ Step 1: Type selection
  When the user is redirected to the selling interface, he/her will be  
asked to select a payment module. The list will be populated with all  
modules available that are active, linked to application owning the  
transaction and in the amount value parameters. If there is only one  
module available, the selection screen is avoided and user is  
redirected directly to the next step. User can always come back and  
choose another method, as revoke a transaction at any time.

-++ Step 2: Enter data
++++ Step 2: Enter data
  User is asked for additional data required by the selected module.  
Values are stored in database for administrative purposes. This step  
is automatically skipped for modules does not need additional data  
entered by user. (See Horde_Payment_Method::hasLocalForm())

-++ Step 3: Validation
++++ Step 3: Validation
  The validation process of the payment module will be called or the  
user will be redirected to the remote validation page if the module  
has it. Here is where the selling application will be called back to  
be notified about authorization status change. (See  
Horde_Payment_Method::hasRemoteValidation(),  
Horde_Payment_Method::process())

-++ Step 4: Redirection page
++++ Step 4: Redirection page
  The user will be redirected back to the selling application page or  
to the result of the “authorizationReturn” call.
+
+++ Writing your a payment module
+
++++ Files
+
+A payment module is class extension of Horde_Payment_Method and  
should reside in a sub-directory /of lib/Modules named the same as you  
module. Inside this directory there must be:
+* version.php – telling the configuration screen the version of your module
+* conf.xml – a configuration options
+* Module.php – man class file.
+
+++ Api calls

  +++ authorizationRequest() usage example

  <code type="php">


More information about the cvs mailing list