如何存储与 PayPal 订单相关的自定义数据

问题描述 投票:0回答:1

我是 paypal API 的新手。我想在 PayPal 上保存 JSON,以便在捕获 PayPal 订单后可以将其作为响应。我正在使用Python
我想要存储的数据是产品数组。

products = [
       {'id': 'id_1', 'price': 100, 'quantity': 2},
       {'id': 'id_2', 'price': 50, 'quantity': 2}
]

经过搜索,我了解到paypal中的application_context参数。我将数据存储在 JSON 中,如下所示,并将其发送到 /v2/checkout/orders 以获取 订单 ID

paypal_json = {"intent": "CAPTURE", 
    "purchase_units": [{"amount": {"currency_code": CURRENCY, "value": total_price}}],
    'application_context': {"products": products}}

我试图通过此方法使用 PayPal API 获取 application_context,但它不包含我的 application_context 数据。
PayPal订单_获取API

access_token = generate_access_token()
headers = {"Authorization": f"Bearer {access_token}"}
response = requests.get(f"https://api-m.paypal.com/v2/checkout/orders/{order_id}", headers=headers)
print(response.json(), response.status_code) # it does not contain application_context

现在我正在使用客户端本地存储。但是客户可以在订单批准后轻松更改该数据,并且发送给我的数据可以更新客户甚至没有付款的数据。这将存储在数据库中。这就是为什么我需要一种安全的方式来存储与订单相关的数据。我可以使用服务器创建订单并将其存储在带有 paypal 的 orderID 的数据库中,并将其标记为不完整,直到获得批准。但如果客户不批准订单,那将浪费内存。
这就是为什么我想知道如何在 PayPal 上存储我的产品数据并在捕获订单后检索它。有人可以帮我吗?

我尝试向 PayPal API 发送 get 请求以获取订单数据,但它不包含我在创建 PayPal 订单时在 JSON 中添加的 application_context

python json api paypal sdk
1个回答
0
投票

application_context 参数已弃用,不要使用它。而且,即使在它被弃用之前,它也从未用于存储产品信息。

产品信息属于每个 buy_unit 中的

items
数组。有关详细信息,请参阅创建订单 API 参考

© www.soinside.com 2019 - 2024. All rights reserved.