Multigate
  1. 💸 Payments
Multigate
  • 🚀 Getting Started
  • 🔓 Authentication
    • Get Token
    • Refresh Token
    • Logout User
    • Reset Password
    • Get Current User Info
  • 👋 Onboarding
    • Create Subclient
    • Get All Subclients
    • Get Subclient
    • Update Subclient
    • Create Subclient Shareholder
    • Get Subclient Shareholders
    • Update Subclient Shareholder
    • Upload Subclient Documents
    • Get Subclient Documents
    • Delete Subclient
    • Submit Subclient
  • 💰 Accounts
    • 📄 Statements
      • Get Statement
    • Create Virtual Account
    • Get Account
    • Get Accounts By
    • Get All Accounts
    • Simulate Inflow (UAT only)
  • 🔃 Conversions
    • Get Quote
    • Lock Rate
    • Get Trade
    • Get All Trades
  • 💸 Payments
    • 🏦 Banks
      • Get Bank Details
    • 👤 Beneficiaries
      • Create Beneficiary
      • Get All Beneficiaries
      • Get Beneficiary
      • Update Beneficiary
      • Validate Beneficiary Account (NGN only)
    • Create Single Transfer
      POST
    • Get Purpose Codes
      GET
    • Get Transfer Fields & Fees
      POST
    • Find Transfers
      GET
  • 📩 Webhooks / Push Notifications
    • Add a New Client Configuration
    • Update Client Configuration Current Mode
    • Get Client Configuration
  • 📲 Remittance
    • Initiate Remittance
    • Get Remittance
  1. 💸 Payments

Create Single Transfer

POST
/payment-service/api/v1/transfer/single-transfer
Transfer
Instruct a single transfer of funds from a source account to a beneficiary.

Request

Body Params application/json
onBehalfOf
string  | null 
optional
Subclient UUID (only needed when instructing transfer on behalf of a subclient)
uniqueRequestId
string 
required
Unique request id (used to avoid duplication)
<= 100 characters
sourceBankBicOrCode
string 
required
Source account bank
sourceAccountNumber
string 
required
Source account number
sourceCurrencyIso3Code
string 
required
Currency
sourceCountryIso3Code
string 
required
Source account country
amount
number 
required
Amount
beneficiaryDetails
object (BeneficiaryInput) 
optional
Beneficiary details (required when not passing an existing beneficiary id)
accountName
string 
required
Beneficiary account name
accountNumber
string 
required
Beneficiary account number
bankBicOrCode
string 
required
Beneficiary bank BIC or code
bankName
string 
required
Beneficiary bank name
bankAddress
string 
required
Beneficiary bank address
name
string 
required
Beneficiary name
<= 100 characters
addressLine1
string 
required
Beneficiary address
<= 200 characters
addressLine2
string 
optional
Beneficiary address
<= 200 characters
city
string 
required
Beneficiary city
state
string 
required
Beneficiary state
country
string 
required
Beneficiary country (ISO3 code)
currencyIso3Code
string 
required
Beneficiary account currency
emailAddress
string 
required
Beneficiary email address
phoneNumber
string 
required
Beneficiary phone number
paymentMethod
string 
optional
Beneficiary payment method
clientId
string 
required
Client id
subClientId
string 
optional
Subclient id (if applicable)
intermediaryBank
object (IntermediaryBankInput) 
optional
IntermediaryBankInput type
branchInformation
object (BranchInformationInput) 
optional
BranchInformationInput type
postCode
string 
optional
Beneficiary's post code
beneficiaryId
string  | null 
optional
Beneficiary id (required when not passing beneficiary details)
purposeCode
string 
optional
Purpose code
reference
string 
required
Narration
<= 255 characters
chargesType
string 
optional
Charge type for SWIFT payments (OUR/SHA)
Examples:
OURSHA
Example
{
    "onBehalfOf": null,
    "uniqueRequestId": "b9efe1bd-d8bf-433f-bdc7-db0a0ea506e2",
    "sourceBankBicOrCode": "ASPXNGLA",
    "sourceAccountNumber": "96478939",
    "sourceCurrencyIso3Code": "USD",
    "sourceCountryIso3Code": "USA",
    "amount": 639.15,
    "beneficiaryId": "1ceddcf7-592f-4c45-bdf2-2e4f325f655a",
    "reference": "Test Transaction 123"
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api-gateway-uat.mmacs.io/platform/payment-service/api/v1/transfer/single-transfer' \
--header 'Content-Type: application/json' \
--data-raw '{
    "onBehalfOf": null,
    "uniqueRequestId": "b9efe1bd-d8bf-433f-bdc7-db0a0ea506e2",
    "sourceBankBicOrCode": "ASPXNGLA",
    "sourceAccountNumber": "96478939",
    "sourceCurrencyIso3Code": "USD",
    "sourceCountryIso3Code": "USA",
    "amount": 639.15,
    "beneficiaryId": "1ceddcf7-592f-4c45-bdf2-2e4f325f655a",
    "reference": "Test Transaction 123"
}'

Responses

🟢200OK
application/json
Single transfer processed successfully
Body
onBehalfOf
string  | null 
optional
uniqueRequestId
string 
required
sourceBankBicOrCode
string 
required
transferType
string 
optional
sourceAccountNumber
string 
required
sourceCurrencyIso3Code
string 
required
sourceCountryIso3Code
string 
optional
beneficiaryDetails
object (BeneficiaryDetails) 
optional
accountNumber
string 
required
accountName
string 
required
bankName
string 
required
bankCode
string 
required
intermediaryBank
optional
approvedBy
string  | null 
optional
totalAmount
number 
optional
amount
number 
required
charge
number 
required
chargesType
string 
optional
transactionId
string 
required
status
string 
optional
createdAt
string <date-time>
optional
updatedAt
string <date-time>
optional
responseMessage
string 
required
responseCode
string 
required
reference
string 
optional
message
string 
required
Example
{
    "onBehalfOf": "string",
    "uniqueRequestId": "string",
    "sourceBankBicOrCode": "string",
    "transferType": "string",
    "sourceAccountNumber": "string",
    "sourceCurrencyIso3Code": "string",
    "sourceCountryIso3Code": "string",
    "beneficiaryDetails": {
        "accountNumber": "string",
        "accountName": "string",
        "bankName": "string",
        "bankCode": "string",
        "intermediaryBank": {
            "bankName": "string",
            "bankCode": "string",
            "swiftCode": "string"
        }
    },
    "approvedBy": "string",
    "totalAmount": 0,
    "amount": 0,
    "charge": 0,
    "chargesType": "string",
    "transactionId": "string",
    "status": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "responseMessage": "string",
    "responseCode": "string",
    "reference": "string",
    "message": "string"
}
🟠400Bad Request
🟠404Record Not Found
Modified at 2025-06-24 11:15:28
Previous
Validate Beneficiary Account (NGN only)
Next
Get Purpose Codes
Built with