2016-11-30 1 views
1

Ich bin neu auf schnellen Kann jemand mir helfen, zu integrieren PayU Geld in schnellen .... Ich bin mit diesem sdk integrieren: https://github.com/payu-intrepos/Documentations/wiki/8.1-NEW-iOS-Seamless-SDK-integrationWie PayU Geld in schnellen

+1

Ich verstehe völlig, dass etwas Neues beginnen kann einschüchternd, aber der beste Weg zu lernen ist, indem Sie tun! Sie sollten die Anweisungen lesen und es zuerst selbst ausprobieren. Sie können kämpfen, aber das ist Teil des Lernprozesses. Die Community wird Ihnen helfen, wenn Sie auf bestimmte Probleme mit Ihrem Code stoßen. Viel Glück, du kannst es schaffen! – user3353890

Antwort

2

Diese Antwort ist entnommen aus PayU Dokumentation selbst, ich antworte hier, nur weil ich stundenlang mit ihrer dokumentation umgesetzt habe.

Hi ich kann Sie mit NON nahtlose Integration führen.

In nicht nahtlos Integration PayU bietet bereits UI und wird den Kartentyp und alle Zahlungsprozess behandeln und am Ende werden Sie für den Status Ihrer Transaktion mit Grund benachrichtigt, wenn gescheitert und alle Details.

Laden Sie das SDK von hier: https://github.com/payu-intrepos/iOS-SDK-Sample-App/archive/3.8.1.zip

Von Beispielcode kopieren Datei aus "BusinessLayer" -Ordner.

Also ich hoffe, Sie haben alle erforderlichen Dateien jetzt können wir weiter mit der Integration gehen.

Sie integrieren PayU mit swift, da es kein schnelles SDK gibt, das vom PayU-Team nicht vorhanden ist, müssen wir mit Briding zu Objective-C fortfahren. Sie können dazu finden Sie hier: How to call Objective-C code from Swift

Sobald Header-Datei erstellt und in Build-Einstellung konfiguriert, importieren Sie die folgenden Headers von SDK

#import "PayU_iOS_CoreSDK.h" 
#import <CommonCrypto/CommonHMAC.h> 
#import "PUUIPaymentOptionVC.h" 
#import "PUSAWSManager.h" 
#import "PUSAWSManager.h" 
#import "PUSAHelperClass.h" 

Jetzt sind wir bereit, PayU SDK in unsere Umwelt/Projekt verwenden .

erstellen neue Instanz von 3 Hauptaufgabe für die Zahlung verwendet 1) Zahlung Parameter 2) Hash-Werte 2) helperClass // Hash-Wert

fügen Sie diese über Ihre viewDidLoad()

let paymentParam: PayUModelPaymentParams = PayUModelPaymentParams() 
var hashes :PayUModelHashes = PayUModelHashes() 
let PUSAhelper:PUSAHelperClass = PUSAHelperClass() 
zu berechnen

Hier ist Funktion i für die Weiterverarbeitung erstellt haben

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 = "[email protected]" 
     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)") 
      } 
     } 
    } 

Es gibt so Ich meine benutzerdefinierte Funktion, die durch Fehler an Ihrer Seite kopieren Sie Paste, ich erwähne sie hier. Nehmen Sie sie kümmern

1) loadVC ("PUUIMainStoryBoard", strVCId: VC_IDENTIFIER_PAYMENT_OPTION) // Loadvc Funktion i erstellt haben View-Controller zu laden, müssen Sie ihn ändern, wie Sie die Ansicht Controller

rufen 2) runOnMainThread ({ // Diese Funktion ist für Code auf Haupt-Thread ausgeführt

ich alle Testanmeldeinformationen von PayU Team zur Verfügung gestellt verwendet haben Sie mehr in ihre doc finden. https://www.payumoney.com/pdf/PayUMoney-Technical-Integration-Document.pdf

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.paymentResponseReceived(_:)), name: kPUUINotiPaymentResponse, object: nil) 

// Mit dieser Zeile fügen wir eine Benachrichtigung hinzu, die vom Zahlungs-Gateway gesendet wird, um uns über den Status des Zahlungsprozesses zu informieren, lässt die Benachrichtigung einlösen.

func paymentResponseReceived(notify:NSNotification) { 
print(notify) 
} 

Sie erhalten die Antwort in notify.object. Sie können anspruchsvollere Sprache und Weise an ihrem Dokument finden: https://github.com/payu-intrepos/Documentations/wiki/8.-iOS-SDK-integration.

Hoffe, diese Antwort kann Ihnen helfen.

+0

Hey @Dev_Tandel, sollte ich den gesamten PayU-Ordner von der Beispiel-App in meinen Code kopieren? –

+0

@NikhilManapure - PayU jetzt SDK für Swift veröffentlicht haben, einmal auschecken. –

+0

Ich brauchte eine unwandelbare API, ich brauche nicht meine eigene API und ich schätze PayU hat nur eine schnelle API, bitte korrigiere mich, wenn ich falsch liege. Überprüfen Sie [hier] (https://github.com/payu-intrepos/Documentations/wiki/.-iOS-SDK-integration) –