Finish conversion of Ogone to Moose.
This commit is contained in:
parent
a40189ccc0
commit
4f0b7a7e3b
2 changed files with 21 additions and 84 deletions
|
|
@ -25,7 +25,7 @@ use Data::Dumper;
|
|||
use Moose;
|
||||
use WebGUI::Definition::Shop;
|
||||
extends 'WebGUI::Shop::PayDriver';
|
||||
define pluginName => [qw/label PayDriver_Ogone/];
|
||||
define pluginName => [qw/Ogone PayDriver_Ogone/];
|
||||
property pspid => (
|
||||
fieldType => 'text',
|
||||
label => ['psp id', 'PayDriver_Ogone'],
|
||||
|
|
@ -164,14 +164,14 @@ sub ogoneCheckoutButton {
|
|||
|
||||
my $orderId = $transaction->getId;
|
||||
my $description = "Transaction ID: $orderId";
|
||||
my $pspId = $self->get('pspid');
|
||||
my $pspId = $self->pspid;
|
||||
my $name = join " ", $address->get( 'firstName' ), $address->get( 'lastName' );
|
||||
my $email = $address->get('email');
|
||||
|
||||
my $currency = $self->get('currency');
|
||||
my $currency = $self->currency;
|
||||
|
||||
# Generate sha signature the payment data
|
||||
my $passphrase = join '', $orderId, $amount, $currency, $pspId, $self->get('shaSecret');
|
||||
my $passphrase = join '', $orderId, $amount, $currency, $pspId, $self->shaSecret;
|
||||
my $shaSignature = uc sha1_hex( $passphrase );
|
||||
|
||||
# Define the data to be sent to ogone
|
||||
|
|
@ -180,7 +180,7 @@ sub ogoneCheckoutButton {
|
|||
orderID => $orderId,
|
||||
amount => $amount,
|
||||
currency => $currency,
|
||||
language => $self->get('locale'),
|
||||
language => $self->locale,
|
||||
CN => join( " ", $address->get('firstName'), $address->get('lastName') ),
|
||||
EMAIL => $email,
|
||||
ownerZIP => $address->get( 'code' ),
|
||||
|
|
@ -209,7 +209,7 @@ sub ogoneCheckoutButton {
|
|||
|
||||
# Construct actual checkout form
|
||||
|
||||
my $action = $self->get('useTestMode')
|
||||
my $action = $self->useTestMode
|
||||
? 'https://secure.ogone.com/ncol/test/orderstandard.asp'
|
||||
: 'https://secure.ogone.com/ncol/prod/orderstandard.asp'
|
||||
;
|
||||
|
|
@ -252,13 +252,13 @@ sub checkPostbackSHA {
|
|||
# Fetch and format amount from transaction
|
||||
my $amount = $transaction->get('amount');
|
||||
$amount =~ s/\.00$//; # remove trailing .00
|
||||
my $currency = $self->get('currency');
|
||||
my $currency = $self->currency;
|
||||
|
||||
# Construct the passphrase...
|
||||
my $passphrase = join '',
|
||||
$transactionId, $currency, $amount,
|
||||
map( { $url->unescape( $form->process( $_ ) ) } qw{ PM ACCEPTANCE STATUS CARDNO PAYID NCERROR BRAND } ),
|
||||
$self->get('postbackSecret');
|
||||
$self->postbackSecret;
|
||||
|
||||
# and obtain its sha-1 hash in uppercase
|
||||
my $shaSignature = uc sha1_hex( $passphrase );
|
||||
|
|
@ -457,7 +457,7 @@ sub www_getCredentials {
|
|||
};
|
||||
$self->appendCartVariables($var);
|
||||
|
||||
my $output = $self->processTemplate($self->get("summaryTemplateId"), $var);
|
||||
my $output = $self->processTemplate($self->summaryTemplateId, $var);
|
||||
return $session->style->userStyle($output);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ my $session = WebGUI::Test->session;
|
|||
#----------------------------------------------------------------------------
|
||||
# Tests
|
||||
|
||||
plan tests => 45;
|
||||
plan tests => 12;
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# figure out if the test can actually run
|
||||
|
|
@ -43,80 +43,16 @@ my $driver;
|
|||
|
||||
# Test incorrect for parameters
|
||||
|
||||
# Test functionality
|
||||
my $signature = '-----BEGIN PKCS7-----
|
||||
MIIHPwYJKoZIhvcNAQcEoIIHMDCCBywCAQExggE0MIIB
|
||||
MAIBADCBmDCBkjELMAkGA1UEBhMCVVMxCzAJBgNVBAgT
|
||||
AkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYD
|
||||
VQQKEwtQYXlQYWwgSW5jLjEVMBMGA1UECxQMc3RhZ2Ux
|
||||
X2NlcnRzMRMwEQYDVQQDFApzdGFnZTFfYXBpMRwwGgYJ
|
||||
KoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tAgEAMA0GCSqG
|
||||
SIb3DQEBAQUABIGAiJLqJ8905lNbvKoa715KsOJtSOGy
|
||||
4d6fEKV7+S8KU8E/RK0SFmMgGPRpmXdzx9MXCU43/tXj
|
||||
lyuyOeZQUBaAIaWoNpfZmBUYIvJVh4W+bDH6JUkugelp
|
||||
CaTjxXOx/F1qj79D9z06AK+N3yW1fM41fM7X9Q1Bc12g
|
||||
THjJUKXcIIcxCzAJBgUrDgMCGgUAMIGkBgkqhkiG9w0B
|
||||
BwEwFAYIKoZIhvcNAwcECOsHG9QOvcJFgIGAwmbN5Acd
|
||||
cnCH0ZTnsSOq5GtXeQf0j2jCBCg6y7b4ZXQwgdqUC/7x
|
||||
eb0yicuiRVuRB9WLr/0rGFuSYENpKVUqWYjnlg3TsxLP
|
||||
IxDCp6lfFqsrclppyZ9CP+xim7y0qKqZZufJG8HgCHxk
|
||||
3BPD6LqByjQjDVpqKKmCNJ1HlwXGN+SgggOWMIIDkjCC
|
||||
AvugAwIBAgIBADANBgkqhkiG9w0BAQQFADCBkzELMAkG
|
||||
A1UEBhMCVVMxCzAJBgNVBAgTAkNBMREwDwYDVQQHEwhT
|
||||
YW4gSm9zZTEPMA0GA1UEChMGUGF5UGFsMRwwGgYDVQQL
|
||||
ExNTeXN0ZW1zIEVuZ2luZWVyaW5nMRMwEQYDVQQDEwpT
|
||||
b3V2aWsgRGFzMSAwHgYJKoZIhvcNAQkBFhFzb3VkYXNA
|
||||
cGF5cGFsLmNvbTAeFw0wNDA1MjExODE4NTBaFw0wNDA2
|
||||
MjAxODE4NTBaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UE
|
||||
CBMCQ0ExETAPBgNVBAcTCFNhbiBKb3NlMQ8wDQYDVQQK
|
||||
EwZQYXlQYWwxHDAaBgNVBAsTE1N5c3RlbXMgRW5naW5l
|
||||
ZXJpbmcxEzARBgNVBAMTClNvdXZpayBEYXMxIDAeBgkq
|
||||
hkiG9w0BCQEWEXNvdWRhc0BwYXlwYWwuY29tMIGfMA0G
|
||||
CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDatyhVzmVe+kCN
|
||||
tOSNS+c7p9pNHlFGbGtIWgIAKSOVlaTk4JD/UAvQzYnn
|
||||
eWPUk+Xb5ShTx8YRDEtRtecy/PwSIIrtS2sC8RrmjZxU
|
||||
uNRqPB6y1ahGwGcNd/wOIy3FekGE/ctX7oG6/Voz/E2Z
|
||||
EyJaPm7KwYiDQYz7kWJ6eB+kDwIDAQABo4HzMIHwMB0G
|
||||
A1UdDgQWBBQx23WZRMmnADSXDr+P7uxORBdDuzCBwAYD
|
||||
VR0jBIG4MIG1gBQx23WZRMmnADSXDr+P7uxORBdDu6GB
|
||||
maSBljCBkzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNB
|
||||
MREwDwYDVQQHEwhTYW4gSm9zZTEPMA0GA1UEChMGUGF5
|
||||
UGFsMRwwGgYDVQQLExNTeXN0ZW1zIEVuZ2luZWVyaW5n
|
||||
MRMwEQYDVQQDEwpTb3V2aWsgRGFzMSAwHgYJKoZIhvcN
|
||||
AQkBFhFzb3VkYXNAcGF5cGFsLmNvbYIBADAMBgNVHRME
|
||||
BTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAIBlMsXVnxYe
|
||||
ZtVTG3rsVYePdkMs+0WdRd+prTK4ZBcAkCyNk9jCq5dy
|
||||
VziCi4ZCleMqR5Y0NH1+BQAf8vxxcb4Z7p0rryXGb96f
|
||||
ZfkSYd99a4qGKW3aSIsc2kpaC/ezQg8vuD6JSo6VhJIb
|
||||
Zn0oWajvkHNMENOwN/Ym5stvAxtnMYIBnzCCAZsCAQEw
|
||||
gZkwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTER
|
||||
MA8GA1UEBxMIU2FuIEpvc2UxDzANBgNVBAoTBlBheVBh
|
||||
bDEcMBoGA1UECxMTU3lzdGVtcyBFbmdpbmVlcmluZzET
|
||||
MBEGA1UEAxMKU291dmlrIERhczEgMB4GCSqGSIb3DQEJ
|
||||
ARYRc291ZGFzQHBheXBhbC5jb20CAQAwCQYFKw4DAhoF
|
||||
AKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJ
|
||||
KoZIhvcNAQkFMQ8XDTA0MDUyNjE5MTgxNFowIwYJKoZI
|
||||
hvcNAQkEMRYEFI2w1oe5qvHYB0w9Z/ntkRcDqLlhMA0G
|
||||
CSqGSIb3DQEBAQUABIGAimA3r6ZXmyynFGF5cOj6E1Hq
|
||||
Ebtelq2tg4HroAHZLWoQ3kc/7IM0LCuWZmgtD5739NSS
|
||||
0+tOFSdH68sxKsdooR3MFTbdzWhtej5fPKRa6BfHGPjI
|
||||
9R9NoAQBmaeUuOiPSeVTzXDOKDbZB0sJtmWNeueTD9D0
|
||||
BOu+vkC1g+HRToc=
|
||||
-----END PKCS7-----';
|
||||
|
||||
my $options = {
|
||||
label => 'Fast and harmless',
|
||||
enabled => 1,
|
||||
groupToUse => 3,
|
||||
vendorId => 'oqapi',
|
||||
signature => $signature,
|
||||
currency => 'EUR',
|
||||
useSandbox => '0',
|
||||
emailMessage => 'Thank you very very much'
|
||||
};
|
||||
|
||||
$driver = WebGUI::Shop::PayDriver::Ogone->new( $session, $options );
|
||||
WebGUI::Test->addToCleanup($driver);
|
||||
$driver->write;
|
||||
|
||||
isa_ok ($driver, 'WebGUI::Shop::PayDriver::Ogone', 'new creates WebGUI::Shop::PayDriver object');
|
||||
like($driver->getId, $session->id->getValidator, 'driver id is a valid GUID');
|
||||
|
|
@ -136,14 +72,16 @@ my $paymentGatewayOptions = from_json($dbData->{'options'});
|
|||
cmp_deeply (
|
||||
$paymentGatewayOptions,
|
||||
{
|
||||
"groupToUse" => 3,
|
||||
"label" => 'Fast and harmless',
|
||||
"enabled" => 1,
|
||||
"vendorId" => 'oqapi',
|
||||
"signature" => $signature,
|
||||
"currency" => 'EUR',
|
||||
"useSandbox" => '0',
|
||||
"emailMessage" => 'Thank you very very much'
|
||||
groupToUse => 3,
|
||||
label => 'Fast and harmless',
|
||||
enabled => 1,
|
||||
currency => 'EUR',
|
||||
pspid => '',
|
||||
summaryTemplateId => 'jysVZeUR0Bx2NfrKs5sulg',
|
||||
useTestMode => 1,
|
||||
locale => 'en_US',
|
||||
shaSecret => undef,
|
||||
postbackSecret => undef,
|
||||
},
|
||||
'Correct options are written to the db'
|
||||
|
||||
|
|
@ -177,7 +115,6 @@ is (WebGUI::Shop::PayDriver::Ogone->getName($session), 'Ogone', 'getName returns
|
|||
my $cart = $driver->getCart;
|
||||
WebGUI::Test->addToCleanup($cart);
|
||||
isa_ok ($cart, 'WebGUI::Shop::Cart', 'getCart returns an instantiated WebGUI::Shop::Cart object');
|
||||
WebGUI::Test->addToCleanup($cart);
|
||||
|
||||
#######################################################################
|
||||
#
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue