AxKit::XSP::Handel::Checkout - AxKit XSP Checkout Taglib
Add this taglib to AxKit in your http.conf or .htaccess:
AxAddXSPTaglib AxKit::XSP::Handel::Checkout
Add the namespace to your XSP file and use the tags:
<xsp:page language="Perl" xmlns:xsp="http://apache.org/xsp/core/v1" xmlns:checkout="http://today.icantfocus.com/CPAN/AxKit/XSP/Handel/Checkout" > <checkout:new phases="CHECKOUT_PHASE_AUTHORIZE"> <checkout:loadcart>11111111-1111-1111-1111-111111111111</checkout:loadcart> <checkout:process> <checkout:ok> <ok>Your order has be charged!</ok> <checkout:order> <number><order:number/></number> <total><order:total/></total> ... </checkout:order> </checkout:ok> <checkout:error> <messages> <message>Bad things happened!</message> <checkout:messages> <message><checkout:message/></message> </checkout:messages> </messages> </checkout:error> </checkout:process> </checkout:new>
This tag library provides an interface to use Handel::Checkout inside of your AxKit XSP pages.
Handel::Checkout
<checkout:new pluginpaths|addpluginpaths|loadplugins|ignoreplugins|order|cart|phases="value"...> <checkout:addmessage></checkout:addmessage> <checkout:loadorder></checkout:loadorder> <checkout:loadcart></checkout:loadcart> <checkout:plugins> <checkout:plugin/> </checkout:plugins> <checkout:phases> <checkout:phase/> </checkout:phases> <checkout:process phases=""> <checkout:ok> ... </checkout:ok> <checkoout:error> ... </checkout:error> </checkout:process> <checkout:messages> <checkout:message/> <checkout:message-property/> </checkout:messages> <checkout:order> <order:*/> </checkout:order> </checkout:new>
Adds a message to the current checkouts messages collection:
<checkout:new> <checkout:addmessage>My new message...</checkout:addmessage> </checkout:new>
If process fails, anything in the error block is run:
<checkout:new> <checkout:process> <checkout:error> <error>Something bad happened!</error> </checkout:error> </checkout:process> </checkout:new>
You may also use fail and failure in addition to ok.
Loads the specified cart into the current checkout process. It currently accepts the carts uuid value:
<checkout:new> <checkout:loadcart>11111111-1111-1111-1111-11111111</checkout:loadcart> </checkout:new>
Loads the specified order into the current checkout process. IT currently accepts the orders uuid value:
<checkout:new> <checkout:loadorder>11111111-1111-1111-1111-11111111</checkout:loadorder> </checkout:new>
If process succeeds, anything in the ok block is run:
<checkout:new> <checkout:process> <checkout:ok> <error>Your order is complete!</error> </checkout:ok> </checkout:process> </checkout:new>
You may also use success and successful in addition to ok.
Returns the current message text. You may also access additional message properties by append -propertyname to the message tag:
<checkout:messages> <message> <text><checkout:message/></text> <line><checkout:message-line/></line> <package><checkout:message-package/></package> </message> </checkout:messages>
Returns the messages associated to this checkout process; usually containing failure information.
Creates a new checkout process.
<checkout:new order='11111111-1111-1111-1111-111111111111'> </checkout:new>
See Handel::Checkout for the available options.
Returns the order currently associated with this checkout process. If you also load the Order taglib, all order properties are available:
<xsp:page language="Perl" xmlns:xsp="http://apache.org/xsp/core/v1" xmlns:order="http://today.icantfocus.com/CPAN/AxKit/XSP/Handel/Order" xmlns:checkout="http://today.icantfocus.com/CPAN/AxKit/XSP/Handel/Checkout" > <checkout:new order="11111111-1111-1111-1111-111111111111"> <checkout:process> <checkout:order> <order> <number><order:number/></number> <total><order:total/></total> <items> <order:items> ... </order:items> </items> </order> </checkout:order> </checkout:process> </checkout:new>
Returns the current phase value in the list of phases:
<checkout:phases> <phase><checkout:phase></phase> </checkout:phases>
Loops though the list of phases for the current checkout process:
<checkout:new phases="CHECKOUT_PHASE_INITIALIZE, CHECKOUT_PHASE_VALIDATE"> <checkout:phases> <phase><checkout:phase></phase> </checkout:phases> </checkout:new>
Returns the current plugin name in the list of loaded plugins:
<checkout:plugins> <plugin><checkout:plugin/></plugin> </checkout:plugins>
Loops through the list of loaded plugins for the current checkout process:
<checkout:new pluginpaths="MyApp::Plugins"> <checkout:plugins> <plugin><checkout:plugins/></plugin> </checkout:plugins> </checkout:new>
Runs the current checkout process and sets ok/error:
<checkout:new> <checkout:process> </checkout:process> </checkout:new>
See Handel::Checkout for the available options to process.
Christopher H. Laco CPAN ID: CLACO claco@chrislaco.com http://today.icantfocus.com/blog/
To install Handel, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Handel
CPAN shell
perl -MCPAN -e shell install Handel
For more information on module installation, please visit the detailed CPAN module installation guide.