Skip to main content
POST
Create a delegated IRT transfer

Headers

ApiKey
string
required

Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.

MerchantId
string
required

Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.

Environment
enum<string>
required

Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.

Available options:
live,
sandbox

Body

application/json
reference
string
required

A reference provided by the client during the creation of this Transfer, at most 255 characters

Maximum string length: 255
Example:

"REM-20240619-00123"

srcCountry
enum<string>
required

Source country

Available options:
AF,
AX,
AL,
DZ,
AS,
AD,
AO,
AI,
AQ,
AG,
AR,
AM,
AW,
AU,
AT,
AZ,
BS,
BH,
BD,
BB,
BY,
BE,
BZ,
BJ,
BM,
BT,
BO,
BQ,
BA,
BW,
BV,
BR,
IO,
BN,
BG,
BF,
BI,
KH,
CM,
CA,
CV,
KY,
CF,
TD,
CL,
CN,
CX,
CC,
CO,
KM,
CG,
CD,
CK,
CR,
CI,
HR,
CU,
CW,
CY,
CZ,
DK,
DJ,
DM,
DO,
EC,
EG,
SV,
GQ,
ER,
EE,
ET,
FK,
FO,
FJ,
FI,
FR,
GF,
PF,
TF,
GA,
GM,
GE,
DE,
GH,
GI,
GR,
GL,
GD,
GP,
GU,
GT,
GG,
GN,
GW,
GY,
HT,
HM,
VA,
HN,
HK,
HU,
IS,
IN,
ID,
IR,
IQ,
IE,
IM,
IL,
IT,
JM,
JP,
JE,
JO,
KZ,
KE,
KI,
KR,
KP,
KW,
KG,
LA,
LV,
LB,
LS,
LR,
LY,
LI,
LT,
LU,
MO,
MK,
MG,
MW,
MY,
MV,
ML,
MT,
MH,
MQ,
MR,
MU,
YT,
MX,
FM,
MD,
MC,
MN,
ME,
MS,
MA,
MZ,
MM,
NA,
NR,
NP,
NL,
NC,
NZ,
NI,
NE,
NG,
NU,
NF,
MP,
NO,
OM,
PK,
PW,
PS,
PA,
PG,
PY,
PE,
PH,
PN,
PL,
PT,
PR,
QA,
RE,
RO,
RU,
RW,
BL,
SH,
KN,
LC,
MF,
PM,
VC,
WS,
SM,
ST,
SA,
SN,
RS,
SC,
SL,
SG,
SX,
SK,
SI,
SB,
SO,
ZA,
GS,
SS,
ES,
LK,
SD,
SR,
SJ,
SZ,
SE,
CH,
SY,
TW,
TJ,
TZ,
TH,
TL,
TG,
TK,
TO,
TT,
TN,
TR,
TM,
TC,
TV,
UG,
UA,
AE,
GB,
US,
UM,
UY,
UZ,
VU,
VE,
VN,
VG,
VI,
WF,
EH,
YE,
ZM,
ZW
Example:

"CI"

srcCurrency
enum<string>
required

Currency of source country

