General
1. How is Embedded Quick Buy different from QuickBuy on Standard Checkout?
1. How is Embedded Quick Buy different from QuickBuy on Standard Checkout?
2. Can I integrate Embedded Quick Buy if I use Standard Checkout, Custom Checkout or an S2S integration?
2. Can I integrate Embedded Quick Buy if I use Standard Checkout, Custom Checkout or an S2S integration?
3. Do I need to be PCI-DSS compliant to show card details?
3. Do I need to be PCI-DSS compliant to show card details?
4. Which platforms support Embedded Quick Buy?
4. Which platforms support Embedded Quick Buy?
5. Does Embedded Quick Buy affect my existing checkout integration?
5. Does Embedded Quick Buy affect my existing checkout integration?
6. How many instruments are returned, and can I choose which ones?
6. How many instruments are returned, and can I choose which ones?
7. What happens if I do not pass an order_id or a customer_id?
7. What happens if I do not pass an order_id or a customer_id?
- Without an
order_id, the response is limited to UPI intent apps. Saved cards are not returned. - Without a
customer_id, pass the customer’s contact number. If neither is available, or the customer has no recommended instruments, the response returns an emptyitemsarray. Treat this as a normal response, not an error, and show your regular checkout button.
8. Should I show an intermediate screen when the customer changes the payment method?
8. Should I show an intermediate screen when the customer changes the payment method?
9. Is Cash on Delivery (COD) part of Quick Buy?
9. Is Cash on Delivery (COD) part of Quick Buy?
10. Can I test Embedded Quick Buy before going live?
10. Can I test Embedded Quick Buy before going live?
Mobile Web
1. I use Standard Checkout (checkout.js). What else do I need for Quick Buy on mobile web?
1. I use Standard Checkout (checkout.js). What else do I need for Quick Buy on mobile web?
razorpay.js). Include razorpay.js, create customers and fetch recommended instruments to power the Quick Buy button. Your Standard Checkout remains the fallback when the customer taps Change payment method. Know more about the mobile web integration.2. How do I handle a UPI app that is not installed on the customer's device?
2. How do I handle a UPI app that is not installed on the customer's device?
React Native SDK
1. I use react-native-razorpay. Do I also need react-native-customui?
1. I use react-native-razorpay. Do I also need react-native-customui?
react-native-customui to fetch recommended instruments and power the Quick Buy button. Continue to use react-native-razorpay to open the full Standard Checkout when the customer taps Change payment method.2. Which SDK version do I need?
2. Which SDK version do I need?
getRecommendedInstruments(), the fix for the iOS pod install framework conflict and consistent UPI app detection on Android.3. Do I need to link react-native-customui manually on Android?
3. Do I need to link react-native-customui manually on Android?
settings.gradle, app/build.gradle or MainApplication conflicts with autolinking and fails the Gradle build.The com.razorpay.rn.RazorpayPackage import belongs to react-native-razorpay, not react-native-customui.4. The Android Gradle build fails with an implicit dependency error. How do I fix it?
4. The Android Gradle build fails with an implicit dependency error. How do I fix it?
react-native-customui is linked manually while autolinking also picks it up. To fix it, remove the manual linking.- From
android/settings.gradle, remove:settings.gradle - From
android/app/build.gradle, remove:build.gradle - From
MainApplication.kt, remove the package if you added it only for the Custom UI SDK:MainApplication.kt - Clean and rebuild:
Terminal
5. pod install fails with conflicting frameworks razorpay.xcframework and razorpaycore.xcframework. Why?
5. pod install fails with conflicting frameworks razorpay.xcframework and razorpaycore.xcframework. Why?
react-native-razorpay and react-native-customui are installed. Update the pods by running pod install again to pull the latest SDK version, which resolves the conflict. No other change is needed.6. getRecommendedInstruments() crashes because the SDK instance is null. Why?
6. getRecommendedInstruments() crashes because the SDK instance is null. Why?
initRazorpay() initialises the SDK on the UI thread and does not return a promise. If you call getRecommendedInstruments() immediately after it, initialisation may not be complete.Call initRazorpay() earlier in the flow, for example when the checkout screen loads or when you first fetch your API key. Call getRecommendedInstruments() after a short delay or in a later interaction.7. getRecommendedInstruments() fails even though the SDK is initialised. Why?
7. getRecommendedInstruments() fails even though the SDK is initialised. Why?
customer object with a contact field. It is mandatory by default, although this depends on your account configuration. If it is required and missing, the call fails.8. When the customer taps a recommended UPI app, a different app opens. Why?
8. When the customer taps a recommended UPI app, a different app opens. Why?
- Inconsistent app detection on the device: Some UPI apps respond inconsistently when the device checks whether they are ready. Upgrade to
react-native-customui2.2.9 or later, which keeps UPI app detection consistent on Android. - Incomplete payment payload: Make sure the payment request includes the selected app’s package name in
upi_app_package_name.