无法在iOS Swift中获得条带支付令牌



我正在实现stripe paymentSDK,在实现我的代码后,我在控制台得到错误,这里是我的代码:

视图控制器类

func stripPayment(CVC:String){
// Initiate the card
let stripCard = STPCardParams()
if cardMM == "" && cardYY == "" {
// Send the card info to Strip to get the token
stripCard.number=card_number
stripCard.name=card_name
stripCard.cvc=CVC
stripCard.expYear=UInt(cardYY)!
stripCard.expMonth=UInt(cardMM)!
}
print("card_number:",card_number)
print("card_name:",card_name)
print("CVC:",CVC)
print("cardYY:",cardYY)
print("cardMM:",cardMM)
STPAPIClient.shared.createToken(withCard: stripCard) { (token: STPToken?, error: Error?) in
print("Printing Strip response:(String(describing: token?.allResponseFields))nn")
print("Printing Strip Token:(String(describing: token?.tokenId))")
if error != nil {
print(error)
print(error?.localizedDescription ?? "")
}
if token != nil{
print("Token:",token!.tokenId)
self.placeOrderApi(tokenStripe: token!.tokenId, completion: {
self.pushVC(id: "PaymentConfirmationVCID")
})
}
}
}

App Delegate DidFinishLaunch

STPAPIClient.shared.publishableKey = "pk_test_51KuLPhJ4jB1YaTRoUayoteEXbtl5QvbayNeDDhjv4Nto9UvdM4LcTsP2EXAbU0IuOoKsIsOAk565HzvjLRPVP9wY00Ro5T3PYq"

控制台出错

打印条形令牌:nil可选(误差域= com.stripe。lib Code=50 "出现意外错误——几秒钟后再试一次"用户信息= {com.stripe。lib:ErrorParameterKey=card[number], NSLocalizedDescription=有一个意想不到的错误——几秒钟后再试一次,com.stripe。lib:ErrorMessageKey=缺少必需的参数:card[number]。, com.stripe。自由:StripeErrorTypeKey = invalid_request_error com.stripe.lib: StripeErrorCodeKey = parameter_missing})出现意外错误——几秒钟后再试

如果不显示card_number在哪里定义以及它是什么类型,很难说出问题是什么。您的代码在给定适当的值(如

)时总体上是可以工作的。
let card_number = "4242424242424242"
let card_name = "Jane Doe"
let CVC = "123"
let cardYY = "27"
let cardMM = "12"

但撇开这一点,收集原始卡片详细信息并创建这样的令牌并将其发布到后端是不寻常的,这是遗留集成。我建议直接使用Stripe当前的集成和插件支付组件https://stripe.com/docs/payments/accept-a-payment?platform=ios

最新更新