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

Was this helpful?

  1. Payment APIs
  2. Make Payments

Request OTP to initiate payout

PreviousMake PaymentsNextGet a list of registered banks

Last updated 1 year ago

Was this helpful?

If you require OTP to be sent before payout is initiated, you can configure OTP authorisation on the Duplo Dashboard by clicking on Payout API under Developer section on the Settings page

You can choose to receive the OTP via email address or for phone number.

URI

POST

https://api.tryduplo.com/v1/recipients/payouts-otp

Parameters

Header

Authorization string

set value to Bearer SECRET_KEY

Body Param

business_id string required

Merchant business ID

Sample request

curl --location --request POST 'https://api.tryduplo.com/v1/recipients/payouts-otp' \
--header 'Authorization: Bearer SECRET_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "business_id": "2e5071-59cb-4057-a14b-d49a3c90ef"
}'
const axios = require('axios');
const data = JSON.stringify({
  "business_id": "2e5071-59cb-4057-a14b-d49a3c90ef"
});

const config = {
  method: 'post',
  url: 'https://api.tryduplo.com/v1/recipients/payouts-otp',
  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/recipients/payouts-otp',
  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 =>'{
    "business_id": "2e5071-59cb-4057-a14b-d49a3c90ef"
}',
 CURLOPT_HTTPHEADER => array(
   'Authorization: Bearer SECRET_KEY',
   'Content-Type: application/json'
 ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;