如何解析从stripe收到的nserror

时间:2018-10-30 11:32:35

标签: swift stripe-payments nserror

您好,当我输入一些错误的卡号时,我会遇到此类型错误

  

错误Domain = com.stripe.lib代码= 70“您的卡被拒”   UserInfo = {com.stripe.lib:ErrorMessageKey =您的卡已被拒绝。您的   请求处于实时模式,但使用了已知的测试卡。   com.stripe.lib:StripeErrorCodeKey = card_declined,   com.stripe.lib:StripeErrorTypeKey = card_error,   com.stripe.lib:CardErrorCodeKey = com.stripe.lib:CardDeclined,   com.stripe.lib:ErrorParameterKey =,NSLocalizedDescription =您的卡   被拒绝}

我想从以下错误中解析此消息

  

您的卡被拒绝了。您的请求处于实时模式,但使用了   已知的测试卡。

1 个答案:

答案 0 :(得分:1)

您需要将error强制转换为NSError,然后才能访问userInfo并检查keys中的所有dictionary并提取任何消息-您想要的值,

if let error = error as? NSError {
    print(error.userInfo)
    print(error.localizedDescription)
    // Check the userInfo object and extract the messages as error.userInfo["messageKey"]
}