从paypal重定向网址

时间:2018-05-18 08:21:21

标签: flask paypal

我目前正在尝试通过编写一个消耗各种API的烧瓶应用程序来了解Paypal API。我有什么bugun与经典API的Permission服务进行交互。我有一个沙盒帐户,它为我提供了提出要求的必需品。在我的一个视图功能中,我成功访问了请求权限页面,并收到了PayPal重定向到我在请求中提供的回调URL。这是我的代码(注意我仍然是#py;以及python中的年轻人,所以欢迎提出改进建议)

@account.route('/grant_auth')
def get_request_token():
    """handle the proccess of getting the request token"""
    if request.method == 'GET':
    url = "https://svcs.sandbox.paypal.com/Permissions/RequestPermissions"
    headers = {
        'X-PAYPAL-SECURITY-USERID': '**********',
        'X-PAYPAL-SECURITY-PASSWORD': '*********',
        'X-PAYPAL-SECURITY-SIGNATURE': '************',
        'X-PAYPAL-REQUEST-DATA-FORMAT': 'JSON',
        'X-PAYPAL-RESPONSE-DATA-FORMAT': 'JSON',
        'X-PAYPAL-APPLICATION-ID': 'APP-80W284485P519543T'
    }
    payload = {
        'scope': 'ACCOUNT_BALANCE',
        'callback': 'http://127.0.0.1:5000/access_token',
        'request_Envelop': {
            'errorLanguage': 'en_US'
        }
    }
    res_details = requests.post(
        url, data=json.dumps(payload), headers=headers)
    res_json_format = res_details.json()
    if str(res_json_format['responseEnvelope']['ack']) == 'Failure':
        return render_template('account.html', response='something went wrong with the application')
    if str(res_json_format['responseEnvelope']['ack']) == 'Success':
        token = res_json_format['token']
        pal_permission_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_grant-permission&request_token={}'.format(token)
        return redirect(pal_permission_url)
    else: 
        return render_template('account.html', response='something went wrong with the application')

这就是我所做的: 当我运行该代码并访问/grant_auth时 我被重定向到paypal页面,我可以在我授权时将其重定向到http://127.0.0.1:5000/access_token?request_token=somevalue&verification_code=somevalue,并附加一个附加参数。

  • 请帮助我如何从网址获取verifiaction_code和request_token(或者更好的是从这里获取最佳方向),因为我需要这两个值来对GetAccesToken API发出另一个请求以便我可以制作请求代表已授予权限的用户。

Retrieving parameters from a URL 似乎有点解决我的问题,但不完全,因为在那里解析的网址已经存在,不像我的网址更改的情况。在此先感谢

0 个答案:

没有答案