Multigate
  1. 💸 Payments
Multigate
  • 🚀 Getting Started
  • 🔓 Authentication
    • Get Token
    • Refresh Token
    • Logout User
  • 👋 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
  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
optional
Beneficiary details (required when not passing an existing beneficiary id)
Any of
accountNumber
string 
required
accountName
string 
optional
bankName
string 
optional
currencyIso3Code
string 
optional
countryIso3Code
string 
optional
city
string 
optional
state
string 
optional
addressLine1
string  | null 
required
<= 200 characters
addressLine2
string  | null 
optional
<= 200 characters
bankBicOrCode
string 
required
subClientId
string 
optional
intermediaryBank
object  | null 
optional
branchInformation
object 
optional
beneficiaryId
string  | null 
optional
Beneficiary id (required when not passing beneficiary details)
purposeCode
string 
optional
Purpose code
reference
string 
required
Narration
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
data
object 
SingleTransferResponse
optional
The actual response data
onBehalfOf
string  | null 
optional
uniqueRequestId
string 
optional
sourceBankBicOrCode
string 
optional
transferType
string 
optional
sourceAccountNumber
string 
optional
sourceCurrencyIso3Code
string 
optional
sourceCountryIso3Code
string 
optional
beneficiaryDetails
object 
BeneficiaryDetails
optional
approvedBy
string  | null 
optional
totalAmount
number 
optional
amount
number 
optional
charge
number 
optional
chargesType
string 
optional
transactionId
string 
optional
status
string 
optional
createdAt
string <date-time>
optional
updatedAt
string <date-time>
optional
responseMessage
string 
optional
responseCode
string 
optional
reference
string 
optional
error
object  | null 
optional
Error message if the request failed
Example
{
  "data": {
    "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"
  },
  "error": {}
}
🟠400Bad Request
🟠404Record Not Found
Previous
Validate Beneficiary Account (NGN only)
Next
Get Purpose Codes
Built with