Feature Request
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’scalculate/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
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.