We recommend you use Orders API. Here's how it helps:

  • It prevents multiple payments against a single order. For example, if the customer attempts another payment against the same order and it were to succeed, the failed payment- which would have moved to the authorized state otherwise- will get auto- refunded.
  • It will save you time as you won’t need to make a capture request to capture a payment. Payments that move from `Created` to `Authorized` state will be captured immediately. Late authorized payments won't be auto-captured. Instead, you can choose to either leave it in authorized state or capture the same if a second payment against the order hasn't been made.
  • It allows you to retrieve an order using your order/receipt ID or the Razorpay Order ID. 

You can take a look at the documentation for Orders API here.