Troubleshooting and FAQs

Troubleshoot common error scenarios and find answers to frequently asked questions about Standard React Native integration.


1. How do I resolve the following error?

dyld: Library not loaded: @rpath/libswiftCoreGraphics.dylib
Referenced from: /private/var/mobile/Containers/Bundle/Application/696F0EAD-E2A6-4C83-876F-07E3D015D167/<Your_App>.app/Frameworks/<Framework_Name>.framework/<Framework_Name>
Reason: image not found

To work around this issue, in your Xcode project:

  1. Set the Embedded Content Contains Swift Code (EMBEDDED_CONTENT_CONTAINS_SWIFT) build setting to YES in your app. Know more

    .

  2. Navigate to Target SettingsGeneral and ensure that:

    1. The framework is added in Frameworks, Libraries, and Embed Content.
    2. Change Embed status from - 'Do not Embed' to 'Embed & Sign'.
  3. Verify that you have installed CocoaPods.

For Android, if you are using proguard for your builds, you need to add the following lines to proguard files.

-keepattributes *Annotation*
-dontwarn com.razorpay.**
-keep class com.razorpay.** {*;}
-optimizations !method/inlining/
-keepclasseswithmembers class * {
public void onPayment*(...);
}

Auto linking is possible only if you are using React Native version 0.60+. Use the code given below to install and run the SDK:

npm install react-native-razorpay --save
cd ios && open podfile # Change the platform from iOS 9.0 to 10.0
pod install && cd .. # CocoaPods on iOS needs this extra step
yarn react-native run-ios

3. How do I integrate the Razorpay SDK if my React Native app version is 0.59 and lower?

If you are using React Native version 0.59 and lower, follow the steps given below to install, link and run the SDK:

  1. Install the SDK.

    $ npm install react-native-razorpay --save // Install the Razorpay React Native Standard SDK using the npm command.
  2. Link the SDK.

  3. Configure the SDK.

    1. Drag the Razorpay.framework file from the Libraries folder and drop it under the root folder.
    2. Set the Embedded Content Contains Swift Code (EMBEDDED_CONTENT_CONTAINS_SWIFT) build setting to YES in your app. Know more .
    3. Navigate to Target SettingsGeneral and ensure that:
      1. The framework is added in Frameworks, Libraries, and Embed Content.
      2. Change Embed status from - 'Do not Embed' to 'Embed & Sign'.

4. How do I install the Razorpay React Native SDK through manual linking?

To manually link the SDK, the steps differ for iOS and Android platforms.

Add the following line to your build targets in your Podfile.

pod 'react-native-razorpay', :path => '../node_modules/react-native-razorpay'

Run the following command:

pod install

  1. In XCode, go to the project navigator:
    1. Right-click Libraries.
    2. Add files to [your project's name].
    3. Go to node_modules/react-native-razorpay.
    4. Add the .xcodeproj file.
  2. In the project navigator, select your project:
    1. Add the libRNDeviceInfo.a from the deviceinfo project to your project's Build PhasesLink Binary With Libraries.
    2. Click .xcodeproj file you added before in the project navigator and go to the Build Settings tab. Make sure All is selected (instead of Basic).
    3. Look for Header Search Paths and make sure it contains both $(SRCROOT)/../react-native/React and $(SRCROOT)/../../React. Mark both as recursive (should be OK by default).
  3. Run your project using the Cmd+R keys.

Follow the steps to perform manual linking:

  1. Open android/app/src/main/java/[...]/MainApplication.java.

    • Add import com.razorpay.rn.RazorpayPackage; to the imports.
    • Add new RazorpayPackage() to the list returned by the getPackages() method.
  2. Append the following lines to android/settings.gradle:

    include ':react-native-razorpay'
    project(':react-native-razorpay').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-razorpay/android')
  3. Insert the following lines inside the dependencies block in android/app/build.gradle:

    implementation project(':react-native-razorpay')

5. How can I update the existing 'razorpay-pod'?

  • Go to iOS folder in your project and run 'pod update' to update all the pods.

  • If you do not want to update all pods, run 'pod update razorpay-pod'

6. What is the process for raising a request for a new feature?

To raise a request for a new feature, go to New IssueFeature Request on our

.

7. I am facing issues integrating the Razorpay React Native Plugin with my React Native Expo app. How do I resolve this?

Expo does not support native code, so you cannot integrate with the Razorpay React Native Plugin. As a workaround, you can load the Razorpay page in a web view and use the callback URL logic to accept payments in your React Native Expo app. Check the

8. In the new M1 MacBook, why am I not able to compile the React Native Razorpay plugin for release mode?

New changes introduced in Xcode 12 might cause the issue.

To resolve this:

  1. Use for launching the app on your Mac.
  2. Add the following lines to Podfile within post_install do |installer| .
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end

Know more about

.


Is this integration guide useful?