我使用CardIO和条纹为应用程序快速付款。我会查看条带文档,了解如何在不设置完整帐户的情况下快速验证。
我的第一个问题是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)
}
}
编辑:我应该补充说,如果我必须开始处理付款以确认卡或我能事先这样做,我会很好奇吗? (例如:您输入的exp日期不正确)。
答案 0 :(得分:0)
textField.isValid
validates that each of the STPPaymentCardTextField
fields are valid;这不涉及对Stripe的任何API调用。
第二个示例确实对Stripe进行了“创建令牌”API调用,但这实际上并不验证卡;在您将其用于create a Customer或store it on an existing Customer或create a Charge之前,它才会得到验证。