NAME
   Business::PayPoint::MCPE - PayPoint: Merchant Card Payment Engine

SYNOPSIS
       use Business::PayPoint::MCPE;

       my $bpm = Business::PayPoint::MCPE->new(
           TestMode => 1,
           InstID => '123456',
       );

       my %data = $bpm->payment(
           CartID => 654321,
           Desc   => 'description of goods',
           Amount => '10.00',
           Currency => 'GBP',
           CardHolder => 'Joe Bloggs',
           Postcode   => 'BA12BU',
           Email      => '[email protected]',
           CardNumber => '1234123412341234',
           CV2        => '707',
           ExpiryDate => '0616',
           CardType   => 'VISA',
           Country    => 'GB',
       );
       print Dumper(\%data); use Data::Dumper;

DESCRIPTION
   Business::PayPoint::MCPE is for
   <https://www.paypoint.net/assets/guides/MCPE_Freedom+IMA_2.3.pdf>

METHODS
 new
   InstID
       required.

   TestMode
       1 or 0. default is 0.

 payment
       my %data = $bpm->payment(
           CartID => 654321,
           Desc   => 'description of goods',
           Amount => '10.00',
           Currency => 'GBP',
           CardHolder => 'Joe Bloggs',
           Postcode   => 'BA12BU',
           Email      => '[email protected]',
           CardNumber => '1234123412341234',
           CV2        => '707',
           ExpiryDate => '0616',
           CardType   => 'VISA',
           Country    => 'GB',
       );
       print Dumper(\%data);

 refund
       my $TransID = $data{TransID}; # from above payment
       my $SecurityToken = $data{SecurityToken};
       my %data = $bpm->refund(
           TransID => $TransID,
           SecurityToken => $SecurityToken,
           Amount => '5.00',
       );

 repeat
       my $TransID = $data{TransID}; # from above payment
       my $SecurityToken = $data{SecurityToken};
       my %data = $bpm->repeat(
           TransID => $TransID,
           SecurityToken => $SecurityToken,
           Amount => '5.00',
       );

 capture
       my %data = $bpm->capture(
           TransID => $TransID,
           SecurityToken => $SecurityToken,
           Amount => '5.00',
       );
       print Dumper(\%data);

   PreAuth Capture

 void
       my %data = $bpm->void(
           TransID => $TransID,
           SecurityToken => $SecurityToken,
           Amount => '5.00',
       );
       print Dumper(\%data);

   PreAuth Void

 cancel
       my %data = $bpm->void(
           ScheduleID => $ScheduleID
       );
       print Dumper(\%data);

   Subscription Cancellation

 confirm
       my %data = $bpm->confirm(
           CartID => $CartID
       );
       print Dumper(\%data);

   Transaction Confirm

 nonauth
       my %data = $bpm->nonauth(
           CartID => $CartID,
           Desc   => 'description of goods',
           Amount => '10.00',
           Currency => 'GBP',
           PaymentType => 'NETELLER',
           PaymentDetail => "450000000001",
           Postcode   => 'BA12BU',
           Email      => '[email protected]',
           Country    => 'GB',
       );
       print Dumper(\%data);

AUTHOR
   Fayland Lam <[email protected]>

COPYRIGHT
   Copyright 2014- Fayland Lam

LICENSE
   This library is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.

SEE ALSO