我正在沙盒环境中工作,并使用PayPal REST .net SDK的Payment.Create方法和CreditCard对象。 当所有参数都有效且使用https://developer.paypal.com/webapps/developer/docs/integration/direct/accept-credit-cards/中提供的测试信用卡号时,该方法将返回Payment对象,一切正常。
然而,当参数无效时,例如过期日期已过或沙盒不识别的CC号码,Payment对象将不会返回。 相反,该方法会抛出异常:“HttpConnection Execute中的异常:无效的HTTP响应 远程服务器返回错误:(400)Bad Request”,但没有进一步的说明。
当我在cURL中执行相同的请求时,除了“400 Bad Request”之外,我还收到JSON响应。 这包括更有用的消息,例如“VALIDATION_ERROR”和“Invalid expiration(不能过去)”。
我的问题是:是否有一种方法可以从SDK获取这些消息?
我尝试过的方法:
然而,当参数无效时,例如过期日期已过或沙盒不识别的CC号码,Payment对象将不会返回。 相反,该方法会抛出异常:“HttpConnection Execute中的异常:无效的HTTP响应 远程服务器返回错误:(400)Bad Request”,但没有进一步的说明。
当我在cURL中执行相同的请求时,除了“400 Bad Request”之外,我还收到JSON响应。 这包括更有用的消息,例如“VALIDATION_ERROR”和“Invalid expiration(不能过去)”。
我的问题是:是否有一种方法可以从SDK获取这些消息?
我尝试过的方法:
- PayPal文档: https://developer.paypal.com/webapps/developer/docs/api/#errors 此文档提到,在发生错误的情况下,他们会在响应体中返回详细信息。不幸的是,它并没有给出关于这些信息是否可以被SDK访问的线索。
- 各种谷歌和SO搜索结果。
- SDK提供的PizzaApp示例代码没有任何异常处理或进一步解决此问题的见解。
- 我在SDK中看到了一个PayPalException对象,但没有找到任何指示它如何使用或是否与此问题相关的信息。
非常感谢您的帮助。