This SDK is no longer supported. Please refer to PayUCheckoutPro for the latest react native wrapper
For installing it to your project follow the below steps.
$ npm install payu-non-seam-less-react --save$ react-native link payu-non-seam-less-react
Add following code also for integration.
pod 'react-native-biz-sdk', :path => '../node_modules/payu-non-seam-less-react/react-native-biz-sdk.podspec'
in podfile and run following command.
pod install
import PayUBizSdk from 'payu-non-seam-less-react';
var params ={amount:'<Transaction Amount>',key:'<Key provided by PayU>',txnid:'<Transaction Id>',productinfo:'<Product Information>',surl:'<Success url for Android>',furl:'<Failure url for Android >',ios_surl:'<Success url for iOS>',ios_furl:'<Failure url for iOS>',udf1:'<Any user defined fields>',udf2:'<Any user defined fields>',udf3:'<Any user defined fields>',udf4:'<Any user defined fields>',udf5:'<Any user defined fields>',email:'<Customer Email>',phone:'<Customer Phone number>',env:'0/2', <0 for Production,2 for Testing Environment>firstname:'<Customer First name>',user_credentials:'<User Credentials',lastname:'<Customer Last name>',hash:'<Payment Hash>',address1:'Customer address 1',address2:'Customer address 2',custom_note:'Any extra note to be passed',city:'Customer city',offer_key:'Valid offer key if wish to enable offer',enforce_paymethod:'PG code if wish to enforce particular PG',cb_config:{ enableReviewOrder:'true/false',enableSurePay:0-3[For Surepay],autoSelectOTP:'true/false'[To select OTP flow],autoApprove:'true/false'[To Auto approve OTP after auto read],disableBackButtonDialog:'true/false'[To Disable back button Dialog],merchantSMSPermission:'true/false'[To enable SMS permission for Android(OS version>=M),viewPortWideEnable:'true/false'[View Port setting for Netbanking],merchantResponseTimeout:[In milliseconds to set surl/furl loading timeout]},review_order_data:{'Order':'Value','Key Name':'Value1'}}
For information about CustomBrowser Config refer here
For information about Review Order refer here
var hashes ={'vas_for_mobile_sdk':vasHash,'payment_related_details_for_mobile_sdk':paymentDetailsHash,'payment_source':paymentHash,'delete_user_card':deleteCardHash,'check_offer_status':offerStatusHash}
For generating below hashes use method described as here where command name is same as their type and var1 is userCredentials which uniquely identifies your Customer or default.
vas_for_mobile_sdk
payment_related_details_for_mobile_sdk
delete_user_card
check_offer_status
For generating Payment Hash(to be set under payment_source key visit here.
Call makePayment method available in PayUBizSdk using params and hashes created above. It returns a promise object where on success /failure transaction response can be found using key merchant_response for response being sent by your Surl/Furl and payu_response for response being sent by PayU's Backend. For any other result catch the error[Payment being cancelled by user].
PayUBizSdk.makePayment(hashes,params).then(map =>{Alert.alert("Response",'Merchant Response \n'+map.merchant_response+'\n Payu Response \n'+map.payu_response);}).catch(error =>{Alert.alert("response",error.message);});