File: notes_for_module_writers_v3

package info (click to toggle)
libbusiness-onlinepayment-perl 3.00~05-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 96 kB
  • ctags: 23
  • sloc: perl: 576; makefile: 45
file content (41 lines) | stat: -rw-r--r-- 1,565 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
These are the module writer's notes for v3.  See the regular
"notes_for_module_writers" file first.


- If your gateway is HTTPS-based, use (or convert to)
  Business::OnlinePayment::HTTPS !!

    - Business::OnlinePayment::OpenECHO is the first "v3-ish" module, try
      starting from there.


- Handling failures:

    - If your processor module encounters a setup problem, communication
      error or other problem that's prevents the card from even being
      run, you should die (or croak) with a useful error message.  Setting
      is_success to 0 and returning normally should only be done when the
      transaction *processing* was sucessful (or at least elicited some sort
      of result from the gateway), but the transaction itself returned a
      "normal" decline status of some sort.
      
    - (NEW IN 3.00_04) You should set "failure_status" depending on the
      specific failure result, if (and only if) the failure results from one
      of the defined statuses:

      - "expired"
      - "nsf" (non-sufficient funds / credit limit)
      - "stolen"
      - "pickup"
      - "blacklisted"
      - "inactive" (inactive card or not authorized for card-not-present) (?)
      - "decline" (other card/transaction declines only, not other errors)
  
      You should use code like this so your module can work with B:OP versions
      before 3.00_04:

        $self->build_subs('failure_status') unless $self->can('failure_status');

      (or add "failure_status" to your build_subs call if you have one during
      initialization)