【发布时间】:2020-05-17 18:36:16
【问题描述】:
我正在开发一个需要集成支付网关的应用程序,并且我正在根据需要使用Cashfree 支付网关WebView Checkout 选项。从他们的docs 很容易实现。这就是我启动 SDK 的方式:
func initiateCFSDK() {
let cashfreeVC = CFViewController(params: getPaymentParams(), appId: self.appId, env: self.environmentCF, callBack: self)
let navVC = UINavigationController(rootViewController: cashfreeVC)
self.present(navVC, animated: true, completion: nil)
}
支付参数:
func getPaymentParams() -> Dictionary<String, String> {
return [
"orderId": self.orderId,
"tokenData" : self.paymentToken,
"orderAmount": self.paymentValue,
"customerName": "name",
"orderNote": "health prodcuts",
"orderCurrency": "INR",
"customerPhone": "9876543210",
"customerEmail": "abc@gmail.com",
"notifyUrl": "https://test.gocashfree.com/notify"
]
}
从他们的文档中,我们需要将框架拖放到 Xcode 项目中并将其添加到 Embedded Binaries。使用orderId从后端生成的token,需要传入支付参数。
问题 1:
每次我启动 SDK 时都会出现错误:"Invalid token sent in request" 并在 delegate 方法中打印以下结果:
Finished navigating to url https://test.cashfree.com/billpay/checkout/post/submit
JSON value : {"orderId":"","referenceId":"","orderAmount":"","txMsg":"Invalid token sent in request","txTime":"","txStatus":"FAILED","paymentMode":"","signature":""}
以下是截图供参考。
问题 2: 由于我通过嵌入 UINavigationController 来呈现 SDK,因此当我按下返回按钮时,它无法自行关闭。
由于我无法解决的错误(无效令牌),我已经为我的头撞了好几个星期。所以这里有人试过,请看看有什么问题?期待 SO 的解决方案。
P.S:我尝试联系他们的技术支持,每次他们只是发送指向他们文档的链接。
【问题讨论】:
-
您确定用于生成令牌的订单信息与使用 sdk 的请求匹配吗? ,我认为令牌不匹配或传递了错误的order_id
标签: ios swift frameworks payment-gateway