Available options:
AED,
AFN,
ALL,
AMD,
ANG,
AOA,
ARS,
AUD,
AWG,
AZN,
BAM,
BBD,
BDT,
BGN,
BHD,
BIF,
BMD,
BND,
BOB,
BRL,
BSD,
BTN,
BWP,
BYN,
BZD,
CAD,
CDF,
CHF,
CLP,
CNY,
COP,
CRC,
CUC,
CUP,
CVE,
CZK,
DJF,
DKK,
DOP,
DZD,
EGP,
ERN,
ETB,
EUR,
FJD,
FKP,
GBP,
GEL,
GHS,
GIP,
GMD,
GNF,
GTQ,
GYD,
HKD,
HNL,
HRK,
HTG,
HUF,
IDR,
ILS,
INR,
IQD,
IRR,
ISK,
JMD,
JOD,
JPY,
KES,
KGS,
KHR,
KMF,
KPW,
KRW,
KWD,
KYD,
KZT,
LAK,
LBP,
LKR,
LRD,
LSL,
LYD,
MAD,
MDL,
MGA,
MKD,
MMK,
MNT,
MOP,
MRU,
MUR,
MVR,
MWK,
MXN,
MYR,
MZN,
NAD,
NGN,
NIO,
NOK,
NPR,
NZD,
OMR,
PAB,
PEN,
PGK,
PHP,
PKR,
PLN,
PYG,
QAR,
RON,
RSD,
RUB,
RWF,
SAR,
SBD,
SCR,
SDG,
SEK,
SGD,
SHP,
SLL,
SOS,
SRD,
SSP,
STN,
SVC,
SYP,
SZL,
THB,
TJS,
TMT,
TND,
TOP,
TRY,
TTD,
TWD,
TZS,
UAH,
UGX,
USD,
UYU,
UZS,
VES,
VND,
VUV,
WST,
XAF,
XCD,
XOF,
XPF,
YER,
ZAR,
ZMW,
ZWL
Example:

"XOF"

srcAmount
number
required

Amount at the originating transaction

Example:

50000

purpose
string
required

Purpose of the transfer

Example:

"Family support"

srcOriginFunds
enum<string>
required

Origin of funds

Available options:
salary,
personal_savings,
pension_releases,
share_sales_and_dividends,
property_sales,
gambling_winnings,
inheritances_and_gift,
compensation_from_legal_rulings
Example:

"salary"

srcOperator
string
required

Source operator

Example:

"orange"

destinationCurrency
enum<string>
required

Destination currency

Available options:
AED,
AFN,
ALL,
AMD,
ANG,
AOA,
ARS,
AUD,
AWG,
AZN,
BAM,
BBD,
BDT,
BGN,
BHD,
BIF,
BMD,
BND,
BOB,
BRL,
BSD,
BTN,
BWP,
BYN,
BZD,
CAD,
CDF,
CHF,
CLP,
CNY,
COP,
CRC,
CUC,
CUP,
CVE,
CZK,
DJF,
DKK,
DOP,
DZD,
EGP,
ERN,
ETB,
EUR,
FJD,
FKP,
GBP,
GEL,
GHS,
GIP,
GMD,
GNF,
GTQ,
GYD,
HKD,
HNL,
HRK,
HTG,
HUF,
IDR,
ILS,
INR,
IQD,
IRR,
ISK,
JMD,
JOD,
JPY,
KES,
KGS,
KHR,
KMF,
KPW,
KRW,
KWD,
KYD,
KZT,
LAK,
LBP,
LKR,
LRD,
LSL,
LYD,
MAD,
MDL,
MGA,
MKD,
MMK,
MNT,
MOP,
MRU,
MUR,
MVR,
MWK,
MXN,
MYR,
MZN,
NAD,
NGN,
NIO,
NOK,
NPR,
NZD,
OMR,
PAB,
PEN,
PGK,
PHP,
PKR,
PLN,
PYG,
QAR,
RON,
RSD,
RUB,
RWF,
SAR,
SBD,
SCR,
SDG,
SEK,
SGD,
SHP,
SLL,
SOS,
SRD,
SSP,
STN,
SVC,
SYP,
SZL,
THB,
TJS,
TMT,
TND,
TOP,
TRY,
TTD,
TWD,
TZS,
UAH,
UGX,
USD,
UYU,
UZS,
VES,
VND,
VUV,
WST,
XAF,
XCD,
XOF,
XPF,
YER,
ZAR,
ZMW,
ZWL
Example:

"XOF"

destination
Destination · object
required

Information about the recipient of this Transfer

senderKyc
object
required

Sender KYC information

recipientKyc
object
required

Recipient KYC information

aggregatedMerchantId
string
required

Aggregated merchant id

rejectionId
string

