Square Up python API创建支付



我一直在尝试使用python使用Square Up API进行支付。在浪费了大量时间之后,我从那些不太有用的文档中发现,你需要一个source_id才能用信用卡付款。显然,获得source_id也是nonce的唯一方法是在网站表单上填写信用卡信息。因此,我得出的结论是,在最坏的情况下,我将表单上传到本地flask服务器上,通过seleniumrequests库连接到它,然后填写并提交表单以创建nonce。我试着找到可以使用python创建的烧瓶或web服务器上工作的例子。我已经尝试了文档上的主要html示例,然后我发现了这个示例:https://github.com/square/connect-api-examples/blob/master/connect-examples/v2/python_payment/main.py

我在末尾添加了这两行,至少是为了让服务器运行:

import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)

对于那些尝试使用这个例子的人,配置文件将不得不使用这个python脚本重新制作,否则配置文件将抛出错误:

import configparser
config = configparser.ConfigParser()
config['DEFAULT'] = {'environment':'sandbox'}
config['PRODUCTION'] = {'square_application_id':you-application-id, 
'square_access_token':your-access-token, 
'square_location_id':your-location-id}
config['SANDBOX'] = {'square_application_id':you-application-id, 
'square_access_token':your-access-token, 
'square_location_id':your-location-id}

是否有一个版本可以与flask服务器一起工作?或者是否有一种已知的更简单的方法来使用这个API,这样我就不必为了进行信用卡支付而执行所有这些额外的步骤?

我也想知道是否有一种方法与sockets连接到服务器以立即获得信用卡。我知道这有点牵强,但也许是可能的,而且会容易得多。

我不是Square API或SDK方面的专家(今天只是在玩它),但从我能收集到的,它有两个部分——首先,前端表单/javascript,你可以很容易地作为你的页面的一部分,然后生成源和位置ID(大概这也在他们的服务器上注册ID)。然后将这些id发布到您自己的服务器上。然后,第二部分是从服务器进行支付API调用。听起来你专注于后者,而我已经让前者在没有任何后续API调用的情况下工作了。

完整的前端演练在这里:

https://developer.squareup.com/docs/web-payments/take-card-payment

我觉得这个例子更简洁,如果没有POST到服务器的端点:https://developer.squareup.com/reference/sdks/web/payments/card-payments

最新更新