From 43547671b6a5c1e46581ca2ee672ebdd71de3919 Mon Sep 17 00:00:00 2001 From: Ron Phipps Date: Thu, 15 Apr 2010 18:37:54 -0400 Subject: [PATCH] * Added support for protection eligbility --- lib/Business/PayPal/API.pm | 4 ++-- lib/Business/PayPal/API/ExpressCheckout.pm | 10 +++++++++- lib/Business/PayPal/API/GetTransactionDetails.pm | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/Business/PayPal/API.pm b/lib/Business/PayPal/API.pm index 9e1647f..6c96a62 100644 --- a/lib/Business/PayPal/API.pm +++ b/lib/Business/PayPal/API.pm @@ -4,7 +4,7 @@ use 5.008001; use strict; use warnings; -use SOAP::Lite 0.67; # +trace => 'all'; +use SOAP::Lite 0.710.10; # +trace => 'all'; use Carp qw(carp); our $VERSION = '0.69'; @@ -22,7 +22,7 @@ sub C_api_live () { 'https://api.paypal.com/2.0/' } sub C_api_live_3t () { 'https://api-3t.paypal.com/2.0/' } sub C_xmlns_pp () { 'urn:ebay:api:PayPalAPI' } sub C_xmlns_ebay () { 'urn:ebay:apis:eBLBaseComponents' } -sub C_version () { '3.0' } ## 3.0 adds RecurringPayments +sub C_version () { '61.0' } ## 3.0 adds RecurringPayments ## this is an inside-out object. Make sure you 'delete' additional ## members in DESTROY() as you add them. diff --git a/lib/Business/PayPal/API/ExpressCheckout.pm b/lib/Business/PayPal/API/ExpressCheckout.pm index 995f46b..8292870 100644 --- a/lib/Business/PayPal/API/ExpressCheckout.pm +++ b/lib/Business/PayPal/API/ExpressCheckout.pm @@ -168,6 +168,7 @@ sub DoExpressCheckoutPayment { PaymentAction => '', ## NOTA BENE! PayerID => 'ebl:UserIDType', currencyID => '', + ReturnFMFDetails => 'xs:boolean', ); ## PaymentDetails @@ -278,7 +279,9 @@ sub DoExpressCheckoutPayment { SOAP::Data->name( PaymentDetails => \SOAP::Data->value ( @payment_details )->type('ebl:PaymentDetailsType') ->attr( {xmlns => $self->C_xmlns_ebay} ), - ), ); + ), + SOAP::Data->name( ReturnFMFDetails => $args{ReturnFMFDetails} ) + ->type($types{ReturnFMFDetails})->attr( {xmlns => $self->C_xmlns_ebay} ), ); ## ## the main request object @@ -319,6 +322,11 @@ sub DoExpressCheckoutPayment { ExchangeRate => 'PaymentInfo/ExchangeRate', PaymentStatus => 'PaymentInfo/PaymentStatus', PendingReason => 'PaymentInfo/PendingReason', + AcceptFilters => 'FMFDetails/AcceptFilters', + DenyFilters => 'FMFDetails/DenyFilters', + PendingFilters => 'FMFDetails/PendingFilters', + ReportsFilters => 'FMFDetails/ReportsFilters', + ProtectionEligibility => 'PaymentInfo/ProtectionEligibility', } ); return %response; diff --git a/lib/Business/PayPal/API/GetTransactionDetails.pm b/lib/Business/PayPal/API/GetTransactionDetails.pm index c0d9330..4c3397d 100644 --- a/lib/Business/PayPal/API/GetTransactionDetails.pm +++ b/lib/Business/PayPal/API/GetTransactionDetails.pm @@ -82,6 +82,7 @@ sub GetTransactionDetails { PaymentStatus => '/PaymentInfo/PaymentStatus', PendingReason => '/PaymentInfo/PendingReason', ReasonCode => '/PaymentInfo/ReasonCode', + ProtectionEligibility => '/PaymentInfo/ProtectionEligibility', InvoiceID => '/PaymentItemInfo/InvoiceID', Custom => '/PaymentItemInfo/Custom',