Confirms a payout refused with 409 possible_duplicate: the rejection_id of that response. Resend the refused payout unchanged, to the same endpoint and with the same reference (the externalId, for a cross-border transaction), before the response's expires_at. A rejection confirms one payout only: resending the confirmed payout again gets the idempotent replay, while an unknown or expired rejection, one replaced by a later refusal of its confirmation, one already used by another payout, or one that refused a different payout is answered 422 invalid_duplicate_confirmation. Ignored unless duplicate protection and near-duplicate protection are both enforced for your account.

Pattern: ^ndr_[A-Za-z0-9_-]{21}$
Example:

"ndr_V1StGXR8_Z5jdHi6B-myT"

srcZone
enum<string>

Zone of the source country. If the country does not belong to a zone, set it to 'other'

Available options:
uemoa,
cemac,
africa,
world,
eur
Example:

"UEMOA"

forexRate
string

Forex rate between corridors

Example:

"655.957"

description
string

An arbitrary string attached to the Transfer. Mostly useful for displaying to user.

overrideBusinessName
string

This field is mandatory for aggregators and allows you to override the business name displayed to the end users. This is useful if you don't want your clients to see "Hub2" as the target of their payment but your company name instead.

Example:

"MyBusiness"

bankName
string

Bank name

Example:

"UBA Bank"

transferInformation
object

Optional merchant-defined payment metadata. Persisted and returned on the transfer.

Example:

Response

Idempotent replay. Duplicate protection is enforced for your account, and a payout with this reference and the same payout details already exists: it is returned as it is now, and nothing is created or charged. Only ever sent with the X-Idempotent-Replay: true header and the body field idempotentReplay: true, which is absent from a normal creation. The payout details compared are the destination type, country, beneficiary, operator, requested amount and currency; on IRT and cross-border routes, also the sender identity and, on cross-border, the rateId, unless the reference was recorded by an earlier version of this check, which compared neither; other names (recipient, bank, display name), descriptions and metadata are ignored.

id
string
required

Unique identifier for the Transfer

Example:

"tr_z1urYtVFgEebtcj8fxp4v"

merchantId
string
required

Identifier of the merchant owning this Transfer

createdAt
string
required

Datetime in UTC timezone at which this object was created. Follows the Datetime ISO.

Example:

"2020-10-15T12:09:49.355Z"

updatedAt
string
required

Datetime in UTC timezone at which this object was updated for the last time . Follows the Datetime ISO.

Example:

"2020-10-15T12:16:26.128Z"

reference
string
required

A reference provided by the client during the creation of this Transfer

Example:

"ref_2020_11_10_001"

description
string
required

An arbitrary string attached to the Transfer. Mostly useful for displaying to user.

status
enum<string>
required

The current status of this Transfer

Available options:
created,
successful,
pending,
failed
Example:

"successful"

amount
number
required

Amount intended to be sent to the recipient. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).

Example:

100

currency
string
required

Three-letter ISO currency code.

Example:

"XOF"

mode
enum<string>
required

Mode in which this transfer exists. The sandbox mode can be used during the integration phase and is available as soon as the merchant account is created. No real transactions are made in this mode. The live mode has to be used to make real transactions.

Available options:
live,
sandbox
Example:

"live"

destination
Destination · object
required

Information about the recipient of this Transfer

fees
TransferFee · object[]
required

Fees applied to merchant's transfer-account uppon success

isIrt
boolean
required

indicate if the transfer was international

providerReference
string
required

provider reference that identify this transfer

isDelegated
boolean
required

Indicates if the transfer is delegated

aggregatedMerchantId
string
required

Aggregated merchant id

failureCause
TransferFailureCause · object

In case of failure, this object will describe the reason of the failure

origin
Origin · object

Information about the origin of this transfer

overrideBusinessName
string

override business name for aggregator

overrideBusinessId
string

override business id for merchant

subMerchantId
string

Submerchant ID

Example:

"submerchant_123"

transferInformation
object

Merchant-defined payment metadata from transfer creation.

Example:
idempotentReplay
enum<boolean>

Present, and true, only when the response replays an existing payout (idempotent replay, HTTP 200 with the X-Idempotent-Replay: true header). Absent when the transfer has just been created.

Available options:
true
Example:

true