У меня проблема с получением счетов от PayPal

#django #paypal #paypal-rest-sdk

Вопрос:

У меня большая проблема с веб-крючком для подтверждения соглашений о подписке. Я использовал SDK [https://github.com/paypal/PayPal-Python-SDK/blob/master/samples/subscription/billing_agreements/get.py] Если бы кто-нибудь мог мне помочь, мои ошибки-это следующий:

Обратная связь (последний последний звонок):

Файл «/главная/jjorge/venvs/платежи/lib/python3.7/пакеты сайтов/django/ядро/обработчики /exception.py», строка 34, во внутреннем ответе = get_response(запрос)

Файл «/home/jjorge/venvs/payments/lib/python3.7/site-packages/django/core/handlers/base.py», строка 115, в ответе _get_response = self.process_exception_by_middleware(e, запрос) Файл «/home/jjorge/venvs/payments/lib/python3.7/site-packages/django/core/handlers/base.py», строка 113, в ответе _get_response = обернутый обратный вызов(запрос, *callback_args, **callback_kwargs)

Файл «/home/jjorge/venvs/payments/lib/python3.7/site-packages/django/views/decorators/csrf.py», строка 54, в wrapped_view возвращает view_func(*args, **kwargs)

Файл «/home/jjorge/venvs/payments/lib/python3.7/site-packages/django/views/generic/base.py», строка 71, с учетом возврата self.dispatch(запрос, *args, **кварги)

Файл «/home/jjorge/venvs/payments/lib/python3.7/site-packages/django/views/generic/base.py», строка 97, в обработчике возврата отправки(запрос, *args, **kwargs)

Файл «/home/jjorge/src/guru/guru-payments/apps/paypal/views.py», строка 69, в настройках поста.PAYPAL_CLIENT_SECRET

Файл «/home/jjorge/src/guru/guru-payments/apps/paypal/services.py», строка 34, в поле выполнить paypal_secret_id

Файл «/home/jjorge/src/guru/guru-payments/apps/paypal/payment_methods.py», строка 154, в get_billing_agreement «client_secret»: paypal_client_secret

Файл «/home/jjorge/venvs/payments/lib/python3.7/site-packages/paypalrestsdk/resource.py», строка 110, в разделе найти возвращаемый cls(api.get(url, refresh_token=refresh_token), api=api)

Файл «/home/jjorge/venvs/payments/lib/python3.7/site-packages/paypalrestsdk/api.py», строка 268, в get return self.request(util.join_url(self.конечная точка, действие), «GET», заголовки=заголовки или {}, refresh_token=refresh_token)

Файл «/home/jjorge/venvs/payments/lib/python3.7/site-packages/paypalrestsdk/api.py», строка 171, в запросе возвращает файл self.http_call(url, метод, данные=json.dumps(тело), заголовки=http_headers) «/home/jjorge/venvs/payments/lib/python3.7/site-packages/paypalrestsdk/api.py», строка 214, в http_call возвращает self.handle_response(ответ, response.content.decode(‘utf-8’)) Файл «/home/jjorge/venvs/payments/lib/python3.7/site-packages/paypalrestsdk/api.py», строка 231, в handle_response

создавайте исключения.Ресурсы не найдены(ответ, содержание)

paypalrestsdk.исключения.Ресурс не найден: Не удалось. Статус ответа: 404. Ответное сообщение: Не найдено. Сообщение об ошибке: {«имя»:»RESOURCE_NOT_FOUND»,»идентификатор отладки»:»9a7aa1a765763″,»сообщение»:»Запрошенный ресурс не был найден found»,»information_link»:»https://developer.paypal.com/docs/api/payments.billing-agreements#errors»,»details»:[{«issue»:»Запрошенный идентификатор ресурса не найден.»}]}

Ответ №1:

Уведомление об устаревании: Конечные точки /v1/платежей/соглашений о выставлении счетов устарели. Используйте /v1/выставление счетов/подписки

Это мое решение, мне пришлось реализовать новую функцию с новым api

 class PayPalPaymentMethod:

@staticmethod
def get_billing_subscription(billing_agreement_id, paypal_mode, paypal_client_id, paypal_secret_id):
    url = util.join_url('/v1/billing/subscriptions', billing_agreement_id)
    api = Api({
        'mode': paypal_mode,
        'client_id': paypal_client_id,
        'client_secret': paypal_secret_id
    })
    result = api.get(url)
    return result
 

Комментарии:

1. Это странно. Устарело не значит закрыто. Я не нахожу никаких недавних уведомлений об остановке v1/payments конечных точек.