Business-eWAY-RapidAPI
view release on metacpan or search on metacpan
examples/web/cgi-bin/default.pl view on Meta::CPAN
## Populate values for LineItems
my $item1 = Business::eWAY::RapidAPI::LineItem->new();
$item1->SKU("SKU1");
$item1->Description("Description1");
my $item2 = Business::eWAY::RapidAPI::LineItem->new();
$item2->SKU("SKU2");
$item2->Description("Description2");
$request->Items->LineItem( [ $item1, $item2 ] );
## Populate values for Options
my $opt1 =
Business::eWAY::RapidAPI::Option->new( Value => $q->param('txtOption1') );
my $opt2 =
Business::eWAY::RapidAPI::Option->new( Value => $q->param('txtOption2') );
my $opt3 =
Business::eWAY::RapidAPI::Option->new( Value => $q->param('txtOption3') );
$request->Options->Option( [ $opt1, $opt2, $opt3 ] );
$request->Payment->TotalAmount( $q->param('txtAmount') );
$request->Payment->InvoiceNumber( $q->param('txtInvoiceNumber') );
$request->Payment->InvoiceDescription( $q->param('txtInvoiceDescription') );
$request->Payment->InvoiceReference( $q->param('txtInvoiceReference') );
$request->Payment->CurrencyCode( $q->param('txtCurrencyCode') );
## Url to the page for getting the result with an AccessCode
$request->RedirectUrl( $q->param('txtRedirectURL') );
## Method for this request. e.g. ProcessPayment, Create TokenCustomer, Update TokenCustomer & TokenPayment
$request->Method( $q->param('ddlMethod') );
my $result;
eval { $result = $rapidapi->CreateAccessCode($request); };
if ($@) {
print $session->header();
print $@;
exit;
}
## Save result into Session. payment.pl and results.pl will retrieve this result from Session
$session->param( 'TotalAmount', $q->param('txtAmount') );
$session->param( 'InvoiceReference', $q->param('txtInvoiceReference') );
$session->param( 'Response', $result );
$session->flush();
## Check if any error returns
if ( defined( $result->{'Errors'} ) ) {
$lblError = $rapidapi->ErrorsToString( $result->{'Errors'} );
}
else {
## All good then redirect to the payment page
print $session->header( -location => 'payment.pl' );
exit();
}
}
print $session->header();
$session->flush();
## Content
print
qq|<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">|
. qq|<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">|
. qq|<head>|
. qq| <title></title>|
. qq| <link href="../Styles/Site.css" rel="stylesheet" type="text/css" />|
. qq| <link href="../Styles/jquery-ui-1.8.11.custom.css" rel="stylesheet" type="text/css" />|
. qq| <script src="../Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>|
. qq| <script src="../Scripts/jquery-ui-1.8.11.custom.min.js" type="text/javascript"></script>|
. qq| <script src="../Scripts/jquery.ui.datepicker-en-GB.js" type="text/javascript"></script>|
. qq| <script type="text/javascript" src="../Scripts/tooltip.js"></script>|
. qq|</head>|
. qq|<body>|
. qq| <form method="POST">|
. qq| <center>|
. qq| <div id="outer">|
. qq| <div id="toplinks">|
. qq| <img alt="eWAY Logo" class="logo" src="../Images/companylogo.gif" width="960px" height="65px" />|
. qq| </div>|
. qq| <div id="main">| . qq||
. qq| <div id="titlearea">|
. qq| <h2>Sample Merchant Page</h2>|
. qq| </div>|;
if ( defined($lblError) ) {
print qq| <div id="error">|
. qq| <label style="color:red"> $lblError </label>|
. qq| </div>|;
}
print qq| <div id="maincontent">|
. qq| <div class="transactioncustomer">|
. qq| <div class="header first">|
. qq| Request Options|
. qq| </div>|
. qq| <div class="fields">|
. qq| <label for="txtRedirectURL">Redirect URL</label>|
. qq| <input id="txtRedirectURL" name="txtRedirectURL" type="text" value="$redirect_url" />|
. qq| </div>|
. qq| <div class="header">|
. qq| Payment Details|
. qq| </div>|
. qq| <div class="fields">|
. qq| <label for="txtAmount">Amount <img src="../Images/question.gif" alt="Find out more" id="amountTipOpener" border="0" /></label>|
. qq| <input id="txtAmount" name="txtAmount" type="text" value="100" />|
. qq| </div>|
. qq| <div class="fields">|
. qq| <label for="txtCurrencyCode">Currency Code </label>|
. qq| <input id="txtCurrencyCode" name="txtCurrencyCode" type="text" value="AUD" />|
. qq| </div>|
. qq| <div class="fields">|
. qq| <label for="txtInvoiceNumber">Invoice Number</label>|
. qq| <input id="txtInvoiceNumber" name="txtInvoiceNumber" type="text" value="Inv 21540" />|
. qq| </div>|
. qq| <div class="fields">|
. qq| <label for="txtInvoiceReference">Invoice Reference</label>|
. qq| <input id="txtInvoiceReference" name="txtInvoiceReference" type="text" value="513456" />|
. qq| </div>|
. qq| <div class="fields">|
. qq| <label for="txtInvoiceDescription">Invoice Description</label>|
. qq| <input id="txtInvoiceDescription" name="txtInvoiceDescription" type="text" value="Individual Invoice Description" />|
. qq| </div>|
( run in 0.652 second using v1.01-cache-2.11-cpan-172d661cebc )