首页 > 解决方案 > 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)

        }
    }

编辑:我应该补充一点,我很好奇我是否必须开始处理付款以确认卡,或者我可以提前这样做吗?(例如:您输入的到期日期不正确)。

标签: iosswiftstripe-payments

解决方案


textField.isValid在这种情况下,验证每个STPPaymentCardTextField字段是否有效;这不涉及对 Stripe 的任何 API 调用。

第二个示例确实对 Stripe 进行了“创建令牌”API 调用,尽管这实际上并没有验证卡;直到您使用它来创建 Customer将其存储在现有 Customer创建 Charge时,它​​才会被验证。


推荐阅读