This doc includes Razorpay
This document shows the exact payloads passed to RazorpayCheckout.open for:
app-kavana)app-mira)Runtime values are shown as placeholders like <value>.
import RazorpayCheckout from 'react-native-customui';
type BasicRazorpayOptions = {
readonly key_id: string;
readonly amount: string; // amount in paise, e.g. "5000" for ₹50.00
readonly currency: string; // e.g. "INR"
readonly email: string;
readonly contact: string;
readonly method: 'upi' | 'wallet' | 'netbanking' | 'card';
};
const options: BasicRazorpayOptions = {
key_id: '<razorpay_public_key>',
amount: '5000',
currency: 'INR',
email: '[email protected]',
contact: '9999999999',
method: 'upi',
};
RazorpayCheckout.initRazorpay(options.key_id);
RazorpayCheckout.open(options);
Source: usePaymentMethodsScreen.handlePayment and buildRazorpayOptions.
Built in buildRazorpayOptions from the CreateOrderResponse:
{
"key_id": "<razorpay_public_key>",
"amount": "<payable_amount_or_amount_in_paise>",
"currency": "<order.currency>",
"email": "<order.prefill.email>",
"contact": "<order.prefill.phone>",
"subscription_id": "<order.subscription_id>",
"method": "upi" // default, overridden per payment method
}
amount: order.payable_amount if present, else order.amount * 100 (string)subscription_id: Razorpay subscription id returned from backend order APIAll of these extend the base options above.
Selected when selection.kind === 'upi-intent':
{
"key_id": "<razorpay_public_key>",
"amount": "<amount_in_paise>",
"currency": "<INR_or_other>",
"email": "<user_email>",
"contact": "<user_phone>",
"subscription_id": "<subscription_id>",
"method": "upi",
"upi_app_package_name": "<selection.packageInfo.package_name>",
"_[flow]": "intent"
}