Anthony
Anthony

Reputation: 7300

How do you cancel a PayPal subscription through their api?

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

Answers (2)

Alexey
Alexey

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

Robert
Robert

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

Related Questions