Troubleshooting & FAQs

Troubleshoot common error scenarios and find answers to frequently asked questions.


If you are using

, you can use this code sample to fetch the subscription details:

JSONObject options = new JSONObject();
options.put("subscription_id", subscription_id);
razorpay.getPaymentMethods(options, new PaymentMethodsCallback() {
@Override
public void onPaymentMethodsReceived(String result) {
JSONObject paymentMethods = new JSONObject(result);
}
@Override
public void onError(String error){
}
});
});

If you are using

, you can fetch the subscription amount by calling the getSubscriptionAmount method.

razorpay.getSubscriptionAmount("sub_id", new SubscriptionAmountCallback() {
@Override
public void onSubscriptionAmountReceived(long amount) {
}
@Override
public void onError(String error) {
}
});

You can use the onBackPressed method to handle a situation where the customer has pressed the Back button before completing the payment. This marks the payment as failed on the Razorpay Dashboard.

/**
* In your activity, you need to override onBackPressed
*/
@Override
public void onBackPressed() {
if(razorpay != null){
razorpay.onBackPressed();
}
super.onBackPressed();
}

You can change API keys after you have already initialized the Razorpay object by calling razorpay.changeMerchantKey(merchantKey). This is an optional method that overrides the existing API key. The new key is used for authenticating the requests sent to Razorpay.

/**
* change the API key
*/
razorpay.changeMerchantKey("YOUR_KEY_ID");

This error appeared due to an intent redirection issue that was present in the older versions of the Razorpay Android Custom SDK. To resolve this, please

to the latest SDK version.


Is this integration guide useful?