[interchange: 2/2] Merge PR #87 https://github.com/interchange/interchange/pull/87
Jon Jensen <[email protected]> Thu, 22 Mar 2018 15:21:00 +0000
| Newsgroups | gmane.comp.web.interchange.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit ce093a2f2fb05e9990cfb0deeddb0d750895d30a Merge: 49e38c1... 526513b... Author: Jon Jensen <[email protected]> Date: Thu Mar 22 09:20:27 2018 -0600 Merge PR #87 https://github.com/interchange/interchange/pull/87 lib/Vend/Payment/PaypalExpress.pm | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) --- diff --cc lib/Vend/Payment/PaypalExpress.pm index ca709be,1a892fa..9948df0 --- a/lib/Vend/Payment/PaypalExpress.pm +++ b/lib/Vend/Payment/PaypalExpress.pm @@@ -964,9 -911,15 +964,15 @@@ sub paypalexpress $method = SOAP::Data->name('SetExpressCheckoutReq')->attr({xmlns=>$xmlns}); $response = $service->call($header, $method => $request); - %result = %{$response->valueof('//SetExpressCheckoutResponse')}; + + my $result_hashref = $response->valueof('//SetExpressCheckoutResponse'); + unless ($result_hashref) { + $Tag->error({ name => 'paypal_failure', set => errmsg('Unable to parse the PayPal response') }); + return $Tag->deliver({ location => $checkouturl }); + } + %result = %$result_hashref; $::Scratch->{'token'} = $result{'Token'}; - +#::logDebug("PP".__LINE__.": result= ".::uneval(%result)); # ### NOTE if (!$result{'Token'}) { if ($result{'Ack'} eq 'Failure') { $::Session->{'errors'}{'PaypalExpress'} = $result{'Errors'}{'LongMessage'} if ($result{'Errors'} !~ /ARRAY/);