剃须刀付款没有重定向到结帐页面,为什么?

时间:2019-04-10 09:43:16

标签: ios swift xcode razorpay

我正在使用

* Xcode-10.2

*迅速的语言版本-迅速5

* RazorPay框架版本-1.1.1(pod'razorpay-pod','1.1.1')

我的问题是当我打电话给这个人

razorpay.open(options, displayController: self)

它给我一个

的意外错误(代码-1)
  

/用户/travis/build/razorpay/razorpay-ios/RazorpayIOS/CheckoutOtpelf/Classes/RazorpayCheckoutVC.swift已取消初始化

我尝试过的解决方案是

  1. Github社区表示在调用打开函数(https://github.com/razorpay/razorpay-pod/issues/42)之前隐藏导航栏。
  2. 使用了多框架版本的razor pay
  3. 也尝试过快速4.2
  4. 我已经清理了我的项目,删除了衍生数据并重建了它。

这是我的代码

import Razorpay

class controller: RazorpayPaymentCompletionProtocol{
        private var razorpay: Razorpay!

override func viewDidLoad() {
        super.viewDidLoad()
        razorpay = Razorpay.initWithKey("test_key", andDelegate: self)
}

func openRazorPay(){
        let options = [
            "amount" : "12.00"
        ]
        self.navigationController?.isNavigationBarHidden = true
        razorpay.open(options, displayController: self)
}

func onPaymentSuccess(_ payment_id: String) {
        print("success")
}

func onPaymentError(_ code: Int32, description str: String) {
        print("Failure")
}

}

此框架支持Android,但不支持iOS。我想得到付款流程。如果有人有任何解决方案,请与我分享。

2 个答案:

答案 0 :(得分:1)

我面临着同样的问题……

我所做的不同是我将一个静态金额取值为100,并按原样传递其他数据.....然后进行付款程序...它起作用了...打开付款窗口。

如果您的金额小于100,那么就会发生...根据文档,我们在参数中分配的金额将其视为paisa...。尝试此操作,您将获得预期的结果。 / p>

答案 1 :(得分:0)

我面临着同样的问题,我发送给选项的所有参数都是正确的。

但是问题是,当我们尝试打开RazorPay屏幕进行付款时,出现了RazorpayCheckoutVC.swift取消初始化的问题

在我的情况下,我的父viewController出现了,所以我只是将present的导航代码更改为push,然后它起作用了。

据我所知应该是

NavigationController->推送ViewController-> RazorPaycheckoutVC。