Я работаю над приложением, в котором мне нужно интегрировать платежный шлюз, и я использую опцию Cashfree платежный шлюз WebView Checkout
в соответствии с необходимостью. Это легко реализовать из их документов . Вот как я запускаю 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 и должен передать его в параметрах оплаты.
Проблема 1: Каждый раз, когда я запускаю SDK, выдается сообщение об ошибке: "Неверный токен отправлен в запросе " и печатает следующий результат в методе 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: Поскольку я представляю SDK, встроив его в UINavigationController, при нажатии кнопки назад он не может отклонить себя.
Я много недель бьюсь головой об ошибке (Неверный токен), которую не могу устранить. Так что кто-нибудь здесь пробовал и, пожалуйста, посмотрите, что не так? В ожидании решений от SO.
PS: я пытался связаться с их техподдержкой, и каждый раз, когда они просто отправляли ссылку на свои документы.