2016-12-21 3 views
-1

Я загрузил SDK PayOMoney iOS с сайта PayUMoney. Теперь я не могу интегрировать SDK с моим быстрым проектом.Как интегрировать SDK PayOMoney iOS в быстрый проект

+0

вы можете поделиться ссылкой на скачивание, где у вас есть только sdk без инструкций по интеграции? – vaibhav

+0

https://www.payumoney.com/payment-gateway-integration-guide.html Здесь я получил его –

+0

. Этот PayU SDK не кажется надежным, идите в PayPal SDK, он очень прост в использовании а веб-сайт разработчика PayPal предлагает обширную документацию, которая поможет вам реализовать свой SDK в вашем приложении. – cubycode

ответ

5

Этот ответ взят из документации PayU сам, я отвечаю здесь только потому, что мне потребовались часы, чтобы реализовать их документацию.

Привет, я могу провести вас без единой интеграции. https://github.com/payu-intrepos/Documentations/wiki/8.-iOS-SDK-integration#nonseamless

В не бесшовной интеграции PayU уже предоставляет пользовательский интерфейс и будет обрабатывать тип карты и весь процесс оплаты и в конце концов вы будете уведомлены на статус вашей сделки с разумом, если не удались, и все детали.

Скачать SDK отсюда: https://github.com/payu-intrepos/iOS-SDK-Sample-App/archive/3.8.1.zip

С Sample скопировать код файла из папки "BusinessLayer".

Так что я надеюсь, что у вас есть все необходимые файлы, теперь мы можем пойти дальше с интеграцией.

Вы интегрируете PayU с быстрым, так как нет быстрого SDK от команды PayU, мы должны продолжить с помощью Bride to Objective-C. Вы можете найти информацию об этом здесь: How to call Objective-C code from Swift

После того, как файл заголовка будет создан и настроен в настройке сборки, импортировать следующие заголовки SDK

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

Теперь мы готовы использовать PayU SDK в нашей среде/проекта ,

Создать новый экземпляр 3 основного объекта, используемого для оплаты параметров 1) Оплата 2) Hash значения 2) // вспомогательный класс для вычисления хэш-значение

вставьте выше вашего viewDidLoad()

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

Здесь функция я создал для дальнейшей обработки

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)") 
      } 
     } 
    } 

есть так me Моя пользовательская функция, которая через ошибку на вашей стороне вы скопируете пасту, я упоминаю их здесь. Как заботиться о них

1) loadVC («PUUIMainStoryBoard», strVCId: VC_IDENTIFIER_PAYMENT_OPTION) // Функция Loadvc я создал, чтобы загрузить вид контроллера, вы должны изменить его, как вы называете ваш взгляд контроллер

2) runOnMainThread ({ // Эта функция предназначена для выполнения кода на главном потоке

Я использовал все тестовые учетные данные, предоставленные командой PayU вы можете найти больше в их док:. https://www.payumoney.com/pdf/PayUMoney-Technical-Integration-Document.pdf

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

// С этой строкой мы добавляем уведомление, отправленное платежным шлюзом, чтобы уведомить нас о статусе процесса платежа, позволяет направить уведомление.

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

Вы получите ответ в уведомлении.объекта. Вы можете найти более сложный язык и способ в своем документе: https://github.com/payu-intrepos/Documentations/wiki/8.-iOS-SDK-integration.

Надеюсь, этот ответ может вам помочь.

+0

Я попробовал это. Я получаю сообщение об ошибке из заголовка моста, говоря, что «файл не найден» –

+0

говорит, что файл «PayU_iOS_CoreSDK.h» не найден в заголовке моста –

+0

Проверьте файл PayU_iOS_CoreSDK.h в папке, которую вы перетащили. –

Смежные вопросы