我正在开发一个iOS应用程序,它有一个支付服务。然而,我在payfort集成中遇到了一个问题。
我已经关注了他们的网站上提供的文档:https://docs.payfort.com/pdf/FORT_Mobile-SDK_iOS_Integration_Guide_v_3.3.pdf
在第21页中,他们提到"token_name“是一个可选参数see picture。然而,在我完成文档并运行我的应用程序后,我得到了这个错误:"Token name I not exist“。
有人能帮我解决我的问题吗?
下面是我的代码:
让payFort =PayFortController.init(环境: KPayFortEnviromentSandBox)
// Set Dictionary contain all keys and values for SDK
let request = NSMutableDictionary.init()
request.setValue("2", forKey: "amount")
request.setValue("PURCHASE", forKey: "command")
request.setValue("SAR", forKey: "currency")
request.setValue("********b@gmail.com", forKey: "customer_email")
request.setValue("en", forKey: "language")
request.setValue("XYZ92********", forKey: "merchant_reference")
request.setValue("8DEBDC6BBB84354***********" , forKey: "sdk_token")
// Call PayFort and response callback
payFort?.callPayFort(withRequest: request, currentViewController: self,
success: { (requestDic, responeDic) in
print("success")
},canceled: { (requestDic, responeDic) in
print("canceled")
},
faild: { (requestDic, responeDic, message) in
print("faildddd")
})
payFort?.callPayFort(withRequest: request, currentViewController: self,
success: { (requestDic, responeDic) in
print("success")
print("responeDic=\(responeDic)")
print("responeDic=\(responeDic)")
},canceled: { (requestDic, responeDic) in
print("canceled")
print("requestDic=\(requestDic)")
print("responeDic=\(responeDic)")
},
faild: { (requestDic, responeDic, message) in
print("faiiild")
print("requestDic=\(requestDic)")
print("responeDic=\(responeDic)")
print("message=\(message)")
})
payFort!.isShowResponsePage = true
payFort!.hideLoading = true注意:我曾尝试添加token_name参数并随机选择一个名称,但不起作用
发布于 2019-07-21 19:20:44
尝尝这个
func connectPaymentGateway(token:String){
let currentTime = Int64(Date().timeIntervalSince1970 * 1000)
let merchant_reference = "12586" + "_" + String(format: "%0.2d", currentTime)
let request = NSMutableDictionary.init()
request.setValue(totalAmount * 100 , forKey: "amount")
request.setValue("AUTHORIZATION", forKey: "command")
request.setValue("AED", forKey: "currency")
request.setValue("email@gmail.com", forKey: "customer_email")
request.setValue("en", forKey: "language")
request.setValue(merchant_reference, forKey: "merchant_reference")
request.setValue(token , forKey: "sdk_token")
request.setValue("8A70320AF209" , forKey: "token_name")
request.setValue("VISA" , forKey: "payment_option")
OperationQueue.main.addOperation {
self.payFort?.callPayFort(withRequest: request, currentViewController: self,
success: { (requestDic, responeDic) in
print("success")
print("responeDic=\(String(describing: responeDic))")
let payResponse:PayfortResponse = self.getBookingByResponse(responeDic! as NSDictionary)
print(payResponse)
print(payResponse.response_message as Any)
if payResponse.response_message == "Success" {
print("Payment Success")
}
},canceled: { (requestDic, responeDic) in
print("canceled")
print("responeDic=\(String(describing: responeDic))")
self.navigationController?.popToRootViewController(animated: true)
},faild: { (requestDic, responeDic, message) in
print("faild")
print("responeDic=\(String(describing: responeDic))")
print("message=\(String(describing: message))")
var msgStr = "Please try again later"
if let msgString = message {
msgStr = "\(msgString)\n\(msgStr)"
}
let alert = UIAlertController(title: "Payment Failed", message: msgStr, preferredStyle: UIAlertController.Style.alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: { action in
self.navigationController?.popToRootViewController(animated: true)
}))
self.present(alert, animated: true, completion: nil)
})
}
}https://stackoverflow.com/questions/57132355
复制相似问题