Я работаю в песочнице и использую метод PayPal REST.net SDK Payment.Create с объектом CreditCard. Когда все параметры действительны и используя номер тестового CC из https://developer.paypal.com/webapps/developer/docs/integration/direct/accept-credit-cards/, объект Payment возвращается из этого метода, и все хорошо.
Однако, когда параметр недействителен, например, прошлая дата истечения срока действия или номер CC, не распознанный песочницей, объект Payment не возвращается. Вместо этого метод генерирует исключение: "Исключение в HttpConnection Execute: Неверный ответ HTTP. Удаленный сервер возвратил ошибку: (400)" Плохой запрос ", но без дополнительных объяснений.
Когда я выполняю тот же запрос в cURL, в дополнение к "400 Bad Request", я получаю ответ JSON. Это включает в себя более полезные сообщения, такие как "VALIDATION_ERROR" и "Invalid expiration (не может быть в прошлом)".
Мой вопрос: есть ли способ вернуть эти сообщения из SDK?
Что я пробовал:
- Документы PayPal: https://developer.paypal.com/webapps/developer/docs/api/#errors В этом документе упоминается, что в случае ошибки они возвращают детали в тексте ответа. К сожалению, он не дает понять, доступны ли они SDK.
- Различные поисковые запросы Google и SO.
- Пример кода PizzaApp, поставляемый с SDK, не имеет ничего общего с обработкой исключений или дальнейшим пониманием этой проблемы.
- Я вижу объект PayPalException в SDK, но не нашел ничего, что указывало бы, как оно должно использоваться или если оно даже имеет отношение к этой проблеме.
Вся помощь очень ценится.