Cashfree Payments - Auto Collect (Virtual Bank Accounts)

Creates and manages Cashfree virtual bank accounts for inbound IMPS, NEFT, and RTGS collections.

Updated Sep 8, 2026
One-click install
npx skills add https://github.com/dasara-varun/orange --skill cashfree-payments-auto-collect-virtual-bank-accounts-dasara-varun
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Cashfree Payments - Auto Collect (Virtual Bank Accounts)
Source: https://github.com/dasara-varun/orange/tree/main/.cursor/cashfree-skills/auto-collect
Command: npx skills add https://github.com/dasara-varun/orange --skill cashfree-payments-auto-collect-virtual-bank-accounts-dasara-varun

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Merchants collecting inbound bank transfers (B2B invoices, rent, dealer inflows, loan EMIs) struggle to attribute payments to specific customers or branches. This Skill guides the creation of Cashfree virtual bank accounts (VBAs) so each payer gets a unique account number and every credit is automatically attributed via webhook. ## Core Features & Use Cases - VBA Lifecycle Management: Create, inspect, edit, and deactivate virtual accounts via the /pg/vba endpoints with nested request bodies covering KYC, remitter lock, and amount lock. - Credit Attribution via Webhooks: Handle PAYMENT_SUCCESS_WEBHOOK events with payment_group: "vba_transfer" to extract UTR, remitter details, and the virtual account id for reconciliation. - Collection Controls: Apply remitter locks (accept only from whitelisted account/IFSC pairs) and amount locks (min/max bounds) to prevent mis-credits and fraud. - Use Case: A landlord with 50 tenants creates one VBA per tenant with an amount lock of exactly ₹15,000, so each rent transfer is auto-attributed and wrong amounts are rejected. ## Quick Start Ask the assistant to create a Cashfree virtual bank account for a customer with a remitter lock and amount range, then show how to handle the inbound credit webhook.

Frequently Asked Questions about Cashfree Payments - Auto Collect (Virtual Bank Accounts)

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Cashfree virtual bank account for collections?▼

Send a POST request to /pg/vba with a nested body containing virtual_account_details (id and name), optional kyc_details, remitter_lock_details, amount_lock_details, and bank_codes. Use header x-api-version: 2024-07-10, which differs from the standard PG version.

Can a Cashfree virtual account accept UPI payments?▼

No, VBAs accept bank transfers only (IMPS, NEFT, RTGS) because NPCI does not permit UPI transfers to virtual bank accounts. For UPI collection, use standard Cashfree PG UPI flows, payment links, or static UPI VPAs instead.

How are VBA credit notifications delivered in Cashfree?▼

VBA credits arrive as a standard PAYMENT_SUCCESS_WEBHOOK with payment_group set to vba_transfer, not a dedicated event. The UTR, remitter account details, and vaccount_id are inside data.payment.payment_method.vba_transfer, verified with the standard HMAC-SHA256 signature.

What is a remitter lock in Cashfree Auto Collect?▼

A remitter lock restricts a VBA to accept payments only from whitelisted bank accounts specified as account_number and ifsc pairs in remitter_lock_details. Transfers from any other account are rejected, preventing mis-credits in high-value B2B flows.

How do I deactivate a Cashfree virtual bank account?▼

There is no close endpoint; deactivate by sending PUT /pg/vba/{virtual_account_id} to set the status to INACTIVE. First check recent credits via POST /pg/vba/payments filtered by virtual_account_id and wait about 48 hours after the last expected payment.

Why was a customer's bank transfer to my VBA rejected?▼

Common causes are remitter lock mismatches, amounts outside the configured min_amount or max_amount range, or the VBA being INACTIVE. Check POST /pg/vba/payments filtered by virtual_account_id to see rejected entries with failure reasons.