gpt4 book ai didi

ios - 集成 PayU Money Gateway iOS Swift

转载 作者:行者123 更新时间:2023-11-28 08:52:28 25 4
gpt4 key购买 nike

Working on Xcode 7.1, Swift 2.0

我在 Swift 上工作,目前正在尝试将 PayU Money 支付集成到 iOS 应用程序中 (following this documentation)。

我发现很难理解完成 block ,而且文档都在 Objective-C 中。有人可以帮我解决这个问题吗?

我不是编程专业人士,所以只是想确保我在写东西。

这是我的代码:

import UIKit


class ViewController: UIViewController {

var paymentParamForPassing = PayUModelPaymentParams()
var webServiceResponse: PayUWebServiceResponse = PayUWebServiceResponse()
var createRequest: PayUCreateRequest = PayUCreateRequest()



override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.



paymentParamForPassing.key = "0MQaQP"
paymentParamForPassing.transactionID = "Ywism0Q9XC88qvy";
paymentParamForPassing.amount = "10.0"
paymentParamForPassing.productInfo = "Nokia";
paymentParamForPassing.firstName = "Ram";
paymentParamForPassing.email = "email testsdk1.com";
paymentParamForPassing.userCredentials = "ra:ra";
paymentParamForPassing.phoneNumber = "1111111111";
paymentParamForPassing.SURL = "https://payu.herokuapp.com/ios_success";
paymentParamForPassing.FURL = "https://payu.herokuapp.com/ios_failure";
paymentParamForPassing.udf1 = "u1";
paymentParamForPassing.udf2 = "u2";
paymentParamForPassing.udf3 = "u3";
paymentParamForPassing.udf4 = "u4";
paymentParamForPassing.udf5 = "u5";
paymentParamForPassing.environment = ENVIRONMENT_MOBILETEST
paymentParamForPassing.offerKey = "offertest 1411";

paymentParamForPassing.hashes.paymentHash = "ade84bf6dd9da35d0aab50a5bf61d6272ab0fc488b361b65c66745054aacf1900e3c60b5022d2114bae7360174ebcb3cd7185a5d472e5c99701e5e7e1eccec34";
paymentParamForPassing.hashes.paymentRelatedDetailsHash = "915299224c80eff0eb2407b945a5087556292f58baca25fd05a0bceb6826aa9eb531810001dd4b4677dd928dd60d39eecf843b2189f213f9bb82c5a9483e3aac";
paymentParamForPassing.hashes.VASForMobileSDKHash = "5c0314c2781876f7e0a53676b0d08e1457dafe904d2d15d948626b57409538d51093eef4f15c792b1b9651be7b5659efdd45926e43a1145d68cea094687011ca";
paymentParamForPassing.hashes.deleteUserCardHash = "03e10e892005755f91061121036fb1b10f46202b4138d182f153c5de5c7fd44930ed94b32fac230e59bac1e4ca123aca3297e4b9d25024bf13237db9721fec1a";
paymentParamForPassing.hashes.offerHash = "1e99fdb59bd91c1a85624104c0fcfae34d7fcb850dd17a0b75e7efe49857d15fdefc47dd0d86ca34cbc3a8b580839aea6341a573e4e60dc1ddcf7ecc32bf9cae";


}

我在下面的 paymentButtonPressed 中的“createRequest...”行收到以下警告

我收到以下错误

Cannot convert value of type '(NSMutableURLRequest, String, NSError?) -> ()' to expected argument type 'completionBlockForCreateRequestWithPaymentParam!'

@IBAction func paymentButtonPressed(sender: AnyObject) {
createRequest.createRequestWithPaymentParam(paymentParamForPassing, forPaymentType: PAYMENT_PG_PAYU_MONEY, withCompletionBlock: {(request: NSMutableURLRequest, postParam: String, error: NSError?) in

if error == nil {
print("Success")
}
else {
print("Fail")
}

})

}




override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

有人知道我做错了什么吗?

最佳答案

完成 block 的签名与 PayUCreateRequest 类中的声明不匹配。

您使用了以下代码:

withCompletionBlock:

 {(request: NSMutableURLRequest, postParam: String, error: NSError?)

Error 是 NSString 类型。您可以改用以下行。

withCompletionBlock:

{(request: NSMutableURLRequest, postParam: String, error: String)

希望对您有所帮助。

关于ios - 集成 PayU Money Gateway iOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33841600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com