Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在swift项目中集成PayUMoney iOS SDK_Ios_Swift_Payumoney - Fatal编程技术网

如何在swift项目中集成PayUMoney iOS SDK

如何在swift项目中集成PayUMoney iOS SDK,ios,swift,payumoney,Ios,Swift,Payumoney,我已经从PayUMoney网站下载了PayUMoney iOS SDK。我现在无法将SDK与我的swift项目集成。这个答案来自PayU文档本身,我在这里回答这个问题只是因为我花了几个小时来实现他们的文档 嗨,我可以指导你进行非无缝集成。 在非无缝集成中,PayU已经提供UI,并将处理卡类型和所有支付流程,最后将通知您的交易状态以及失败原因和所有详细信息 从此处下载SDK: 从示例代码中,从“BusinessLayer”文件夹复制文件 因此,我希望您现在拥有所有必需的文件,我们可以进一步进行集

我已经从PayUMoney网站下载了PayUMoney iOS SDK。我现在无法将SDK与我的swift项目集成。

这个答案来自PayU文档本身,我在这里回答这个问题只是因为我花了几个小时来实现他们的文档

嗨,我可以指导你进行非无缝集成。

在非无缝集成中,PayU已经提供UI,并将处理卡类型和所有支付流程,最后将通知您的交易状态以及失败原因和所有详细信息

从此处下载SDK:

从示例代码中,从“BusinessLayer”文件夹复制文件

因此,我希望您现在拥有所有必需的文件,我们可以进一步进行集成

您正在将PayU与swift集成,因为PayU团队没有swift SDK,我们必须继续与Objective-C进行绑定。 您可以在此处找到有关此的信息:

在build设置中创建并配置头文件后,导入SDK的以下头文件

#import "PayU_iOS_CoreSDK.h"
#import <CommonCrypto/CommonHMAC.h>
#import "PUUIPaymentOptionVC.h"
#import "PUSAWSManager.h"
#import "PUSAWSManager.h"
#import "PUSAHelperClass.h"
这是我为进一步处理而创建的函数

func continueWithCardPayment()  {

        paymentParam.key = "gtKFFx"
        paymentParam.transactionID = "umangtxn123"
        paymentParam.amount = "100.0"
        paymentParam.productInfo = "Nokia"
        paymentParam.SURL = "https://google.com/"
        paymentParam.FURL = "https://facebook.com/"
        paymentParam.firstName = "Umang"
        paymentParam.email = "umangarya336@gmail.com"
        paymentParam.environment = ENVIRONMENT_MOBILETEST
        paymentParam.udf1 = "udf1"
        paymentParam.udf2 = "udf2"
        paymentParam.udf3 = "udf3"
        paymentParam.udf4 = "udf4"
        paymentParam.udf5 = "udf5"
        paymentParam.offerKey = ""              // Set this property if you want to give offer:
        paymentParam.userCredentials = ""

        PUSAhelper.generateHashFromServer(self.paymentParam) { (hashes, errorString) in
            self.hashes = hashes
            self.paymentParam.hashes = hashes
            self.callPaymentGateway()
        }
    }

    func callPaymentGateway()  {

        let webServiceResponse :PayUWebServiceResponse = PayUWebServiceResponse()

        webServiceResponse.getPayUPaymentRelatedDetailForMobileSDK(paymentParam) { (paymentDetail, errString, extraParam) in

            if errString == nil {

                let payOptionVC: PUUIPaymentOptionVC = loadVC("PUUIMainStoryBoard", strVCId: VC_IDENTIFIER_PAYMENT_OPTION) as! PUUIPaymentOptionVC

                payOptionVC.paymentParam = self.paymentParam
                payOptionVC.paymentRelatedDetail = paymentDetail

                runOnMainThread({
                    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.paymentResponseReceived(_:)), name: kPUUINotiPaymentResponse, object: nil)
                    self.navigationController?.pushViewController(payOptionVC, animated: true)
                })
            }
            else{
                print("Failed to proceed for payment : \(errString)")
            }
        }
    }
有一些我的自定义功能,将通过错误在您的身边复制粘贴,我在这里提到他们。一定要照顾他们

1) loadVC(“PUUIMainStoryBoard”,strVCId:VC\u标识符\u支付选项) //Loadvc函数是我为加载视图控制器而创建的,您必须在调用视图控制器时对其进行更改

2) RunnonMainThread({ //此函数用于在主线程上运行代码

我使用了PayU团队提供的所有测试凭证 您可以在他们的文档中找到更多信息:

//通过这一行,我们添加了支付网关发送的通知,通知我们支付过程的状态,让我们兑现通知

func paymentResponseReceived(notify:NSNotification) {
print(notify)
}
您将在notify.object中获得响应。 您可以在他们的文档中找到更复杂的语言和方式:


希望这个答案能对您有所帮助。

您能分享一下下载链接吗?这里只有sdk,没有集成说明。这是我得到的。PayU sdk似乎不可靠,请选择PayPal sdk,它使用非常简单,PayPal开发者网站提供了丰富的文档,可以帮助您在自己的网站上实现其sdk我确实试过这个。我从桥接头得到一个错误,说“找不到文件”,它说,“PayU_iOS_CoreSDK.h”在您拖动的文件夹中的桥接headerCheck for PayU_iOS_CoreSDK.h文件中找不到文件。如果sdk中没有此类文件,请下载示例项目并从thr获取文件。就支付集成而言,PayU sucks的generateHasFromServer,我们不应使用此方法,而应要求您的后端开发人员创建一个。
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.paymentResponseReceived(_:)), name: kPUUINotiPaymentResponse, object: nil)
func paymentResponseReceived(notify:NSNotification) {
print(notify)
}