# This file is part of Business:PayPal:API Module. License: Same as Perl. See its README for details. package Business::PayPal::API::GetRecurringPaymentsProfileDetails; use 5.008001; use strict; use warnings; use SOAP::Lite 0.67; use Business::PayPal::API (); our @ISA = qw(Business::PayPal::API); our @EXPORT_OK = qw(GetRecurringPaymentsProfileDetails); ## fake exporter sub GetRecurringPaymentsProfileDetails { my $self = shift; my %args = @_; my @trans = ( $self->version_req, SOAP::Data->name( ProfileID => $args{ProfileID} )->type( 'xs:string' ), ); my $request = SOAP::Data->name ( GetRecurringPaymentsProfileDetailsRequest => \SOAP::Data->value( @trans ) ) ->type("ns:GetRecurringPaymentsProfileDetailsRequestType"); my $som = $self->doCall( GetRecurringPaymentsProfileDetailsReq => $request ) or return; my $path = '/Envelope/Body/GetRecurringPaymentsProfileDetailsResponse'; my %response = (); unless( $self->getBasic($som, $path, \%response) ) { $self->getErrors($som, $path, \%response); return %response; } $path .= '/GetRecurringPaymentsProfileDetailsResponseDetails'; $self->getFields($som, $path, \%response, { ProfileID => 'ProfileID', ProfileStatus => 'ProfileStatus', Description => 'Description', AggregateAmount => 'AggregateAmount', RegularAmountPaid => 'RegularAmountPaid', FinalPaymentDueDate => 'FinalPaymentDueDate', TrialAmountPaid => 'TrialAmountPaid', AggregateOptionalAmount => 'AggregateOptionalAmount', AutoBillOutstandingAmount => 'AutoBillOutstandingAmount', MaxFailedPayments => 'MaxFailedPayments', CountryName => 'SubscriberShippingAddress/CountryName', CityName => 'SubscriberShippingAddress/CityName', Street1 => 'SubscriberShippingAddress/Street1', Street2 => 'SubscriberShippingAddress/Street2', PostalCode => 'SubscriberShippingAddress/PostalCode', AddressID => 'SubscriberShippingAddress/AddressID', ExternalAddressID => 'SubscriberShippingAddress/ExternalAddressID', AddressOwner => 'SubscriberShippingAddress/AddressOwner', Phone => 'SubscriberShippingAddress/Phone', AddressStatus => 'SubscriberShippingAddress/AddressStatus', Name => 'SubscriberShippingAddress/Name', StateOrProvince => 'SubscriberShippingAddress/StateOrProvince', BillingStartDate => 'BillingStartDate', SubscriberName => 'SubscriberName', TaxAmount => 'CurrentRecurringPaymentsPeriod/TaxAmount', Amount => 'CurrentRecurringPaymentsPeriod/Amount', ShippingAmount => 'CurrentRecurringPaymentsPeriod/ShippingAmount', TotalBillingCycles => 'CurrentRecurringPaymentsPeriod/TotalBillingCycles', BillingPeriod => 'CurrentRecurringPaymentsPeriod/BillingPeriod', # 'LastPaymentAmount' => '10.00', # 'NextBillingDate' => '2014-01-17T10:00:00Z', # 'NumberCyclesRemaining' => '-2', # 'NumberCyclesCompleted' => '2', # 'LastPaymentDate' => '2013-12-17T10:59:31Z', # 'FailedPaymentCount' => '0', # 'OutstandingBalance' => '0.00' # }, 'RecurringPaymentsSummaryType' ), # '{urn:ebay:apis:eBLBaseComponents}RecurringPaymentsSummary', # bless( { # 'TaxAmount' => '0.00', # 'Amount' => '10.00', # 'ShippingAmount' => '0.00', # 'TotalBillingCycles' => '0', # 'BillingFrequency' => '1', # 'BillingPeriod' => 'Month' # }, 'BillingPeriodDetailsType' ), # '{urn:ebay:apis:eBLBaseComponents}RegularRecurringPaymentsPeriod', } ); return %response; } 1; __END__ =head1 NAME Business::PayPal::API::GetRecurringPaymentsProfileDetails - PayPal GetRecurringPaymentsProfileDetails API =head1 SYNOPSIS use Business::PayPal::API::GetRecurringPaymentsProfileDetails; my $pp = new Business::PayPal::API::GetRecurringPaymentsProfileDetails ( ... ); or ## see Business::PayPal::API documentation for parameters use Business::PayPal::API qw(GetRecurringPaymentsProfileDetails); my $pp = new Business::PayPal::API( ... ); my %response = $pp->GetRecurringPaymentsProfileDetails( ProfileID => $profileID, ); =head1 DESCRIPTION B implements PayPal's B API using SOAP::Lite to make direct API calls to PayPal's SOAP API server. It also implements support for testing via PayPal's I. Please see L for details on using the PayPal sandbox. =head2 GetRecurringPaymentsProfileDetails Implements PayPal's B API call. Supported parameters include: TransactionID as described in the PayPal "Web Services API Reference" document. Returns a hash containing the transaction details, including these fields: As described in the API document. Example: my %resp = $pp->GetRecurringPaymentsProfileDetails( ProfileID => $trans_id ); print "Payer: $resp{ProfileStatus}\n"; =head2 ERROR HANDLING See the B section of B for information on handling errors. =head2 EXPORT None by default. =head1 SEE ALSO L =head1 AUTHOR Bradley M. Kuhn Ebkuhn@ebb.orgE adapted from work by: Scot Wiersdorf Escott@perlcode.orgE =head1 COPYRIGHT AND LICENSE Copyright (C) 2006 by Scott Wiersdorf Copyright (C) 2013 by Bradley M. Kuhn This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available. =cut