From c015b6710cbfe8a8dec6d0fcb6f9b9c53b516da7 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Tue, 12 Apr 2011 16:41:20 -0700 Subject: [PATCH] Unescape paypal's content before parsing it so that multi-line data is handled correctly. Fixes bug #12103. --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Shop/PayDriver/PayPal/PayPalStd.pm | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index f1cf529da..3d0c294ef 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -10,6 +10,7 @@ - fixed #11955: Rich Text Editor for Forums doesn't work on the iPad - fixed #11992: html source editor - fixed #12100: Carousel and/or RichEdit + - fixed #12103: PayPalStd driver fails occasionally 7.10.13 - added #12079: Carousel Auto Play diff --git a/lib/WebGUI/Shop/PayDriver/PayPal/PayPalStd.pm b/lib/WebGUI/Shop/PayDriver/PayPal/PayPalStd.pm index 68e1fb1d3..e0653f3b6 100644 --- a/lib/WebGUI/Shop/PayDriver/PayPal/PayPalStd.pm +++ b/lib/WebGUI/Shop/PayDriver/PayPal/PayPalStd.pm @@ -287,8 +287,9 @@ sub processPayment { at => $self->get('identityToken'), ); my $response = LWP::UserAgent->new->post($self->payPalUrl, \%form); - my ($status, @lines) = split("\n", uri_unescape($response->content)); - my %params = map { split /=/ } @lines; + my ($status, @lines) = split("\n", $response->content); + my %params = map { split /=/ } + map { uri_unescape($_) } @lines; if ($status =~ /FAIL/) { my $message = '';
FieldValue