【发布时间】:2016-01-26 04:02:10
【问题描述】:
我正在我的应用程序中集成条带。代码有效,但我想得到描述错误并用标签显示给用户,以防出现问题(CC 编号不正确等):
// other stuff here
STPAPIClient.sharedClient().createTokenWithCard(stripeCard) { (token, error) -> Void in
if let error = error {
print(error.userInfo)
}
else if let token = token {
self.createBackendChargeWithToken(token) { status in
if status == PKPaymentAuthorizationStatus.Success{
dispatch_async(dispatch_get_main_queue()){
self.paymentActivity.hidden = true
self.paymentActivity.stopAnimating()
self.paymentActivityLabel.text = "Transaction approved!"
}
}
}
}
}
}
当我打印 error.userInfo 时,我得到以下信息:
[com.stripe.lib:ErrorMessageKey: Your card number is incorrect.,
com.stripe.lib:CardErrorCodeKey: com.stripe.lib:IncorrectNumber,
com.stripe.lib:ErrorParameterKey: number,
NSLocalizedDescription: Your card's number is invalid]
我如何推断NSLocalizedDescription?
【问题讨论】:
-
print(error.userInfo["NSLocalizedDescription"])有效吗?不确定键是否为字符串。 -
我试过了,但它返回
nil -
好的。我们需要知道这个对象中有什么。首先,您可以在“userInfo”上执行 ALT+CLICK,Xcode 会显示类型。也许那里有一种特定于 Stripe 的类型。如果还不够,我们将使用断点。
-
谢谢。这是
var userInfo: [NSObject : AnyObject] { get } -
@EricD。抱歉……我虽然试过了。有用!如果你发布它,我会接受答案。欢呼
标签: swift stripe-payments