const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchantTransactionId: 'bank_tx_48291',
senderAccountNo: 'ACC-123456',
senderAddress: '12 Riverside Drive, Nairobi',
beneficiaryBankCode: '07000',
beneficiaryBankName: 'Equity Bank',
beneficiaryAccountId: '0012345678901',
beneficiaryAccountCcy: 'KES',
beneficiaryName: 'Jane Wambui',
amount: 25000000,
narration: 'Supplier payment',
paymentChannel: 'PESALINK',
beneficiaryBranchCode: '00123',
paymentPurposeId: 'OTHR'
})
};
fetch('https://api.fingopay.io/v1/local-bank-transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Bank transfer initiated successfully",
"data": {
"merchantTransactionId": "bank_tx_48291",
"transactionId": "txn_01j7bankdom"
}
}Initiate a local bank transfer via PesaLink. This endpoint currently supports paymentChannel=PESALINK only. The sender account is resolved from senderAccountNo and must map to an active payouts account class.
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchantTransactionId: 'bank_tx_48291',
senderAccountNo: 'ACC-123456',
senderAddress: '12 Riverside Drive, Nairobi',
beneficiaryBankCode: '07000',
beneficiaryBankName: 'Equity Bank',
beneficiaryAccountId: '0012345678901',
beneficiaryAccountCcy: 'KES',
beneficiaryName: 'Jane Wambui',
amount: 25000000,
narration: 'Supplier payment',
paymentChannel: 'PESALINK',
beneficiaryBranchCode: '00123',
paymentPurposeId: 'OTHR'
})
};
fetch('https://api.fingopay.io/v1/local-bank-transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Bank transfer initiated successfully",
"data": {
"merchantTransactionId": "bank_tx_48291",
"transactionId": "txn_01j7bankdom"
}
}Use your API key as a Bearer token. Example: Authorization: Bearer sk_live_...
Unique key to safely retry POST without duplicates. Required in live environment.
Request body for local bank transfers (PesaLink).
Merchant-side reference used for reconciliation. Accepts 1-64 characters (letters, numbers, dot, underscore, or hyphen).
1 - 64"bank_tx_48291"
Sender payout account number funding the transfer. The account number is resolved to an account and validated against its account class.
"ACC-123456"
Registered sender address.
"12 Riverside Drive, Nairobi"
Destination bank code.
"07000"
Destination bank name.
"Equity Bank"
Destination account number.
"0012345678901"
Destination account currency (ISO 4217).
"KES"
Destination account holder name.
"Jane Wambui"
Amount in smallest currency unit (cents). Range 1-100,000,000 (KES 0.01-1,000,000.00).
1 <= x <= 10000000025000000
Transfer narration. Maximum 140 characters.
140"Supplier payment"
Payment rail used for the transfer. Only PESALINK is supported.
PESALINK "PESALINK"
Optional branch code. Provide an empty string if not applicable.
"00123"
Optional payment purpose identifier.
"OTHR"
Accepted — transfer will be processed asynchronously.
Was this page helpful?