2

完成此处找到的集成指南第 7 步,其中指出当授权被拒绝时将在响应中找到代码

在此处输入图像描述

所以我只是打印出对控制台的响应,但所有看到的是一个亚马逊支付响应对象?我在集成指南的第 6 步中请求授权,如下所示

response = client.authorize(
        amazon_order_reference_id=session['order_reference_id'],
        authorization_reference_id=rand(),
        authorization_amount=totalamount,
        transaction_timeout=0,
        capture_now=True)
print('authorize response ',response)

我在控制台中得到的是authorize response <amazon_pay.payment_response.PaymentResponse object at 0x7f7f9494b8d0>

如何从响应对象中获取实际的拒绝代码(无效支付、交易超时等)?我正在使用沙盒中的一张预配置卡模拟交易超时...

4

1 回答 1

3

print 函数正在打印它自己的对象,因为它没有字符串定义。

根据python 的 Amazon SDK 示例,要得到什么response,试试这个:

pretty_authorize = json.dumps(json.loads(response.to_json()), indent = 4 )

print(pretty_authorize)

这将以漂亮的 json 格式打印整个对象,这将帮助您正确调试。

还有更多的选项to_dict和东西,您可以查看Amazon Pay 的 payment_response.py以了解其他选项。

于 2020-05-17T17:12:56.560 回答