ios - Stripe 确认卡的详细信息以方便快捷
问题描述
我使用 CardIO 和 stripe 为应用程序设置快速付款。我正在浏览 Stripes 文档以了解如何在不设置完整帐户的情况下快速验证。
我的第一个问题是 textField.isValid 确认了什么?是否有一些调用条带来确认卡或者是一个简单的内容检查?
func paymentCardTextFieldDidChange(_ textField: STPPaymentCardTextField) {
// Toggle buy button state
buyButton.enabled = textField.isValid
}
其次,如果它确实确认卡是有效的,这和下面的代码有什么区别吗?令牌是否仅在即将执行购买时使用?
func userDidProvideCreditCardInfo(cardInfo: CardIOCreditCardInfo!, inPaymentViewController paymentViewController: CardIOPaymentViewController!) {
if let info = cardInfo {
let str = NSString(format: "Received card info.\n Number: %@\n expiry: %02lu/%lu\n cvv: %@.", info.redactedCardNumber, info.expiryMonth, info.expiryYear, info.cvv)
print(str)
//dismiss scanning controller
paymentViewController?.dismissViewControllerAnimated(true, completion: nil)
//create Stripe card
let card: STPCardParams = STPCardParams()
card.number = info.cardNumber
card.expMonth = info.expiryMonth
card.expYear = info.expiryYear
card.cvc = info.cvv
//Send to Stripe
getStripeToken(card)
}
}
编辑:我应该补充一点,我很好奇我是否必须开始处理付款以确认卡,或者我可以提前这样做吗?(例如:您输入的到期日期不正确)。
解决方案
textField.isValid
在这种情况下,验证每个STPPaymentCardTextField
字段是否有效;这不涉及对 Stripe 的任何 API 调用。
第二个示例确实对 Stripe 进行了“创建令牌”API 调用,尽管这实际上并没有验证卡;直到您使用它来创建 Customer或将其存储在现有 Customer或创建 Charge时,它才会被验证。
推荐阅读
- java - 这段代码有什么问题......?Java 套接字编程
- gallery - 如何更改 PrimeNG 的 p-galleria 中的图像大小?
- linux - 如何从我的 CSV 文件输出中删除 NONREF,以便在脚本运行时不会打印出该行?
- ios - UIScrollView 嵌套在 UIPageViewController 幻灯片中
- vba - 仅在回答问题时才更新/添加表项?
- python - 获取事件上矩阵
- mysql - MySQL 联合子查询
- ios - 尝试状态恢复时在基于文档的应用程序中获取“错误域 = NSCocoaErrorDomain 代码 = 257”
- webpack - html-loader 无法识别 html 中的 img 标签
- r - 在 R 调查包中复制国家多阶段样本的 Stata 设计