Как вы отменяете подписку PayPal через их API? - PullRequest
3 голосов
/ 26 ноября 2011

На этой странице: Обработка регулярных платежей

В нем говорится, что можно отменить подписку PayPal, используя их API. Зная SubscriptionId, может кто-нибудь дать мне пример кода, как это сделать?

В настоящее время я делаю это вручную, что является проблемой (я захожу в свою учетную запись PayPal, нахожу подписку и отменяю ее).

Я бы хотел автоматизировать этот процесс в принципе.

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

В 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
}
2 голосов
/ 28 ноября 2011

Обычно это зависит от типа подписки. Если он начинается с S-, он не может быть изменен через API. Если он начинается с I-, он может.

Для этого взгляните на API ManageRecurringPaymentsProfileStatus .
Это позволяет вам отправить ДЕЙСТВИЕ = Отмена, ДЕЙСТВИЕ = Приостановить или ДЕЙСТВИЕ = Повторно активировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...