gpt4 book ai didi

ios - WorldPay AccessCheckoutSDK IOS "generateSession"给出 "Identity is invalid"错误

转载 作者:行者123 更新时间:2023-12-05 04:29:14 44 4
gpt4 key购买 nike

我正在尝试使用 Swift 将 WorldPay 的“AccessCheckoutSDK”集成到我的 IOS 应用程序中

https://developer.worldpay.com/docs/access-worldpay/checkout/ios/card-only

生成 session 时出现“身份无效”错误。这是我试过的代码

 func initializedSDK() -> AccessCheckoutClient? {
let accessCheckoutClient = try?
AccessCheckoutClientBuilder().accessBaseUrl(WORLDPAY_BASE_URL)
.merchantId(WORLDPAY_MERCHANT_ID)
.build()
return accessCheckoutClient
}


func createCardDetails(CardNumber : String , CardExpiry : String , CardCVC : String) -> CardDetails? {
let cardDetails = try? CardDetailsBuilder().pan(CardNumber)
.expiryDate(CardExpiry)
.cvc(CardCVC)
.build()

return cardDetails
}


func CreateSession(CardNumber : String , CardExpiry : String , CardCVC : String) {


guard let accessCheckoutClient = initializedSDK() else {
// not going here so accessCheckoutClient is initialized
return
}
guard let cardDetails = createCardDetails(CardNumber: CardNumber, CardExpiry: CardExpiry, CardCVC: CardCVC) else {
// Not going here , so card details are valid
return
}

try? accessCheckoutClient.generateSessions(cardDetails: cardDetails, sessionTypes: [SessionType.card , .cvc ]) { result in
DispatchQueue.main.async {
switch result {
case .success(let sessions):
// The session is returned in a Dictionary[SessionType:String]
//not going here
let cardSession = sessions[SessionType.card]
let cvcSession = sessions[SessionType.cvc]


case .failure(let error):
// The error returned is of type AccessCheckoutError
print("error \(error)")
// It is going here and prints this error below

}
}
}
}

我遇到这个错误

AccessCheckoutError(错误名称:“bodyDoesNotMatchSchema”,消息:“bodyDoesNotMatchSchema:提供的 json 正文与预期的模式不匹配”​​,validationErrors:[AccessCheckoutSDK.AccessCheckoutError.AccessCheckoutValidationError(错误名称:“fieldHasInvalidValue”,消息:“身份无效” , jsonPath: "$.identity")])

WORLDPAY_BASE_URL = "https://try.access.worldpay.com/"

注意:我在测试模式下使用 worldPay,还没有激活实时模式,并确保 WORLDPAY_MERCHANT_ID 是正确的。

最佳答案

在对 worldPay 进行了所有研究之后,我决定给 worldPay 支持人员发邮件,在与他们进行了简短的交谈并且他们查看了我的 worldPay 帐户之后,这是他们的最终回复:

“您的帐户状态“基本”、“免费套餐”不允许您访问此端点。”

我决定回答我自己的问题,这样如果有人在将 WorldPay 与测试帐户集成时遇到同样的问题,这将对他们有所帮助。我仍然认为 WorldPay 开发人员可以通过在 api 响应中直接返回这个确切的字符串而不是抛出 500 服务器错误来更好地处理这种情况。

我也欢迎关于这篇文章的其他答案和信息。如果您对 worldPay 与 IOS 的集成有任何了解,请随时发表评论或回答这个问题。

关于ios - WorldPay AccessCheckoutSDK IOS "generateSession"给出 "Identity is invalid"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72401861/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com