你如何通过他们的api取消PayPal订阅?

时间:2011-11-26 14:34:42

标签: paypal

在此页面上:Handling Recurring Payments

它表示可以使用他们的API取消PayPal订阅。知道SubscriptionId可以有人给我一些代码示例如何做到这一点吗?

目前我手动执行这是一个痛苦(我登录我的PayPal帐户,找到订阅并取消它)。

我想基本上自动完成这个过程。

2 个答案:

答案 0 :(得分:3)

在perl中它可能是这样的:

#!/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
}

答案 1 :(得分:2)

这通常取决于订阅的类型。如果它以S-开头,则无法通过API进行修改。如果以I-开头,则可以。

请查看ManageRecurringPaymentsProfileStatus API。
这允许您发送ACTION =取消,ACTION =暂停或ACTION =重新激活。