За последние несколько лет я написал несколько аудиторских отчетов для своих SaaS-приложений. Большая часть логики использует API PayPal для получения полного списка транзакций (с помощью TransactionSearch), а затем для каждой транзакции для получения сведений (с помощью GetTransactionDetails).
Намерение состоит в том, чтобы выровнять записи моей базы данных о регулярных платежах, полученных с последними данными PayPal, чтобы убедиться, что я не пропустил IPN или что-то еще.
Это работало нормально до месяца назад.
В последнее время идентификатор подписки отсутствует в большинстве транзакций.
Раньше идентификатор подписки содержался в поле NVP «SUBSCRIPTIONID». Этого больше нет для всех транзакций, и я не вижу других возвращенных полей, содержащих идентификатор подписки. Все остальные поля, кажется, там, поэтому я знаю, что мои звонки работают. Просто в ответе NVP отсутствует идентификатор подписки. Я также проверил, что идентификатор подписки включен в IPN, отправляемый для тех же транзакций.
Мой код использует более старую версию API (108.0). Теоретически PayPal никогда не изменит принцип работы API, поэтому я озадачен тем, почему результаты уже не те, что были с той же кодовой базой месяц назад.
Я попробовал последнюю версию API (124.0), и она предоставляет идентификаторы подписки для большего количества транзакций, чем 108, но не для всех.
Я тут совсем запутался. У кого-нибудь есть подсказки?
Я не хочу спрашивать поддержку PayPal, потому что потребуется 3 недели, чтобы вообще не получить помощь :-)