LogoLogo
  • GET STARTED
    • Integration Guide
    • Quick Start
  • Webhooks
    • Webhooks
      • Register a webhook
      • Webhook notification
      • Verify webhook
  • Payment APIs
    • Collect Payments
      • Virtual Accounts
        • Create a single-use virtual account
        • Create a multi-use virtual account
        • Update a virtual account
        • Delete a virtual account
        • List all virtual accounts
        • Get details of a virtual account
      • Digital Wallets
        • Create a wallet
        • List all wallets
        • Get details of a wallet
        • Transfer between wallets
        • Transfer to business
        • Sweep wallet balances
        • Get wallet balance
      • Customers
        • Create a customer
        • List all customers
        • Get customer details
      • Invoices
        • Create an invoice
        • Edit invoice
        • Resend invoice
        • List all invoices
        • Get invoice details
    • Make Payments
      • Request OTP to initiate payout
      • Get a list of registered banks
      • Get Wallet Balance
      • Verify account number
      • Initiate a payout
      • Get all transactions
      • Get details of a transaction
      • Recipients
        • Create a recipient
        • List all recipient
        • Get a recipient's details
        • Delete a recipient
        • Get recipients summary
    • Duplo Checkout
      • Checkout Redirect
        • Generate a checkout URL
      • Checkout SDK
      • Verify checkout transaction
    • Make Payments v2
      • Initiate a Payout v2
      • Resend OTP
      • Process Payout
      • Get details of a Transaction v2
Powered by GitBook
On this page
  • URI
  • Parameters
  • Sample request
  • Duplo Response

Was this helpful?

  1. Payment APIs
  2. Make Payments v2

Initiate a Payout v2

Send money to recipient

URI

POST

https://api.tryduplo.com/v1/wallets/v2/transfer

Parameters

Header

Authorization string

set value to Bearer SECRET_KEY

Body Param

recipient_bank_code string required

The bank code of the recipient bank

recipient_account_number string required

The bank account number of the recipient

amount number required

The amount to be transferred. a minimum of 200 naira

description string required

Specify the reason for the transaction

business_id string required

Merchant business ID

transaction_id string optional

Transaction ID

Sample request

curl --location --request POST 'https://api.tryduplo.com/v1/wallets/v2/transfer' \
--header 'Authorization: Bearer SECRET_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
   "recipient_bank_code": "044",
   "recipient_account_number": "0694002924",
   "amount": "200",
   "description": "sample description",
   "business_id":"15f87763-8b6c-47c2-b1ec-e90574c2c4a9f",
   "transaction_id": "S02PA234"
}'
var axios = require('axios');
var data = JSON.stringify({
 "recipient_bank_code": "044",
 "recipient_account_number": "0694002924",
 "amount": "200",
 "description": "sample description",
 "business_id": "15f87763-8b6c-47c2-b1ec-e90574c2c4a9f",
 "transaction_id": "S02PA234" // optional field
});

var config = {
 method: 'post',
 url: 'https://api.tryduplo.com/v1/wallets/v2/transfer',
 headers: {
   'Authorization': 'Bearer SECRET_KEY',
   'Content-Type': 'application/json'
 },
 data : data
};

axios(config)
.then(function (response) {
 console.log(JSON.stringify(response.data));
})
.catch(function (error) {
 console.log(error);
});
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
 CURLOPT_URL => 'https://api.tryduplo.com/v1/wallets/v2/transfer',
 CURLOPT_RETURNTRANSFER => true,
 CURLOPT_ENCODING => '',
 CURLOPT_MAXREDIRS => 10,
 CURLOPT_TIMEOUT => 0,
 CURLOPT_FOLLOWLOCATION => true,
 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
 CURLOPT_CUSTOMREQUEST => 'POST',
 CURLOPT_POSTFIELDS =>'{
   "recipient_bank_code": "044",
   "recipient_account_number": "0694002924",
   "amount": "200",
   "description": "sample description",
   "business_id":"15f87763-8b6c-47c2-b1ec-e90574c2c4a9f",
   "transaction_id": "S02PA234"
}',
 CURLOPT_HTTPHEADER => array(
   'Authorization: Bearer SECRET_KEY',
   'Content-Type: application/json'
 ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Duplo Response

{
    "data": {
        "transaction_ref": "tran_i81LURD7sH",
        "amount": 200,
        "description": "sample description",
        "business_id": "15f87763-8b6c-47c2-b1ec-e90574c2c4a9",
        "status": "awaiting_otp_verification",
        "transaction_id": "S02PA234" // this is returned if it was passed while initiating the transfer
    },
    "errors": {},
    "message": "Payout request initiated successfully"
}
PreviousMake Payments v2NextResend OTP

Last updated 1 year ago

Was this helpful?