Amazon Pay — как получить коды отклонения авторизации

Работа с шагом 7 руководства по интеграции находится здесь, в котором говорится коды будут найдены в ответе при отклонении авторизации

введите здесь описание изображения

Итак, я просто распечатываю ответ на консоль, но все видят, что это объект ответа на платеж Amazon? Я запрашиваю авторизацию на шаге 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>

Как получить фактические коды отклонения (недействительный платеж, время ожидания транзакции и т. д.) из объекта ответа? Я имитирую тайм-аут транзакции с одной из предварительно настроенных карт в песочнице...


person JC23    schedule 17.05.2020    source источник


Ответы (1)


Функция печати печатает сам объект, потому что для него нет строкового определения.

Согласно Пример Amazon SDK для python, чтобы понять, что такое response, попробуйте следующее:

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

print(pretty_authorize)

Это напечатает весь объект в красивом формате json, это поможет вам правильно отладить.

Есть и другие варианты, такие как to_dict и прочее, вы можете посмотреть на payment_response.py от Amazon Pay, чтобы узнать о других вариантах.

person Swetank Poddar    schedule 17.05.2020
comment
Спасибо, теперь можно проверить отклоненные авторизации - person JC23; 18.05.2020