How money flows
Every rupee is collected directly on YOUR payment rails. Fieldproof runs the field operation and keeps the authoritative collection record — but never holds, routes, or touches your borrowers' money. There is no Fieldproof settlement account, no payout cycle, and nothing to reconcile with us financially: you reconcile our events against your own bank or gateway.
Two consequences follow:
- Cash is never accepted on external-organisation cases. The partner app
removes the option entirely, and
payments/confirmrejectsmode: "cash"with422. - A payment is announced only after it is verifiably in your account —
proof-verified by our operations team (Mode A) or confirmed by you (Mode B).
We never emit
payment.collectedfor money that is not yet booked.
The two modes
| Mode A — your static QR / bank (default) | Mode B — your gateway's links | |
|---|---|---|
| Money lands in | Your bank account, directly | Your gateway / bank, directly |
| Borrower pays via | Your fixed UPI QR, UPI ID or bank details, shown in the partner app | A payment link minted by your gateway when the partner requests it during the visit |
| Confirmation | Partner uploads proof → Fieldproof ops verifies (OCR-assisted UTR / amount) → event | You call payments/confirm when your gateway captures → event |
| Amount booked | The operator-confirmed amount (may correct the partner's claim) | The amount you confirm |
reference on the event | UTR where extracted, otherwise null | Your gateway's payment id — the same reference you sent |
| You build | Nothing payment-specific | A mint-link endpoint we call + one confirm call you make |
| Confirmation latency | After operator verification | Immediate on your confirm call |
| Failure mode | A rejected proof emits nothing | A failed mint shows "link unavailable" — no fallback |
Details: Mode A · Mode B · Reconciliation
The mode is chosen at onboarding and configured per environment by Fieldproof
ops — sandbox and production artefacts (QR / bank details, or mint URL and
Authorization value) are registered separately. payments/confirm is
available only to Mode B organisations; anyone else gets
403 PAYMENT_MODE_MISMATCH.
What the borrower sees, and receipts
The RBI regulatory disclosure text you provide is shown to the borrower on the partner's payment and identification screens. The platform does not issue PDF receipts on your behalf — you remain responsible for borrower receipts from your own system, which is natural given the money is already in your account.
The invariant either way: a payment.collected event is only ever emitted
for money that is verifiably in your account. Book it as the transaction of
record (Updating your LMS) and use your
bank or gateway statement as the audit pair.