Skip to main content

General

What is this product?

An API-only cross-border collection rail. You issue an EximPe Virtual Bank Account (VBA), an Indian buyer transfers rupees into it, you assert the compliance details through the API, and the funds are settled to the beneficiary abroad under the RBI Payment Aggregator – Cross Border (PA-CB) framework. A bank partner — an Authorised Dealer, or “AD bank” — performs the actual outward remittance.

Does EximPe show my buyer a payment page?

No. There is no hosted checkout, no payment links, and no card, UPI, or net-banking page. EximPe shows the buyer no screen at all. You own the entire customer-facing experience; EximPe is the embedded India collection and settlement engine underneath.

How does the buyer actually pay?

By a standard domestic bank transfer — NEFT, RTGS, or IMPS — into the VBA you share with them. No SWIFT, no international wire, no intermediary banks.

Who are the parties in an integration?

You onboard the universities you serve as sub-merchants. Collections, settlements, and balances are tracked per university.

What are the requirements to integrate?

A merchant account with the VBA feature enabled, your X-Client-ID and X-Client-Secret, and a public HTTPS webhook endpoint. Every request must also send X-API-Version: 3.0.0. PSP callers additionally send X-Merchant-ID naming the settling sub-merchant.

What fees does EximPe charge?

EximPe charges a processing fee per transaction. Contact your EximPe Key Account Manager (KAM) for a detailed fee structure.

How do I get started?


Virtual Bank Accounts

Is a VBA tied to one buyer?

No. A single VBA can receive credits from many remitters. Because of this, an inbound credit does not by itself tell you who paid — you assert the remitter’s PAN afterwards during LRS verification.

Can a settling entity hold more than one VBA?

Yes. From v2.0.0 onwards a settling entity can have multiple ACTIVE VBAs at once.

Can I restrict who pays into a VBA?

Yes, optionally, at creation time. A remitter lock restricts the VBA to a specific list of remitter bank accounts (account number + IFSC); an amount lock restricts transfers to an amount range. The two locks are independent, and when omitted they impose no restriction.

The credit shows a sender bank account. Is that the remitter?

No. The sender bank account is the payer instrument, not the remitter identity. You must assert the remitter by PAN during LRS verification — never assume the bank sender is the PAN holder.

Can I test without a real bank transfer?

Yes. In sandbox, Simulate VBA Transfer triggers the end-to-end flow — payment creation, webhooks, and LRS. It works for both Cashfree and ICICI VBAs, and the utr must be unique across simulations. The endpoint is not available in production.

LRS & Compliance

Who is eligible to remit under LRS?

Resident individuals only, including minors through a guardian. LRS is not available to companies, partnership firms, HUFs, trusts, or non-resident individuals.

What are the limits?

  • Per transaction: ₹25,00,000.
  • Per person, per financial year: USD 250,000 across all of the individual’s LRS remittances at every bank — not just those through EximPe. The year runs 1 April to 31 March.
EximPe tracks LRS usage and refuses any remittance that would breach the annual cap on the data available to us; the AD bank is the wider backstop at settlement.

Can a parent pay for a student?

Yes — but the parent is then the remitter. Their PAN is used and their account sends the money, and the relationship to the student is declared. Set relation to something other than SELF and include primary_person (name, DOB, passport number) for the student. Use SELF only when the remitter and the student are the same person.

Why must the money come from the remitter’s own account?

LRS is reported against the PAN of the debited account. A credit from a third party’s account cannot be settled on someone else’s PAN. Enforce own-account payment in your UX — a mismatch puts the payment On Hold.

How is TCS calculated?

For education funded from the remitter’s own funds, TCS is 2% on the amount above ₹10,00,000 of the remitter’s cumulative LRS in a financial year — the first ₹10 lakh each year is TCS-free.
  • If the remitter has already exceeded ₹10 lakh (tcs_threshold_breached: true), TCS applies to the full amount of this payment.
  • If not exceeded, EximPe computes against its record of the remitter’s LRS through us. If this payment itself crosses the threshold, TCS applies only to the portion above it.
