Paypal API - checkout.js - ошибка разбора ответа - PullRequest
0 голосов
/ 30 августа 2018

Я реализовал этот API в своем приложении Angular. Проблема заключается в том, что при вводе неправильного адреса доставки API выдает ошибку:

Uncaught Ошибка: ошибка при обработке ошибки Ошибка: запрос на публикацию www.sandbox.paypal.com/v1/payments/payment не выполнен с ошибкой 400. Идентификатор корреляции: 3b331f9eaafa4, 3b331f9eaafa4

{ "имя": "VALIDATION_ERROR", "подробности": [ { "поле": "город", «Проблема»: «Значение недействительно» }, { «поле»: «состояние», «Проблема»: «Значение недействительно» }, { "поле": "почтовый индекс", «Проблема»: «Значение недействительно» } ], "message": "Неверный запрос - подробности", "information_link": "developer.paypal.com/docs/api/payments/#errors", "debug_id": "3b331f9eaafa4" }

Как мне разобрать ошибку, чтобы показать предупреждение с текстом ошибки? Это не JSON, поэтому я не знаю, как его проанализировать.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Это решение:

let res = error.message.match(/{([\s\S]*?)^}/gm);
console.log( JSON.parse( res[0] ) )

Это даст JSON для работы.

0 голосов
/ 30 августа 2018

Используйте регулярное выражение для сопоставления JSON, а затем проанализируйте его в JSON, используя JSON.parse. После этого вы можете использовать поля message и details, которые содержат информацию, связанную с ошибкой.

var jsonString = errmsg.match(/\{.*\}/gm);

var jsonObj = JSON.parse(jsonString);

Надеюсь, это поможет.

...