python - 在 Python 中实现 Paypal REST API

标签 python rest paypal

我一直在关注 PayPal directions在 Python 中实现其 REST API,但我遗漏了一些关键部分,而且我不知道在哪里可以找到它们。到目前为止,我有以下代码来开始处理付款:

api = paypalrestsdk.set_config(
    mode="sandbox", 
    client_id="XXX", 
    client_secret="XXX")

api.get_token()

payment = paypalrestsdk.Payment({
    "intent": "sale",
    "payer": { "payment_method": "paypal" },
    "redirect_urls": {
        "return_url": "https://XXX",
        "cancel_url": "https://XXX" },

    "transactions": [ {
        "amount": {
            "total": "50",
            "currency": "USD" },
        "description": "creating a payment" 
        } ] 
    } )

payment.create()

到目前为止,还不错(虽然我不知道如何处理我得到的 token ...)。 这里开始我的问题(或缺乏或知识)。首先,我需要 approval url。然后,在接下来的步骤中,我不知道如何获取处理付款执行所需的信息:payment idpayer id

payment = paypalrestsdk.Payment.find("XXX")
payment.execute({"payer_id": "XXX"})

最后两行是促成交易的关键。我从哪里得到他们的论点?

预先感谢您的帮助!

最佳答案

创建payment.create()后,您必须获取payment.id并将其保存在用户 session 中。

并将用户重定向到 approve url。使用以下代码获取批准 url:

  for link in payment.links:
    if link.method == "REDIRECT":
      redirect_url = link.href
      print("Redirect for approval: %s"%(redirect_url))

使用来自用户 session 的 payment.id 和来自 return_urlPayerID 来执行支付。

示例:

关于python - 在 Python 中实现 Paypal REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20448664/

相关文章:

c++ - 如何使用 POCO 库将 C++ 对象传输到 Web 服务

ruby-on-rails - 此交易无效。请返回收件人的网站并重试

paypal - 在创建经常性付款配置文件时,如何让 Paypal Express Checkout 显示试用金额,而不是常规金额?

python - 将 float 中的点向下移动

python - 以字符串元组作为索引的 Pandas DataFrame

python - 未使用 Matplotlib 绘制线条/轨迹

ios - 显示 Root View Controller 后黑屏,仅在继承 PayPalPaymentDelegate 时

python - 根据键 ID 选择 appengine 数据库中的行

python - 如何使用 PyCurl 设置 GET 参数?

java - Spring 参数太长