Build a secure payment solution on your website or mobile app with Razorpay and receive payments from your customers using various payment methods on your Checkout form. You can track payments at every step of its life cycle and effectively manage them.
All core payment operations such as payment creation, authorization, capture and refunds can be performed via our APIs. You can perform some of these operations via the Dashboard.
The customer selects an item on your website or app. An order is created and is sent to your server.
For every order created in your site, let's say,
order_ID a corresponding
razorpay_order_ID is created in Razorpay's servers.
To know how Orders are created in Razorpay, refer the Orders documentation.
In the client-side implementation of your application, the customer selects the appropriate payment method, clicks Pay and completes the payment. The payment details thus obtained from the customer are sent to your server.
By integrating with Razorpay, the payment details entered in the Checkout will be first sent to the Razorpay servers. The payment details submitted are secured and stored by Razorpay as tokens. The generated tokens are exchanged with your servers for further use.
You can use Razorpay's default Checkout form to accept the entered payment details. Learn more about Checkout
The payment details collected from the customer are sent to your bank. Internally, Razorpay sends an authentication request to the customer's bank. After appropriate authentication, Razorpay is authorized to deduct the amount from the customer's bank account. Once authorized, the transaction amount is retained with Razorpay and is not settled to your account immediately.
There could be situations when an authorized payment, yet to be debited from the customer's account, is interrupted by external factors such as network issues, technical errors at customer's bank's end, manual intervention and so on.
For detailed information about Late Authorization, refer
Once the payment is authorized by the customer's bank, you must verify if the authorized amount deducted from the customer's account is the same as the amount entered by the customer in the Checkout form. The authorized amount will be transferred to your account only after this validation step.
Razorpay enables you to capture the payment in two ways:
Auto Capture is the authorization followed by an 'immediate' capture of the payments. This allows you to automatically capture payments from customers before the authorization period ends, which saves time when processing orders.
To set up automatic capture of payments, you must implement Orders API in your integration. To learn about auto capturing payments, refer Orders documentation
Standard capture is an authorization followed by a 'delayed' capture of the payment, until a later time. In this scenario, if a customer has made the payment, the amount will be deducted from their bank account by your bank. However, it would not be transferred to you until you initiate the ‘capture’ process manually.
After a successful capture of the funds, the amount is settled to your account within T+3 days where 'T' is the day on which payment is captured. However, the settlement time could vary depending on the settlement schedule defined by the bank.
After the funds are settled to your account, the customers could request for a transfer of the payment made by them earlier. In such cases, a refund is initiated by Razorpay and the funds are transferred back to the customer's account.
Any authorization not followed by a capture within 5 days is automatically deemed void and a refund is initiated. The reversal of funds from your account to the customer's account will be charged by Razorpay.