PayWay CPAN module for Westpac bank in Australia
January 2020, v1.0, public release after quite some production use. Works with Interchange's BusinessOnlinePayment.
Cardsave Payment module for Interchange
August 2013, v0.9.8, for use with cardsave.net in the UK. This fixes a bug at Cardsave whereby
they return the issuer for the new Lloyds cards as a string, when all other issuers are
returned as a hash, contrary to their API.
HSBC Payment Module for Interchange
December 2012: v1.0.1 with change of URLs due to change of legal ownership from
eSecurePayments to GlobalIris.
This does 3DSecure for HSBC - it was written for the UK but probably works
anywhere in the world. It also does repeat payments and various other
functions provided by the API.
Iridium payment module for Interchange
October 2011, v1.0.0. This module is for Iridium in the UK, who are seen
as the replacement of choice for those abandoning Sagepay.
SagePay payment module for Interchange
July 2010, v0.8.9. This is the erstwhile Protx gateway rebranded after purchase by Sage. This module
runs 3DSecure (ie, "Verified by Visa" and "Mastercard Securecode") and falls back to standard processing
for those cards not part of 3DS. Besides the usual authenticate, payment and deferred types, when used
with a suitable terminal it can also do the following: authorise, repeat, refund, void, cancel, abort
and direct payment to a credit card. It has a function to check that the Sagepay gateway is available and
optionally complete the transaction offline if it's not. It has another function to check for the response
from Sagepay being empty and then querying their database to hopefully obtain a correct response during
run-time . Their database may be queried at any time from a suitable
terminal keyed on the IC-generated 'order-id'. An 'offline' order may be converted into a normal paid order
using a suitable terminal.
TODO: Sagepay are still promising to provide the "Third Man" fraud-checking results at run-time, and if they
do I will add this function in.
As a 3DS 'authenticate' does not provide any of the normal AVS/CV2 results, a function should be added to
run an 'authorise/void' for a token amount after the 'authenticate', to get the AVS/CV2 results back.
Paypal Express Payment Module for Interchange
November 2015, v1.1.6: bug fixes, update to allow setting of LandingPage
March 2014, v1.1.2: incorporated Racke's updates
; stripped locale tags from data displayed in the basket at Paypal
; truncated description field displayed in itemised basket at paypal to 127 chars
; set $Vend::Cfg->{'PriceField'} to $::Scratch->{'PriceField'} if so defined
; fixed rounding error when sending basket with discounts
October 2011, v1.1.0, added repeat payments, itemised checkout at
Paypal, added full or partial refunds, add 'getbalance' of your account (including
multi currency accounts), added 'send credit' to a credit card, added functions
to manage or modify repeat payments. NB:/ now requires Date::Calc
Full documentation is in the head.
GoogleCheckout payment module for Interchange
September 2009, v0.7.4. Updated documentation. This version uses XML::Simple rather than Google's own custom libraries.
It also uses a temporary order number until Google reports that the card has been charged, when it creates
a normal order number. It logs the order in the database as pending immediately upon hitting 'submit to Google'
and also logs a backup order in text format. It updates the database status each time that Google sends
a notification, and upon successful completion at Google it completes the IC order route and sends emails to
the customer and merchant. It allows all possible commands, eg 'refund', 'authorise', 'deliver' etc to
be actioned via a suitable admin terminal. This includes options to add bothe IC and GCO order numbers to the emailed
report, along with various other tweaks.
One thing it does not do, as a result of an early policy
decision, is allow the customer to change address once at Google. This function may be added into a future
version however. All configuration options are documented in the head of the module.
Moneris payment module for Interchange
September 2009, v1.1.1. This implements standard payments plus recurring billing for Moneris in Canada - it does not
implement either "Interac" or "Verified by Visa". It requires that the classes library is also installed into the same
directory as the module.
Worldpay payment module for Interchange
November 2011, v1.0.2. This was written by Andy Smith of tvcables.co.uk, and kindly donated to Interchange. It handles
callbacks from Worldpay and updates the database and inventory accordingly.
This update adds encryption to the request string to prevent tampering.
|
Usertags and other stuff for Interchange
Log order tag: this logs the entire basket plus the customer's delivery and billing addresses, and
is intended as a failsafe backup in case your order route or something else fails.
Place it in the body of the final submit button in the checkout page (some payment modules, eg
PaypalExpress and SagePay) will optionally call this tag themselves without putting it in the button.
Verifyemail tag: this checks not only the format, but checks with the recipient's mail server that the
address exists. Not all mail servers will respond to this check, but it's still a useful check that
catches many bad addresses. Required perl modules listed in the tag
Schedule 'at' tag: this hands IC jobs over to the 'at' daemon to execute, either at
some future date specified, or at a specified interval in the future. Eg, if time
is '2010:10:20:20:10' then the file will be executed at 20:10 on 20.10.2010 (20th Oct).
Or time can be 'now + 1 month'. The file to be executed should run whatever code
you want, eg a mass mailing, and the system will handle this without any further
impact on IC.
State.txt with entries for all countries within the UK (England, Scotland,
Wales plus Northern Ireland), a separate list for Great Britain (ie without
Northern Ireland), and entries for these countries and their regions: France,
Germany, Spain, Italy, Portugal, New Zealand, Austria, Switzerland
|