Профили подписки не поддерживаются API регулярных платежей при обновлении цены плана

Я использую PayPal API для регулярного выставления счетов. Я хочу обновить тарифный план с помощью PayPal API. для этого я использую

$curl = curl_init();

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_URL, 'https://api-3t.sandbox.paypal.com/nvp');
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(array(
    'USER' => 'ddsds_da_api',
    'PWD' => '123412432134',
    'SIGNATURE' => 'sgdsdshds',

    'METHOD' => 'UpdateRecurringPaymentsProfile',
    'VERSION' => '108',
    'PROFILEID' => 'I-FYYMDB55ADSH',

    'NOTE' => 'Uma nota opcional, explicando o motivo da mudança',
    'AMT' => 120,
    'CURRENCYCODE' => 'BRL'
)));

$response =    curl_exec($curl);

curl_close($curl);

$nvp = array();

if (preg_match_all('/(?<name>[^\=]+)\=(?<value>[^&]+)&?/', $response, $matches)) {
    foreach ($matches['name'] as $offset => $name) {
        $nvp[$name] = urldecode($matches['value'][$offset]);
    }
}

print_r($nvp);

Но я получаю эту ошибку Профили подписки не поддерживаются API регулярных платежей Вот моя ошибка

<pre>Array
(
    [PROFILEID] => I-FYYMDB55ADSH
    [TIMESTAMP] => 2015-03-16T15:48:07Z
    [CORRELATIONID] => 33216e1739dde
    [ACK] => Failure
    [VERSION] => 76.0
    [BUILD] => 15735246
    [L_ERRORCODE0] => 11592
    [L_SHORTMESSAGE0] => Subscription Profiles not supported.
    [L_LONGMESSAGE0] => Subscription Profiles not supported by Recurring Payment APIs.
    [L_SEVERITYCODE0] => Error
)

Пожалуйста, дайте мне знать, что я сделал неправильно.


person murali krishna    schedule 16.03.2015    source источник


Ответы (2)


Как указано в Справочный форум сообщества PayPal

автор PayPal_Frank Ответ администратора: 02-04-2012 11:08

...
API GetRecurringPaymentsProfileDetails не поддерживает идентификаторы профиля базовой кнопки подписки. Этот API будет работать только для подписок или профилей регулярных платежей, созданных с помощью API CreateRecurringPaymentsProfile через Express Checkout, который является нашим решением для проверки на основе API. Платежи через веб-сайт Pro не требуются для использования Express Checkout. Я знаю, что это может быть неприятно, и мы рекомендуем, чтобы продавцы собирали основную информацию о подписке через IPN для хранения в своей собственной базе данных или просмотра информации в своей учетной записи PayPal. Это также было отправлено в качестве запроса функции нашей командой технической поддержки продавцов.
https://www.x.com/developers/paypal/forums/general-support/there-any-api-или-методы-которые-я-могу-получить-...

...

person Ashish Chaturvedi    schedule 07.09.2015
comment
Тогда почему, почему существуют кнопки регулярных платежей, которые абсолютно бесполезны? Я уже три дня бьюсь об это головой. У меня есть кнопка «Рекуррентное выставление счетов». Я использую кнопку, чтобы создать повторяющийся профиль выставления счетов. Это можно проверить в IPN, который я получаю от PayPal: txn_type = recurring_payment_profile_created Когда я пытаюсь установить баланс, чтобы я мог выставить счет через API, я получаю сообщение об ошибке: Профили подписки не поддерживаются API регулярных платежей. Я могу выставить счет клиенту с веб-сайта PayPal, но не через API, потому что эта функция недоступна! - person Peter; 24.06.2017
comment
Это подробно объясняется на странице developer.paypal. com/docs/classic/express-checkout/, но слева от этой страницы нам сообщают, что API проверки NVP/SOAP устарел! Итак, у нас есть один метод, который не работает, и один метод, который устарел. Что курят инженеры PayPal на завтрак? - person Peter; 24.06.2017

Вы можете проверить Статус такого Соглашения только при использовании URL-адреса, например:

$url = 'https://api.paypal.com/v1/payments/billing-agreements/'.$z_res[0]['id_agreement']."/transactions?start_date=".substr($logdbarray['Deal_Start'],0,10)."&end_date=".substr($now,0,10);

Здесь вы получите список транзакций. Когда последняя транзакция не имеет статуса: отменено, соглашение все еще выполняется. Вы также получите даты транзакций, чтобы вы могли определить, согласны ли вы использовать платную услугу или нет.

person user3628218    schedule 03.01.2019