无法在不重定向的情况下创建付款发票

Posted

技术标签:

【中文标题】无法在不重定向的情况下创建付款发票【英文标题】:can't create payment invoice without redirecting 【发布时间】:2021-09-29 14:51:56 【问题描述】:

我想通过贝宝收款。我需要向用户发送链接并获得报酬。正在成功创建approval_link 链接。但无法使用链接付款。我使用此链接登录,点击付款,但我被重定向到 return_url。我不希望这样,我希望用户不要被重定向到任何地方。你只需要从他那里拿钱就可以了。我的项目不是网站,我没有任何可以重定向客户端的页面。帮助创建付款表单,而无需将客户重定向到其他页面。预先感谢您对我的问题的关注,并为我的英语道歉。

我会简单重复一遍:我们需要一个付款表单,而不需要重定向到其他页面。拿钱就行了请帮忙配置paypalrestsdk.Payment()的参数

import paypalrestsdk

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

token = api.get_access_token()

print(token)

payment = paypalrestsdk.Payment(
    "intent": "sale",
    "payer": 
        "payment_method": "paypal",

    "redirect_urls": 
        "return_url": "http://localhost:3000/process",
        "cancel_url": "http://localhost:3000/cancel"
    ,

    "transactions": [
        "item_list": 
            "items": [
                "name": "item",
                "sku": "item",
                "price": "1.00",
                "currency": "RUB",
                "quantity": 1],
        "amount": 
            "total": "1.00",
            "currency": "RUB",
        "description": "This is the payment transaction description."])
create = payment.create()
if create:
  print("Payment created successfully")
else:
  print(payment.error)

for link in payment.links:
    if link.rel == "approval_url":
        # Convert to str to avoid Google App Engine Unicode issue
        # https://github.com/paypal/rest-api-sdk-python/pull/58
        approval_url = str(link.href)
        print("Redirect for approval: %s" % (approval_url))

我尝试不指定重定向链接。如果它们不存在,则不会创建付款。

【问题讨论】:

【参考方案1】:

首先,您使用的是已弃用的 v1/payments API 和相应的 SDK。如果您要实现网站结账,则应使用当前的 v2/checkout/orders API 及其 SDK;这样的集成是documented here.

但正如您所指出的,您的发票用例不是正常的网站结帐。事实上,它有一个单独的 Invoicing API,请参阅the invoicing integration guide。

没有用于开发票 API 的 SDK - 使用直接 HTTPS API 调用首先获取 oauth2 访问令牌,然后创建您的发票。

【讨论】:

也许我没有正确理解你。我不需要查看任何网站。我想创建一个付款请求。您的意思是因为 sdk 版本过时而无法付款吗? 不——我的意思是我说的,你应该使用 Invoicing API。

以上是关于无法在不重定向的情况下创建付款发票的主要内容,如果未能解决你的问题,请参考以下文章

如何在不重定向原始 URL 的情况下获取短 URL 服务的信息或实际信息

您可以在不重定向的情况下使用 Passport 进行身份验证吗?

是否可以在不重定向到外部登录页面的情况下进行 SPA 身份验证

如何在不重定向的情况下从数据库实时更新赞成票和反对票数?

jquery:更改URL地址而不重定向? [复制]

apache中的vhost重写规则-摆脱子域而不重定向