【发布时间】:2021-02-18 16:01:45
【问题描述】:
我目前有一个 Python Kivy 应用程序,它有一个用于结帐的 PayPal 选项,它使用webbrowser 打开 PayPal 结帐页面。我想知道是否有一种方法可以让 PayPal 结帐页面在单击继续后将我带回我的 Python Kivy 应用程序?或者至少向我的 Python 脚本发送客户点击继续的某种信息,以便他们继续确认并下订单?
这是我的 .py 文件,以备不时之需
class CheckoutScreen(Screen):
def PayPal(self):
# Create Access Token
client_id = "ID"
client_secret = "SECRET"
# Creating an environement
environment = SandboxEnvironment(client_id=client_id, client_secret=client_secret)
client = PayPalHttpClient(environment)
request = OrdersCreateRequest()
request.prefer("return=representation")
request.request_body(
{
"intent": "CAPTURE",
"purchase_units": [
{
"amount": {
"currency_code": "CAD",
"value": str(App.get_running_app().cart)
}
}
]
})
try:
response = client.execute(request)
print("Order With Complete Payload:")
print("Status Code:", response.status_code)
print("Status:", response.result.status)
print("Order ID:", response.result.id)
print("Intent:", response.result.intent)
print("Links:")
for link in response.result.links:
print('\t{}: {}\tCall Type: {}'.format(link.rel, link.href, link.method))
print("Total Amount: {} {}".format(response.result.purchase_units[0].amount.currency_code,
response.result.purchase_units[0].amount.value))
order = response.result
print(order)
except IOError as ioe:
print(ioe)
if isinstance(ioe, HttpError):
# Something went wrong server side
print(ioe.status_code)
webbrowser.open_new_tab("https://www.sandbox.paypal.com/checkoutnow?token=" + response.result.id)
【问题讨论】: