1 These are the module writer's notes for v3. See the regular
2 "notes_for_module_writers" file first.
5 - If your gateway is HTTPS-based, use (or convert to)
6 Business::OnlinePayment::HTTPS !!
8 - Business::OnlinePayment::OpenECHO is the first "v3-ish" module, try
14 - If your processor module encounters a setup problem, communication
15 error or other problem that's prevents the card from even being
16 run, you should die (or croak) with a useful error message. Setting
17 is_success to 0 and returning normally should only be done when the
18 transaction *processing* was sucessful (or at least elicited some sort
19 of result from the gateway), but the transaction itself returned a
20 "normal" decline status of some sort.
22 - (NEW IN 3.00_04) You should set "failure_status" depending on the
23 specific failure result, if (and only if) the failure results from one
24 of the defined statuses:
27 - "nsf" (non-sufficient funds / credit limit)
31 - "inactive" (inactive card or not authorized for card-not-present) (?)
32 - "decline" (other card/transaction declines only, not other errors)
34 You should use code like this so your module can work with B:OP versions
37 $self->build_subs('failure_status') unless $self->can('failure_status');
39 (or add "failure_status" to your build_subs call if you have one during
43 - (NEW IN 3.01) Introspection:
45 - Add an _info subroutine to your module that returns a hashref of
50 'info_compat' => '0.01', # always 0.01 for now,
51 # 0.02 will have requirements
52 'gateway_name' => 'Example Gateway',
53 'gateway_url' => 'http://www.example.com/',
54 'module_version' => $VERSION,
55 'supported_types' => [ qw( CC ECHECK ) ],
56 'supported_actions' => [
57 'Normal Authorization',
66 # or a more complicated case:
70 'info_compat' => '0.01', # always 0.01 for now,
71 # 0.02 will have requirements
72 'gateway_name' => 'Example Gateway',
73 'gateway_url' => 'http://www.example.com/',
74 'module_version' => $VERSION,
75 'module_notes' => 'usage notes',
76 'supported_types' => [ qw( CC ECHECK ) ],
77 'supported_actions' => { 'CC' => [
78 'Normal Authorization',
83 'Recurring Authorization',
84 'Modify Recurring Authorization',
85 'Cancel Recurring Authorization',
88 'Normal Authorization',
93 'CC_void_requires_card' => 1,