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 an amount, currency, bank_code, and account_number.

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.

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.