[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