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      => 'test@paypoint.net',
            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      => 'test@paypoint.net',
            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      => 'test@paypoint.net',
            Country    => 'GB',
        );
        print Dumper(\%data);

AUTHOR

    Fayland Lam <fayland@gmail.com>

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