Initial conversion to Moose for Ogone.
This commit is contained in:
parent
b39fb4ab20
commit
d26c55d890
1 changed files with 53 additions and 82 deletions
|
|
@ -21,9 +21,56 @@ use WebGUI::Exception;
|
||||||
use Digest::SHA qw{ sha1_hex };
|
use Digest::SHA qw{ sha1_hex };
|
||||||
use WebGUI::International;
|
use WebGUI::International;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use Tie::IxHash;
|
|
||||||
|
|
||||||
use base qw{ WebGUI::Shop::PayDriver };
|
use Moose;
|
||||||
|
use WebGUI::Definition::Shop;
|
||||||
|
extends 'WebGUI::Shop::PayDriver';
|
||||||
|
define pluginName => [qw/label PayDriver_Ogone/];
|
||||||
|
property pspid => (
|
||||||
|
fieldType => 'text',
|
||||||
|
label => ['psp id', 'PayDriver_Ogone'],
|
||||||
|
hoverHelp => ['psp id help', 'PayDriver_Ogone'],
|
||||||
|
default => '',
|
||||||
|
);
|
||||||
|
property shaSecret => (
|
||||||
|
fieldType => 'password',
|
||||||
|
label => ['sha secret', 'PayDriver_Ogone'],
|
||||||
|
hoverHelp => ['sha secret help', 'PayDriver_Ogone'],
|
||||||
|
);
|
||||||
|
property postbackSecret => (
|
||||||
|
fieldType => 'password',
|
||||||
|
label => ['postback secret', 'PayDriver_Ogone'],
|
||||||
|
hoverHelp => ['postback secret help', 'PayDriver_Ogone'],
|
||||||
|
);
|
||||||
|
property locale => (
|
||||||
|
fieldType => 'text',
|
||||||
|
label => ['locale', 'PayDriver_Ogone'],
|
||||||
|
hoverHelp => ['locale help', 'PayDriver_Ogone'],
|
||||||
|
default => 'en_US',
|
||||||
|
maxlength => 5,
|
||||||
|
size => 5,
|
||||||
|
);
|
||||||
|
property currency => (
|
||||||
|
fieldType => 'text',
|
||||||
|
label => ['currency', 'PayDriver_Ogone'],
|
||||||
|
hoverHelp => ['currency help', 'PayDriver_Ogone'],
|
||||||
|
default => 'EUR',
|
||||||
|
maxlength => 3,
|
||||||
|
size => 3,
|
||||||
|
);
|
||||||
|
property useTestMode => (
|
||||||
|
fieldType => 'yesNo',
|
||||||
|
label => ['use test mode', 'PayDriver_Ogone'],
|
||||||
|
hoverHelp => ['use test mode help', 'PayDriver_Ogone'],
|
||||||
|
default => 1,
|
||||||
|
);
|
||||||
|
property summaryTemplateId => (
|
||||||
|
fieldType => 'template',
|
||||||
|
label => ['summary template', 'PayDriver_Ogone'],
|
||||||
|
hoverHelp => ['summary template help', 'PayDriver_Ogone'],
|
||||||
|
namespace => 'Shop/Credentials',
|
||||||
|
default => 'jysVZeUR0Bx2NfrKs5sulg',
|
||||||
|
);
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -45,89 +92,13 @@ sub canCheckoutCart {
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 definition ( session, definition )
|
|
||||||
|
|
||||||
See WebGUI::Shop::PayDriver->definition.
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
sub definition {
|
|
||||||
my $class = shift;
|
|
||||||
my $session = shift;
|
|
||||||
my $definition = shift;
|
|
||||||
|
|
||||||
WebGUI::Error::InvalidParam->throw( error => q{Must provide a session variable} )
|
|
||||||
unless $session && ref $session eq 'WebGUI::Session';
|
|
||||||
|
|
||||||
my $i18n = WebGUI::International->new($session, 'PayDriver_Ogone');
|
|
||||||
|
|
||||||
tie my %fields, 'Tie::IxHash';
|
|
||||||
|
|
||||||
%fields = (
|
|
||||||
pspid => {
|
|
||||||
fieldType => 'text',
|
|
||||||
label => $i18n->get('psp id'),
|
|
||||||
hoverHelp => $i18n->get('psp id help'),
|
|
||||||
defaultValue => '',
|
|
||||||
},
|
|
||||||
shaSecret => {
|
|
||||||
fieldType => 'password',
|
|
||||||
label => $i18n->get('sha secret'),
|
|
||||||
hoverHelp => $i18n->get('sha secret help'),
|
|
||||||
},
|
|
||||||
postbackSecret => {
|
|
||||||
fieldType => 'password',
|
|
||||||
label => $i18n->get('postback secret'),
|
|
||||||
hoverHelp => $i18n->get('postback secret help'),
|
|
||||||
},
|
|
||||||
locale => {
|
|
||||||
fieldType => 'text',
|
|
||||||
label => $i18n->get('locale'),
|
|
||||||
hoverHelp => $i18n->get('locale help'),
|
|
||||||
defaultValue => 'en_US',
|
|
||||||
maxlength => 5,
|
|
||||||
size => 5,
|
|
||||||
},
|
|
||||||
currency => {
|
|
||||||
fieldType => 'text',
|
|
||||||
label => $i18n->get('currency'),
|
|
||||||
hoverHelp => $i18n->get('currency help'),
|
|
||||||
defaultValue => 'EUR',
|
|
||||||
maxlength => 3,
|
|
||||||
size => 3,
|
|
||||||
},
|
|
||||||
useTestMode => {
|
|
||||||
fieldType => 'yesNo',
|
|
||||||
label => $i18n->get('use test mode'),
|
|
||||||
hoverHelp => $i18n->get('use test mode help'),
|
|
||||||
defaultValue => 1,
|
|
||||||
},
|
|
||||||
summaryTemplateId => {
|
|
||||||
fieldType => 'template',
|
|
||||||
label => $i18n->get('summary template'),
|
|
||||||
hoverHelp => $i18n->get('summary template help'),
|
|
||||||
namespace => 'Shop/Credentials',
|
|
||||||
defaultValue => 'jysVZeUR0Bx2NfrKs5sulg',
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
push @{ $definition }, {
|
|
||||||
name => $i18n->get('Ogone'),
|
|
||||||
properties => \%fields,
|
|
||||||
};
|
|
||||||
|
|
||||||
return $class->SUPER::definition($session, $definition);
|
|
||||||
}
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
|
||||||
|
|
||||||
=head2 getCart
|
=head2 getCart
|
||||||
|
|
||||||
Returns the cart for either the current user or the transaction passed back by Ogone.
|
Overrides the base method to use the locally cached cardId.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub getCart {
|
override getCart => sub {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $cart;
|
my $cart;
|
||||||
|
|
||||||
|
|
@ -135,8 +106,8 @@ sub getCart {
|
||||||
$cart = WebGUI::Shop::Cart->new( $self->session, $self->{_cartId} );
|
$cart = WebGUI::Shop::Cart->new( $self->session, $self->{_cartId} );
|
||||||
}
|
}
|
||||||
|
|
||||||
return $cart || $self->SUPER::getCart;
|
return $cart || super();
|
||||||
}
|
};
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue