Home
Fincra
Fincra
Fincra is an African cross-border payments infrastructure provider whose REST API lets businesses collect, hold, convert, and disburse money across multiple currencies. The platform covers collections (virtual accounts and direct charges), payouts/disbursements to banks and mobile money, FX conversions with quotes, beneficiary management, and webhooks, secured with an api-key plus Bearer token.
8 APIs
0 Features
Payments Cross-Border Collections Payouts FX Fintech Africa
Receive payments from customers via virtual account bank transfers and the direct charge API (card, bank transfer, mobile money, EFT, pay-attitude), including charge authorizati...
Disburse funds to bank accounts, mobile money wallets, and other Fincra accounts in same-currency or cross-currency flows, with payout status lookups by transaction reference or...
Convert balances between supported currencies using a quote reference, list conversions, and verify conversion status. FX quotes are valid for 30 seconds on cross-currency flows.
Generate a time-bound FX quote for a conversion or cross-currency payout; the returned quote reference is passed into the conversion or payout request.
Create, list, fetch, update, and delete reusable payout beneficiaries scoped to a business, capturing bank, currency, and payment-destination details.
Request and manage NGN and foreign-currency virtual accounts that let merchants receive bank-transfer payments, fetch account information, and list payins/deposits made into an ...
List supported banks and mobile money providers and resolve/verify a bank account number to its account holder name before disbursing.
Signed event notifications delivered to a merchant-configured webhook URL for collections, payouts, conversions, and virtual account events, validated via an HMAC signature header.
Sources
opencollection: 1.0.0
info:
name: Fincra API
version: '1.0'
request:
auth:
type: bearer
token: '{{bearerToken}}'
items:
- info:
name: Collections
type: folder
items:
- info:
name: Initiate a charge
type: http
http:
method: POST
url: https://api.fincra.com/checkout/charges
body:
type: json
data: "{\n \"amount\": 1000,\n \"reference\": \"{{reference}}\",\n \"currency\": \"NGN\",\n \"type\": \"bank_transfer\"\
,\n \"customer\": {\n \"name\": \"Jane Doe\",\n \"email\": \"jane@example.com\"\n }\n}"
docs: Initiate a direct charge via card, bank transfer, mobile money, EFT, or pay-attitude.
- info:
name: Authorize a charge
type: http
http:
method: POST
url: https://api.fincra.com/checkout/charges/authorize
body:
type: json
data: "{\n \"reference\": \"{{reference}}\",\n \"authorization\": { \"mode\": \"otp\", \"otp\": \"123456\" }\n}"
docs: Authorize a previously initiated charge with an OTP or PIN.
- info:
name: Get a charge by reference
type: http
http:
method: GET
url: https://api.fincra.com/checkout/charges/{{reference}}
docs: Retrieve a charge by its reference.
- info:
name: Verify a charge
type: http
http:
method: GET
url: https://api.fincra.com/checkout/charges/verify/{{reference}}
docs: Verify the status of a charge.
- info:
name: Payouts
type: folder
items:
- info:
name: Initiate a payout
type: http
http:
method: POST
url: https://api.fincra.com/disbursements/payouts
body:
type: json
data: "{\n \"sourceCurrency\": \"NGN\",\n \"destinationCurrency\": \"NGN\",\n \"amount\": \"5000\",\n \"business\"\
: \"{{businessId}}\",\n \"description\": \"Payout\",\n \"customerReference\": \"{{reference}}\",\n \"paymentDestination\"\
: \"bank_account\",\n \"beneficiary\": {\n \"accountHolderName\": \"Jane Doe\",\n \"type\": \"individual\"\
,\n \"accountNumber\": \"0123456789\",\n \"bankCode\": \"058\"\n }\n}"
docs: Disburse funds to a bank account, mobile money wallet, or Fincra account.
- info:
name: Get all payouts
type: http
http:
method: GET
url: https://api.fincra.com/disbursements/payouts
docs: List all payouts for a business.
- info:
name: Verify payout by transaction reference
type: http
http:
method: GET
url: https://api.fincra.com/disbursements/payouts/reference/{{transactionReference}}
docs: Verify a payout status by its transaction reference.
- info:
name: Verify payout by customer reference
type: http
http:
method: GET
url: https://api.fincra.com/disbursements/payouts/customer-reference/{{customerReference}}
docs: Verify a payout status by your customer reference.
- info:
name: Quotes
type: folder
items:
- info:
name: Generate a quote
type: http
http:
method: POST
url: https://api.fincra.com/quotes/generate
body:
type: json
data: "{\n \"sourceCurrency\": \"USD\",\n \"destinationCurrency\": \"NGN\",\n \"amount\": \"100\",\n \"action\"\
: \"send\",\n \"transactionType\": \"conversion\",\n \"business\": \"{{businessId}}\",\n \"paymentDestination\"\
: \"bank_account\"\n}"
docs: Generate a time-bound FX quote (valid ~30s for cross-currency).
- info:
name: Conversions
type: folder
items:
- info:
name: Initiate a currency conversion
type: http
http:
method: POST
url: https://api.fincra.com/conversions/initiate
body:
type: json
data: "{\n \"business\": \"{{businessId}}\",\n \"quoteReference\": \"{{quoteReference}}\",\n \"customerReference\"\
: \"{{reference}}\"\n}"
docs: Convert balance between currencies using a quote reference.
- info:
name: List all conversions
type: http
http:
method: GET
url: https://api.fincra.com/conversions
docs: List all conversions for a business.
- info:
name: Verify conversion status
type: http
http:
method: GET
url: https://api.fincra.com/conversions/{{reference}}
docs: Verify the status of a conversion.
- info:
name: Beneficiaries
type: folder
items:
- info:
name: Create a beneficiary
type: http
http:
method: POST
url: https://api.fincra.com/profile/beneficiaries/business/{{businessId}}
body:
type: json
data: "{\n \"firstName\": \"Jane\",\n \"accountHolderName\": \"Jane Doe\",\n \"type\": \"individual\",\n \"currency\"\
: \"NGN\",\n \"paymentDestination\": \"bank_account\",\n \"destinationAddress\": \"0123456789\"\n}"
docs: Create a reusable payout beneficiary for a business.
- info:
name: List beneficiaries
type: http
http:
method: GET
url: https://api.fincra.com/profile/beneficiaries/business/{{businessId}}
docs: List beneficiaries for a business.
- info:
name: Fetch a beneficiary
type: http
http:
method: GET
url: https://api.fincra.com/profile/beneficiaries/business/{{businessId}}/{{beneficiaryId}}
docs: Fetch a single beneficiary by id.
- info:
name: Update a beneficiary
type: http
http:
method: PATCH
url: https://api.fincra.com/profile/beneficiaries/business/{{businessId}}/{{beneficiaryId}}
body:
type: json
data: "{\n \"accountHolderName\": \"Jane A. Doe\"\n}"
docs: Update an existing beneficiary.
- info:
name: Delete a beneficiary
type: http
http:
method: DELETE
url: https://api.fincra.com/profile/beneficiaries/business/{{businessId}}/{{beneficiaryId}}
docs: Delete a beneficiary.
- info:
name: Virtual Accounts
type: folder
items:
- info:
name: Request a virtual account
type: http
http:
method: POST
url: https://api.fincra.com/profile/virtual-accounts/requests
body:
type: json
data: "{\n \"currency\": \"NGN\",\n \"accountType\": \"individual\",\n \"business\": \"{{businessId}}\",\n \"\
KYCInformation\": {\n \"firstName\": \"Jane\",\n \"lastName\": \"Doe\",\n \"bvn\": \"12345678901\"\n }\n\
}"
docs: Request an NGN or foreign-currency virtual account for collections.
- info:
name: List virtual accounts
type: http
http:
method: GET
url: https://api.fincra.com/profile/virtual-accounts/business
docs: List virtual accounts for a business.
- info:
name: Fetch virtual account information
type: http
http:
method: GET
url: https://api.fincra.com/profile/virtual-accounts/{{virtualAccountId}}
docs: Fetch a virtual account by id.
- info:
name: List payins into a virtual account
type: http
http:
method: GET
url: https://api.fincra.com/profile/virtual-accounts/{{virtualAccountId}}/payins
docs: Retrieve inflows (deposits) made into a virtual account.
- info:
name: Banks & Account Resolution
type: folder
items:
- info:
name: List banks
type: http
http:
method: GET
url: https://api.fincra.com/core/banks?currency=NGN&country=NG
docs: List supported banks and mobile money providers.
- info:
name: Resolve / verify account number
type: http
http:
method: POST
url: https://api.fincra.com/core/accounts/resolve
body:
type: json
data: "{\n \"accountNumber\": \"0123456789\",\n \"bankCode\": \"058\",\n \"type\": \"nuban\"\n}"
docs: Verify a bank account number and resolve the account holder name.