Payment sub aCCOUNT

{
  "account_bank": "044",
  "account_number": "0690000040",
  "amount": 5500,
  "narration": "Akhlm Pstmn Trnsfr xx007",
  "currency": "NGN",
  "reference": "YOUR_PAYMENT_REFERENCE",
  "callback_url": "https://www.flutterwave.com/ng/",
  "debit_currency": "NGN",
+ "debit_subaccount": "PSAFF2118D1A33844332"
}

kindly explain the call back URL and the payload its sending? is it a post or get endpoint?

Hi @cybergenii

Thank you for reaching out,

The payload shared above represents a request payload for a transfer from a PAYOUT SUBACCOUNT to a Bank account. This payload is sent as a POST request to the Create transfer endpoint, which will then initiate a transfer via API call from a PAYOUT SUBACCOUNT to a Bank account.

The callback_url specified in the payload above serves as the endpoint where Flutterwave will send a POST request to notify your server about the status(e.g., successful payment, failure, etc.) of the payment transaction. Note that the callback_url is an optional parameter.

Below is a sample CURL request for a transfer from a PAYOUT SUBACCOUNT to a Bank account:

curl --location --request POST 'https://api.flutterwave.com/v3/transfers' \
--header 'Authorization: Bearer YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
   "account_bank": "044",
   "account_number": "0690000040",
   "amount": 5500,
   "currency": "NGN",
   "reference": "YOUR_PAYMENT_REFERENCE",
   "callback_url": "https://www.flutterwave.com/ng/",
   "debit_currency": "NGN",
   "debit_subaccount": "PSAFF2118D1A33844332"
}'

alright thanks …
another question is how do I transfer from the sub account to the admin main account ,
also the subaccount are valid enough to be used for transfers from other banks?,
and if transferring out a sub account to other banks the sub account user name will be the one to reflect right
and for bvn I noticed that there is a new flow that’s not in the github repo getting a customers bvn will require their consent now?

  1. Transfer from a Payout subaccount to the admin main account:
    This can also be done via API call to the Create transfer API.

Sample Request:

curl --location --request POST 'https://api.flutterwave.com/v3/transfers' \
--header 'Authorization: Bearer YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
   "account_bank": "flutterwave",
   "account_number": "YOUR_MERCHANT_ID",
   "amount": 200,
   "currency": "NGN",
   "debit_currency": "NGN",
   "reference": "YOUR_PAYMENT_REFERENCE",
   "debit_subaccount": "PSAFF2118D1A33844332"
}'

Based on the request above, for the beneficiary details, the “account_bank” field is always “flutterwave”, and the “account_number” field should contain the Merchant ID of the F4B account in use. The “debit_subaccount” field should also included in the request payload to identify the subaccount to be debited

Note: Your account will require Compliance approval to start making Transfers from a Payout subaccount to the admin main account. You can send an email to hi@flutterwavego.com to request this approval.

alright i will need your response on the remaining questions thank you chief :+1::+1::pray::pray::pray::pray:
and also. the merchant can also make transfers to the sub accounts can I get a sample example of this too?

  1. Yes, you can make transfers from your Bank to a subaccount via virtual accounts.

Note: By default a NGN virtual account is automatically generated upon the creation of a Payout Subaccount. The NGN virtual account details comprising “nuban”, “bank_name”, and “bank_code” fields can be found in the response payload from the create subaccount endpoint.

  1. After a transfer from a Payout subaccount to a Bank account, in order for the Subaccount username to reflect in the Bank notification you will need to specify a “sender” field in the request payload of the transfer.

Sample request payload:

thanks on this chief

Sample request payload for a transfer from a Payout subaccount to a Bank account with Sender name:

{
    "url": "https://api.flutterwave.com/v3/transfers",
    "method": "POST",
    "body": {
        "account_bank": "058",
        "account_number": "0223137469",
        "amount": 100,
        "currency": "NGN",
        "narration": "Testing specifying sender details",
        "meta": [
            {
                "sender": "John Doe"
            }
        ],
        "debit_subaccount": "PSAFF2118D1A33844332"
    }
}

4.Yes, you need customer consent to get a customers BVN details.

thank you :pray::pray::pray: chief i am grateful

I will need your input on this chief

Hi @cybergenii

You can make transfers from your Bank into your payout subaccount (PSA). This involves the user initiating a transfer from your preferred bank to the virtual account of the specific PSA which will then reflect in the corresponding balance of the PSA.