我正在使用Python 3和Americommerce API。我发现一个问题,当我最初为刚下的订单获取json时,它显示付款仍在等待通过系统。因此json显示以下值:is_declined = false,is_accepted = false。当订单处理完毕后,当我检查json时,它已更改。更改后我需要获取json。他们的结局似乎有所延迟,我认为这是为了使付款可以通过他们的系统进行。
在我的服务器文件中,我在解析json希望添加更新的json之前添加了一个时间延迟。这不会改变任何东西。香港专业教育学院尝试了90秒,但它运行时似乎根本没有任何延迟,所以我仍然得到初始json: 这是我的服务器文件中的代码。一旦网络挂机被触发 数据变量解析json,我的延迟没有帮助
time.sleep(90)
data = json.loads(self.rfile.read( length ).decode('utf-8'))
更新: 发出请求的代码:
class Webhook: # pylint: disable=R0903
"""
reusable webhook class
"""
def subscribe(self, event_type, methods=None):
"""Import data from the webhook subscription."""
import json
import locale
from requests import post
from classes import helper
erase_chars = helper.Helper()
if methods is None:
methods = []
methods.append(1)
locale.setlocale(locale.LC_ALL, '')
with open('config.json') as api_config:
api = json.load(api_config)
store_domain = api['wh_test']['store_domain']
access_token = api['wh_test']['token']
headers = {
'X-AC-Auth-Token': access_token,
'Content-Type' : 'application/json',
'Cache-Control' : 'no-cache'
}
# destination url is set in config.json
server_url = 'http://{}:{}'.format(api['python_server']['host'],api['python_server']['port'])
payload = {
'event_type' : event_type,
'url' : server_url,
'failure_type': 'Fallback',
'store_id' : 1,
'cache_length': 'Short',
'fallback_url': server_url,
}
print('failure: ', erase_chars.strip(event_type))
uri = 'https://{}/api/v1/webhooks'.format(store_domain)
return_data = post(uri, headers=headers, data=json.dumps(payload))