Transfer to Bank Account & Mobile Money
Making a transfer via API looks like this. You make a POST request to our create transfer endpoint. The details will vary depending on the type of transfer, but you'll typically need to specify anamount
, currency
, bank_code
, and account_number
.
Transfer Endpoint:
https://developers.marasoftpay.live/createtransfer
Parameter | Required? | Description |
---|---|---|
enc_key | Yes | Your encryption key from MarasoftPay. Get it from your dashboard. Always make sure sensitive details like your encryption key is not in a visible area on your website, app or desktop application |
bank_code | Yes | A Bank Code is a unique identification code for a particular bank. These codes are used when transferring money between banks and also can be used to exchange messages between them, we would provide you with an api for the list bankcodes. |
account_number | Yes | Account number of the customer |
transactionRef | Yes | a unique reference code to identify the transfer (if you don't supply one, we'll generate one for you). |
amount | Yes | Amount (in the lowest currency value - kobo, pesewas or cent) you are debiting customer. Do not pass this if creating subscriptions. |
currency | Yes | Allowed values are: NGN and
KSH It defaults to NGN. |
description | No | Field containing the description you want recorded with the transaction. Fields within this key will show up on merchant receipt and within the transaction information on the Marasoft Dashboard. |
Get all Bank Codes
Refer to this documentaion to get list of all banks & bank codes before initating payouts. To confirm that the details were entered correctly, and the transfer is going to the intended recipient, refer to the resolve bank api.
Refer to this documentaion to get list of all banks & bank codes before initating payouts. To confirm that the details were entered correctly, and the transfer is going to the intended recipient, refer to the resolve bank api.
Initiate Bank Transfer
Sample code for transfers out of your MarasoftPay wallet
<?php
$enc_key = "yourencrytionkey";
$bankCode = $_POST['bank_code'];
$amount = $_POST['amount'];
$account_number = $_POST['account_number'];
$transactionRef = $_POST['transactionRef'];
$description = $_POST['description'];
$currency = $_POST['currency'];
$url = "https://developers.marasoftpay.live/createtransfer
";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"Content-Type: application/x-www-form-urlencoded",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$data = "amount=1000&transactionRef=383hshs833&account_number=*********&description=PAYOUT&
currency=NGN&bank_code=00***&enc_key=MSFT_Enc_GXUG6*****************";
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
echo $resp = curl_exec($curl);
curl_close($curl);
?>
API Response
Below is what your response should look like.

If you need any technical assistance during the course of your integration, you can reach out to us on support@marasoftpay.com