[英]Stripe confirm Card details for swift
我使用CardIO和Stripe为应用程序设置快速付款。 我正在浏览Stripes文档,以了解如何快速验证而不设置完整帐户。
我的第一个问题是textField.isValid确认什么? 是否需要打电话给Stripe确认卡,还是进行简单的内容检查?
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调用,尽管这实际上并没有验证Card。 直到您使用它来创建Customer或将其存储在现有Customer上或创建Charge时,它才会得到验证。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.