测试SquareConnect的样本付款表单时出错

时间:2016-11-16 06:06:36

标签: square-connect

我正在尝试将SquareConnect sample formsample code合并到我的应用程序中。我的应用程序使用Python 2.7和Django 1.5在GAE上运行。我已经下载了squareconnect,certifi,dateutil和urllib3的存储库。我已将表单添加到django模板中,表单正确加载并进行验证。在我的views.py中,我在顶部有以下内容:

from __future__ import print_function 

导入uuid 导入squareconnect 来自squareconnect.rest导入ApiException 来自squareconnect.apis.transaction_api导入TransactionApi`

在视图功能中,我有以下内容:

api_instance = TransactionApi()
access_token = 'YOUR_ACCESS_TOKEN'
location_id = 'YOUR_LOCATION_ID' 
nonce = 'YOUR_NONCE'
...

然后是示例代码的其余部分。

但是,当我在本地运行测试时,我在api_instance = TransactionApi()上收到以下错误:

'module' object has no attribute 'CERT_REQUIRED'

错误日志表明它是rest.py文件的第101行,即行:

cert_reqs = ssl.CERT_REQUIRED

如何解决此错误,我们将不胜感激。

2 个答案:

答案 0 :(得分:0)

所以看起来像版本2.7.8和2.7.9的python在ssl周围有一些问题。值得注意的是,this conversation似乎很重要。但是,我无论如何都不是python专家。我在使用python 2.7.10的macOS上,无法重现错误。 python SDK是为支持python 2.7.9及更高版本而构建的。您使用的python实例也可能不是用ssl构建的。

  • 你正在运行什么版本的python?
  • 你在做什么操作系统?
  • 您是否安装了openssl?
  • 您的本地计算机或GAE实例上出现此错误吗?
  • python是否支持ssl?

您可以通过以下方式检查python是否支持ssl:

import socket
hasattr(socket, 'ssl')

答案 1 :(得分:0)

我能够通过不再使用Square SDK来实现这一目标。相反,我正在使用REST API。如果其他人试图将Square与Django和/或GAE集成在一起,这可能是避免我遇到SDK问题的方法。