Reputation: 7300
On this page: Handling Recurring Payments
It says that it's possible to cancel a PayPal subscription using their API. Knowing the SubscriptionId can anyone give me some code example how to do this?
At the moment I do it manually which is a pain (I log into my PayPal account, find the subscription and cancel it).
I would like to automate this process basically.
Upvotes: 3
Views: 1995
Reputation: 31
In perl it could be something like this:
#!/usr/bin/perl
use strict;
use LWP::UserAgent;
# Set values for $paypal_api_user, $paypal_api_pwd and
# $paypal_api_signature from your paypal's profile
my $paypal_api_user = '....';
my $paypal_api_pwd = '.....';
my $paypal_api_signature = '.....';
# Set subscription id
my $subscr_id = '....';
my $params = {
'USER' => $paypal_api_user,
'PWD' => $paypal_api_pwd,
'SIGNATURE' => $paypal_api_signature,
'VERSION' => '84.0',
'METHOD' => 'ManageRecurringPaymentsProfileStatus',
'PROFILEID' => $subscr_id,
'ACTION' => 'Cancel',
};
my $ua = LWP::UserAgent->new();
my $res = $ua->post('https://api-3t.paypal.com/nvp', $params);
if ($res->is_error()) {
# HTTP error
} else {
# Success
}
Upvotes: 3
Reputation: 19356
This depends on the type of the subscription usually. If it starts with S-, it can't be modified though the API's. If it starts with I-, it can.
Have look at the ManageRecurringPaymentsProfileStatus API for this.
This allows you to send an ACTION=Cancel, ACTION=Suspend or ACTION=Reactivate.
Upvotes: 2