Quote LRS Amount returns the exact TCS; collect it alongside the principal. The AD bank deposits the tax against the remitter’s PAN, and the remitter reclaims it as a tax credit (it reflects in their Form 26AS / TCS certificate).

Do I have to call the quote API?

It is optional but strongly recommended. Quoting reserves nothing and can be re-run freely, so show the buyer the tax-inclusive total before they transfer — otherwise they under-pay and you have to handle a shortfall.

What declarations does the buyer affirm?

Two, both of which must be affirmed for the payment to proceed: one covering resident-individual status, the LRS limit, and source of funds; and one covering TCS and the ₹10 lakh threshold. They map onto the declarations object and the tcs_threshold_breached flag on Submit LRS Verification. See LRS & Compliance for the exact wording.

Which purpose codes are supported?

Both are handled as own-funds education; loan-funded remittances are not in scope at present. The purpose_code you send must be one your settling entity is enabled for (its allowlist).

Why verify the PAN before quoting?

An inactive, non-individual, or name/DOB-mismatched PAN is a guaranteed bank rejection later. Verify PAN checks against income-tax records and returns verified: false with a reason (e.g. NAME_MISMATCH, INOPERATIVE_PAN) so you can resolve it with the buyer upfront. Residency cannot be established from a PAN alone — non-residents hold individual PANs too — which is why the buyer additionally affirms residency in the declarations.

Documents

Which documents are required?

Documents are decided by purpose code: ¹ If the offer/admission letter already carries the fee and bank details, a separate invoice is not required. ² S1107 is a fee remittance with no travel leg, so there is no student visa — the student ID is the enrolment proof.

Is a scanned PAN card required?

No. PAN is captured as a field and validated electronically.

When do I upload documents?

Up front, decoupled from any payment. Each call to Upload LRS Document returns a ref that you pass in the documents array of Submit LRS Verification. The file’s type, size, and encryption are validated on upload.

What happens if a document is rejected?

The payment is sent back with exactly what to fix. You re-submit only the flagged item and it returns to review. Legible, in-date documents of the correct type are the main way to avoid holds — the offer/admission letter is the anchor.

Payments, Settlements & Refunds

What states does a payment move through?

The buyer paid less than quoted. What now?

The payment waits with the outstanding amount. The buyer tops up into the same VBA, and you submit the top-up linked to the original by passing linked_payment_id and a reason (REMAINING_AMOUNT or TCS_PAYMENT). reason is only valid together with linked_payment_id.

Who handles foreign exchange?

You provide the INR amount to collect and handle the FX pricing your customer sees. EximPe adds only the tax, so there is no FX risk from the EximPe leg, then converts and settles the cleared funds to your international bank account.

How do I get settlement details?

Via the EximPe Dashboard or the settlement APIs — List Settlements, Get Settlement, and Settlement Reconciliation, which returns the captures, refunds, and chargebacks making up a settlement.

How are refunds funded?

Balances are held per university. A refund is netted against the funds EximPe is next due to settle for that university, out of collections not yet settled onward. If enough of that university’s balance is held, the refund processes right away; otherwise it waits until enough is collected. Money already settled abroad cannot be pulled back to fund a refund.

Where does a refund go, and can I refund partially?

A refund goes back to the remitter’s own account. A payment can take more than one partial refund over its life.

Webhooks

Which events does EximPe send?

Merchant Approved, Payment Successful (a credit landed in a VBA), Payment Failed, Payment Settled, Payment Refunded, and refund/dispute updates.

How do I verify a webhook is genuine?

Each webhook is signed with an HMAC-SHA256 signature in the X-Webhook-Signature header, using your Encryption Key from the Developer section of the dashboard. See Webhooks for code examples in Node.js, Python, and PHP.

What happens if my endpoint is down?

EximPe retries: the 1st attempt is immediate, followed by retries at 1 minute, 5 minutes, 15 minutes, and 1 hour. After 5 failed attempts, EximPe stops retrying.