Business-OnlinePayment-WorldPay version 1.00 ============================================ This module subclasses Business::OnlinePayment to provide a basic merchant processing interface for submitting transactions as XML requests in the direct model provided by RBS WorldPay. http://www.rbsworldpay.com http://www.rbsworldpay.com/support/bg/xml/kb/submittingtransactionsdirect/dxml.html Orders submitted to the RBS WorldPay system are required to be valid XML files as specified in their Document Type Definition (DTD): http://dtd.wp3.rbsworldpay.com/paymentService_v1.dtd OVERVIEW General procedure for use of the Business::OnlinePayment::WorldPay module: 1) create a Business::OnlinePayment object with "WorldPay" as parameter to contructor. This returns a Business::OnlinePayment::WorldPay object. 2) invoke the content method with one of the following actions: * payment * status * cancel * refund * cancel_or_refund (undocumented) Additional parameters are required; varies depending on the action. 3) invoke the submit method, in which most of the action occurs: * initializes object * creates variables for filling in to a template of an XML request * selects the appropriate XML template and processes it to fill in needed values * uses post_https to submit the request and obtain the response * examines response headers to verify request was successful * uses XML::TreeBuilder to parse the body of the response (XML response varies in structure depending on the type of request) * extracts needed status and/or error information from the TreeBuilder object and stores in the Business::OnlinePayment::WorldPay object 4) query the Business::OnlinePayment::WorldPay object to determine whether the request was successful and to retrieve other status information and/or error messages. See the test programs in the t/ directory of this distribution for examples. INSTALLATION To install this module type the following: perl Makefile.PL make make test make install To fully run the test suite, supply your RBS WorldPay account information via three environment variables: WORLDPAY_INSTALLATION_ID WORLDPAY_MERCHANT_CODE WORLDPAY_XML_PASSWORD Otherwise, most of the tests will be skipped. A verbose trace can be produced with an additional environment variable: WORLDPAY_DEBUG=1 DEPENDENCIES This module requires these other modules and libraries: * Business::OnlinePayment * Template -- to construct XML requests * MIME::Base64 -- encode used to create header for basic HTTP authentication * Net::SSLeay -- post_https & make_headers used to submit requests * XML::TreeBuilder -- to parse XML responses COPYRIGHT AND LICENCE Copyright (C) 2010 Paul Grassie, Ardis Health, http://www.ardishealth.com. All Rights Reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.