One request. Paid on the rail your customer has.
Create a collection request and your customer pays it by bank transfer to an account number made for that payment, from a Bridge wallet, in cash at an agent or offline. You get one receipt, with every charge shown, and one signed webhook.
From request to receipt.
Create a request
Say the amount, what it's for, which rails it can be paid on and how long it stays open.
Your customer pays
To the account number on the request, from a wallet, at an agent or offline.
Bridge matches it
The payment is matched to the request it belongs to. Under- and overpayments follow the policy you set.
You get a receipt
With the amount, every fee and tax, and the net that settles, and a signed webhook.
Collections, on Bridge.
An account number per payment
Per-request virtual accounts close when the request does, so a transfer can only ever mean one thing.
Or one per customer
Permanent account numbers for walk-in customers, schools and utilities, credited as transfers land.
Every charge on the receipt
Fee, tax and levy shown on the quote and the receipt, with the net that settles.
Refunds and reversals
Refund all or part of a collection, back on the rail it came in on where the rail allows it.
Signed webhooks
Every state change, signed with HMAC-SHA256, retried and replayable.
Cards
Card acceptance on the same request, once a card processor is connected.
Your customers choose how to pay.
Each request lists the rails it can be paid on. Bridge gives each one an address: an account number, a wallet payment, an agent code or an offline reference.
- Bank transfer, wallet, agent cash and offline today
- QR and POS terminals are coming
- Cards and direct debit once a processor is connected
Know exactly what you received.
A receipt shows the amount the customer paid, each fee, tax and levy, and the net that settles to you. The same breakdown is in your reconciliation reports.
Create a collection request.
Idempotent on your own reference: sending the same collectorOwnReference twice returns the original request. The response carries an address for each rail you allowed.
POST /collection/request
curl -X POST "https://api.bridgemoni.com/collection/request" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: test" \
-H "Content-Type: application/json" \
-d '{
"form": "VIRTUAL_ACCOUNT",
"collectorOwnReference": "ORD-1001",
"currencyCode": "NGN",
"countryCode": "NG",
"amountMode": "EXACT",
"amount": "25000.00",
"requestDescription": "Order ORD-1001",
"usageMode": "SINGLE_USE",
"allowedRails": ["VIRTUAL_ACCOUNT", "WALLET", "OFFLINE_DEVICE"]
}' Questions about accept payments
Which ways to pay are live?
Bank transfer to a virtual account, wallet, agent cash and offline device payments. QR and POS terminals are coming. Cards and direct debit need a connected processor.
What happens if a customer pays the wrong amount?
You choose a policy when you create the request: take a part payment, refuse it, or refund the excess. The receipt shows what was applied.
Can I refund a payment?
Yes. Refund all or part of a collection. The money goes back on the rail it came in on where the rail allows it.
Do you offer hosted checkout or payment links?
Not yet. Today you show the payment details in your own app or website, from the request's addresses.
Get paid on every rail your customers have.
Build in test now. Live payments follow our go-live and your verification.