在 Razorpay 的测试和实时模式下,我只在成功方法中获取 payment_id
。我无法获得 razorpay_signature
和 razorpay_order_id
。
我使用了 RazorpayPaymentCompletionProtocolWithData
委托(delegate)来获取我的结果。
这是我的代码:
extension ViewController: RazorpayPaymentCompletionProtocolWithData {
func openRazorpayCheckout(){
//Register RazorpayTestKey
razorpay = RazorpayCheckout.initWithKey(kRazorpayLiveKey, andDelegateWithData: self)
let options: [String:Any] = [
"description": ServerConfig.shared.businessDescription!,
"order_id": viewModel.model.orderID!,
"image": ServerConfig.shared.businessImage!,
"name": ServerConfig.shared.businessName!,
"prefill": [
"contact": LoggedInUser.shared.phoneNumber!,
"email": LoggedInUser.shared.email!
]
]
if let rzp = razorpay {
rzp.open(options)
} else {
print("Unable to initialize")
}
}
func onPaymentError(_ code: Int32, description str: String, andData response: [AnyHashable : Any]?) {
_ = response!["razorpay_payment_id"]
_ = response!["razorpay_order_id"]
_ = response!["razorpay_signature"]
}
func onPaymentSuccess(_ payment_id: String, andData response: [AnyHashable : Any]?) {
_ = response!["razorpay_payment_id"]
_ = response!["razorpay_order_id"]
_ = response!["razorpay_signature"]
}
}
最佳答案
如果您没有得到签名,这意味着您的订单 ID 可能有误,请交叉检查您的订单 ID。我在android中犯了同样的错误。我没有传递导致空签名的订单 ID。
关于ios - Razorpay 签名和订单 ID 未进入 onPaymentSuccess 的成功方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63669321/