在此页面上:Handling Recurring Payments
它表示可以使用他们的API取消PayPal订阅。知道SubscriptionId可以有人给我一些代码示例如何做到这一点吗?
目前我手动执行这是一个痛苦(我登录我的PayPal帐户,找到订阅并取消它)。
我想基本上自动完成这个过程。
答案 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 =重新激活。