Process Payments
Process payments on behalf of your customers using multiple Payment Methods.
As a Technology Partner, you can allow sub-merchants on your platform to accept payments through various Payment Methods and channels.

You can process payments on behalf of your sub-merchants using
. Use the tokens generated during .Use the access_token
generated in the
Bearer Auth
.Below is a sample code to create an Order and process payments.
The parameter descriptions and errors are present in the
documentation.Using the public_token
for authorisation can secure a public-facing implementation such as Razorpay Checkout. In such cases, the public_token
can replace the key_id
field as shown below:
<button id="rzp-button1">Pay</button><script src="https://checkout.razorpay.com/v1/checkout.js"></script><script>var options = {"key": "rzp_test_oauth_32hsbEKriO6ai4", //Public token"amount": "29900","name": "Acme Corp","description": "A Wild Sheep Chase is the third novel by Japanese author Haruki Murakami","image": "https://example.com/your_logo","handler": function (response){alert(response.razorpay_payment_id);},"prefill": {"name": "Gaurav Kumar","email": "gaurav.kumar@example.com"},"notes": {"address": "note value"},"theme": {"color": "#F37254"}};var rzp1 = new Razorpay(options);document.getElementById('rzp-button1').onclick = function(e){rzp1.open();e.preventDefault();}</script>
Know more about
.This is a mandatory step to confirm the authenticity of the details returned to the Checkout form for successful payments.
To verify the razorpay_signature
returned to you by the Checkout form:
-
Create a signature in your server using the following attributes:
order_id
: Retrieve theorder_id
from your server. Do not use therazorpay_order_id
returned by Checkout.razorpay_payment_id
: Returned by Checkout.client_secret
: Available in your server. Theclient_secret
that was generated from the .
-
Use the SHA256 algorithm, the
razorpay_payment_id
and theorder_id
to construct a HMAC hex digest as shown below:generated_signature = hmac_sha256(order_id + "|" + razorpay_payment_id, client_secret);if (generated_signature == razorpay_signature) {payment is successful} -
If the signature you generate on your server matches the
razorpay_signature
returned to you by the Checkout form, the payment received is from an authentic source.
Given below is the sample code for payment signature verification:
RazorpayClient razorpay = new RazorpayClient("[CLIENT_KEY_ID]", "[CLIENT_KEY_SECRET]");String secret = "EnLs21M47BllR3X8PSFtjtbd";JSONObject options = new JSONObject();options.put("razorpay_order_id", "order_IEIaMR65cu6nz3");options.put("razorpay_payment_id", "pay_IH4NVgf4Dreq1l");options.put("razorpay_signature", "0d4e745a1838664ad6c9c9902212a32d627d68e917290b0ad5f08ff4561bc50f");boolean status = Utils.verifyPaymentSignature(options, secret);
With this, your integration is complete. Test the integration before going live. Replace the test key with the live key and integrate with other
.Below is a list of Razorpay products available to you to accept payments.
Was this page helpful?
ON THIS PAGE