Skip to main content
If you have already integrated with Recurring Payments Cards APIs, you must implement an additional API integration step that calculates fees before creating recurring payments.
Feature Request
This is an on-demand feature. Please raise a request with our Support team to get this feature activated on your Razorpay account. to get this feature activated on your account.

Use Cases

The CFB model for Recurring Payments is particularly useful for:
  • Subscription Services: Monthly or annual subscription billing with transparent fee structures.
  • EMI Payments: Instalment-based payments where customers understand the complete cost breakdown.
  • Utility Payments: Regular utility bill payments with clear fee transparency.
  • Insurance Premiums: Recurring premium payments with upfront fee disclosure.
  • Membership Fees: Club or service memberships with transparent cost structures.

Prerequisites

You must have:
  • An active Razorpay account.
  • Existing recurring payment setup with card payments.

Integration Steps

Follow these steps to implement CFB for your recurring card payments:

Step 1: Calculate Fees Before Payment Creation

Call Razorpay’s calculate/fees API endpoint with the intended base amount before creating a recurring payment.
Request

Request Parameters

amount mandatory : integer The transaction amount, expressed in the currency sub-unit, such as paise (in case of INR). For example, for an actual amount of ₹299.35, the value of this field should be 29935. currency mandatory : string The currency in which the transaction should be made. Length must be of 3 characters. method mandatory : string Payment method used to make the payment. In this case, it is card. card mandatory : object Additional fields to accept card payments. name mandatory : string The name of the cardholder. number mandatory : string The card number. cvv mandatory : string 3-digit CVV code given at the back of the card. expiry_month mandatory : string The month of expiry of the card in MM format. expiry_year mandatory : string The year of expiry of the card in YYYY format. contact mandatory : string Customer’s phone number. email mandatory : string Customer’s email address. recurring mandatory : integer Determines whether the payment is a one-time payment or a recurring payment. Possible values:
  • 1: It is a recurring payment.
  • 0: It is a one-time payment.
save mandatory : integer Determines whether Razorpay should save customer card details as tokens with the card network. Possible values:
  • 1: Razorpay should save customer card details as tokens with the card network. This will work only if explicit customer consent has been received from the customer.
  • 0: Razorpay should not save the card details.

Response Parameters

original_amount : integer Original order amount in rupees (alternative field). For example, 100 for ₹100. fees : decimal Total fees amount in rupees. For example, 1.00 for regular UPI or 236.00 for credit card on UPI. razorpay_fee : decimal Razorpay processing fee in rupees. For example, 1.00 for regular UPI or 200.00 for credit card on UPI. tax : decimal Tax amount on fees in rupees. For example, 0 for regular UPI or 36.00 for credit card on UPI. amount : decimal Total amount including fees in rupees. For example, 101.00 for regular UPI or 336.00 for credit card on UPI. currency : string The currency in which the transaction is made. Length must be of 3 characters. For example, INR.

Step 2: Display Fee Breakdown to Customer

Use the Calculate Fee API response to show customers:
  • Original order amount
  • Processing fee (convenience fee)
  • Total amount to be charged
The fee breakdown must be displayed transparently before the customer confirms payment.

Step 3: Update Payment Creation Request

In your payment creation request to Razorpay, use the values from the fee calculation step to ensure:
  • The correct total amount is presented to the customer.
  • The final payment entity reflects the business and customer share as required by policy.
  • Proper fee breakup is maintained for compliance.
Refer to the Create a Subsequent Card Payment API to proceed.