我在从 paypal 获取账单时遇到问题

I have a problem with get billings from paypal

用于确认订阅协议的 Webhook 有一个大问题。我用的是SDK [https://github.com/paypal/PayPal-Python-SDK/blob/master/samples/subscription/billing_agreements/get.py] 如果有人body可以帮助我,我的错误是下一个:

追溯(最近调用最后):

文件“/home/jjorge/venvs/payments/lib/python3.7/site-packages/django/core/handlers /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 响应 = wrapped_callback(请求, *callback_args, **callback_kwargs)

文件“/home/jjorge/venvs/payments/lib/python3.7/site-packages/django/views/decorators/csrf.py”,第 54 行,在 wrapped_view return view_func(*args, **kwargs)

文件“/home/jjorge/venvs/payments/lib/python3.7/site-packages/django/views/generic/base.py”,第 71 行,可见 return self.dispatch(请求,*args,**kwargs)

文件“/home/jjorge/venvs/payments/lib/python3.7/site-packages/django/views/generic/base.py”,第 97 行,正在调度中 return 处理程序(请求,*args,**kwargs)

文件“/home/jjorge/src/guru/guru-payments/apps/paypal/views.py”,第 69 行,在 post settings.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 行,在查找中 return 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.endpoint, 动作), 'GET', headers=headers 或 {}, refresh_token=refresh_token)

文件“/home/jjorge/venvs/payments/lib/python3.7/site-packages/paypalrestsdk/api.py”,第 171 行,在请求中 return self.http_call(url, 方法, 数据=json.dumps(body), headers=http_headers) 文件“/home/jjorge/venvs/payments/lib/python3.7/site-packages/paypalrestsdk/api.py”,第 214 行,在 http_call 中 return self.handle_response(响应,response.content.decode('utf-8')) 文件“/home/jjorge/venvs/payments/lib/python3.7/site-packages/paypalrestsdk/api.py”,第 231 行,在 handle_response

提高exceptions.ResourceNotFound(响应,内容)

paypalrestsdk.exceptions.ResourceNotFound: 失败。响应状态:404。响应消息:未找到。错误信息:{"name":"RESOURCE_NOT_FOUND","debug_id":"9a7aa1a765763","message":"找不到请求的资源","information_link":" https://developer.paypal.com/docs/api/payments.billing-agreements#errors","details":[{"issue":"未找到请求的资源 ID。"}]}

弃用通知:/v1/payments/billing-agreements 端点已弃用。使用 /v1/billing/subscriptions

那是我的解决方案,我不得不用新的 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