summaryrefslogtreecommitdiff
path: root/notes_for_module_writers
diff options
context:
space:
mode:
authorjeff <jeff>2009-03-02 23:42:02 +0000
committerjeff <jeff>2009-03-02 23:42:02 +0000
commit0d35df46d6edbe51eb56f7444e4382f69827150a (patch)
tree657b09fe970ce2c0a254708e91cfcfe0e7fcf22e /notes_for_module_writers
Diffstat (limited to 'notes_for_module_writers')
-rw-r--r--notes_for_module_writers33
1 files changed, 33 insertions, 0 deletions
diff --git a/notes_for_module_writers b/notes_for_module_writers
new file mode 100644
index 0000000..57bd098
--- /dev/null
+++ b/notes_for_module_writers
@@ -0,0 +1,33 @@
+Information on creating a new processor backend to go with
+Business::OnlineThirdPartyPayment.
+-----------------------------------------------------------
+
+NOTE:
+
+ You should read the notes in Business::OnlinePayment first.
+
+Create a subclass of Business::OnlineThirdPartyPayment called
+Business::OnlinePayment::(processor name). You should override at least
+the set_defaults, submit, and reference methods.
+
+See Business::OnlineThirdPartyPayment::Interswitchng as an example.
+
+submit:
+ This method functions with both a "Authorize Only" and "Post Authorization"
+action. The former must, at a minumum, ensure that popup_url will return
+an appropriate value when submit also sets is_successful.
+
+ Nothing has happened at this point other than verifying the data is valid
+and providing the caller with a redirection url.
+
+ When called with "Post Authorization" steps are taken to verify that funds
+have been authorized by the processor.
+
+reference:
+ This method is called with a hash of key/value pairs, typically as the
+result of a HTTP GET or POST, but by whatever mechanism the processor provides.
+The return value must be the unique reference provided to the "Authorize Only"
+submit. Since the usage consists of submit(action=>'Authorize Only'),
+reference(key=>value...), submit(action=>'Post Authorization'), this may be
+the appropriate time to set the state of the object for some processors.
+