Skip to main content

Prerequisites

  • Create a Razorpay account.
  • Generate the API keys from the Dashboard. To go live with the integration and start accepting real payments, generate Live Mode API Keys and replace them in the integration.
  • Integrate with Android Custom SDK.

Dependencies

Add the following line in your build.gradle(app-level) file in the dependencies block:
Dependencies

Integration Steps

1. Initialise RazorpayOtpAssist Object. 2. OTP Auto-Submission. 3. Override onActivityResultReceived. 4. Reset All Objects.

Step 1: Initialise RazorpayOtpAssist Object

In the S2S flow, since you have not integrated with any of Razorpay’s Checkout SDKs, you must create the RazorpayOtpAssist object.
Java
activity : object Activity object within which the RazorpayOtpAssist object is created. This activity object displays the UI timer for the OTP submit cancellation. apiKey : string API Key ID generated from the Dashboard, used to ensure the feature is enabled.

Sample Code

Use the sample code given below:
Java

Step 2: OTP Auto-Submission

You can use one of the options below based on your requirement:

WebView-based Payments

Since you load the URL provided by Razorpay in WebView for payment completion, this step allows us to auto-fill and auto-submit the OTP directly in WebView.
Java
WebView : object Used to load the URL provided by Razorpay for payment completion.

Sample Code

Use the sample code given below:
Java

Business OTP Page-based Payments

Razorpay offers Native OTP solutions where you can submit the OTP by using Razorpay APIs. To enable OTP auto-read and auto-submit of payments with this feature, we use a separate function that uses an interface to send the callback to you once the OTP is received.
Java
OtpListener : object Acts as a callback, triggered when the OTP is received and parsed after the timer is displayed. onOtpReceived : Triggered when the message is received and the SDK extracts OTP. Values:
  • sender: Sender of the message (default: razorpay).
  • body: The entire message.
  • OTP: OTP pin extracted from the message.
onOtpConfirmed : Triggered when the timer for OTP Auto-submit is allowed/confirmed by the user. Values:
  • sender: Sender of the message (default: razorpay).
  • body: The entire message.
  • OTP: OTP pin extracted from the message.

Sample Code

Use the sample code given below:
Java

Step 3: Override onActivityResultReceived

When the application does not use the RECEIVE_SMS permission, we use the SmsRetreiverClient API provided by Google, which enables the user to give a one-time consent for the application to read the incoming message. The user’s response for the one-time consent is passed to the activity’s onActivityResult function. Since the SDK cannot override this, we request you send this data to us.
Java
requestCode : string Passed by RazorpayOtpAssist SDK when the startActivityForResult is triggered. resultCode : string Contains user-selected action. data : intent Contains data from the user-selected action.

Sample Code

Use the sample code given below:
Java

Step 4: Reset All Objects

You can use this function to destroy all objects used by the RazorpayOtpAssist SDK to avoid leaks or when starting a new transaction with the same Razorpay object.
Java

Sample Code

Use the code given below:
Reset