Money Transfer
Available soon
This feature is only available in EMEA. In addition, your account must be enabled for each transaction type.
This page describes how to submit Visa Account Funding Transaction (AFT), Visa Original Credit Transaction (OCT), Mastercard MoneySend Funding, and Mastercard MoneySend Payment transactions through the NEXO interface.
All flows use AcceptorAuthorisationRequest. The transaction direction is identified by the NEXO transaction type (TxTp), and scheme-specific data is provided through repeated AddtlTxData entries.
Supported Transaction Flows
| Flow | Tx.TxTp | Direction |
|---|---|---|
| Visa AFT | Use value 'CAFL' | Funding / pull |
| Mastercard MoneySend Funding | Use value 'CAFL' | Funding / pull |
| Visa OCT | Use value 'CAFH' | Payment / push |
| Mastercard MoneySend Payment | Use value' CAFH' | Payment / push |
Additional Data
- Sender data, receiver data, source of funds, purpose of payment, and scheme-specific identifiers must be sent in
Tx/AddtlTxData. - Each value must be sent as a separate
AddtlTxDataentry using this format:/<key>/<value> - Do not send empty values. Omit optional entries when no value is available.
- Account numbers, names, phone numbers, email addresses, and date of birth values are sensitive data and should only be included when required for the selected use case.
Scheme-specific data
| Key | Presence | Value |
|---|---|---|
| 'BusinessApplicationIdentifier' | C | Must be present for Visa AFT or OCT. Possible values for AFT: 'ACCOUNT_TO_ACCOUNT' for AA 'BANK_INITIATED_TRANSFER' for BI 'FUNDS_DISBURSEMENT' for FD 'FUND_TRANSFER' for FT 'LIQUID_ASSETS' for LA 'MERCHANT_PAYMENT' for MP 'PAYROLL_OR_PENSION_DISBURSEMENT' for PD 'PERSON_TO_PERSON' for PP 'TOPUP_FOR_ENHANCED_PREPAID_LOADS' for TU 'WALLET_TRANSFER' for WT Possible values for OCT: 'ACCOUNT_TO_ACCOUNT' for AA 'BANK_INITIATED_TRANSFER' for BI 'BUSINESS_TO_BUSINESS' for BB 'CARD_BILL_PAYMENT' for CP 'CASH_DEPOSIT' for CD 'CUSTOMER_BILL_PAYMENT' for CB 'FUNDS_DISBURSEMENT' for FD 'FUND_TRANSFER' for FT 'GAMBLING_PAYOUT' for GP 'GOVERNMENT_DISBURSEMENT' for GD 'LIQUID_ASSETS' for LA 'LOYALTY_PAYMENTS' for LO 'FAST_REFUND' for MI 'MERCHANT_DISBURSEMENT' for MD 'NON_CARD_BILL_PAYMENT' for BP 'ONLINE_GAMBLING_PAYOUT' for OG 'PAYROLL_OR_PENSION_DISBURSEMENT' for PD 'PERSON_TO_PERSON' for PP 'REQUEST_TO_PAY_SERVICE' for RP 'TOPUP_FOR_ENHANCED_PREPAID_LOADS' for TU 'WALLET_TRANSFER' for WT |
| 'TransactionTypeIdentifier' | C | Must be present for Mastercard MoneySend Funding or Payment. Possible values for Funding: 'AGENTS_CASH_OUT_MONEY_TRANSFER' for F53 'AGENTS_CASH_OUT_MONEY_SEND' for C53 'BUSINESS_DISBURSEMENT_MONEY_SEND' for C55 'BUSINESS_DISBURSEMENT_MONEY_TRANSFER' for F55 'BUSINESS_TO_BUSINESS_MONEY_SEND' for C56 'BUSINESS_TO_BUSINESS_MONEY_TRANSFER' for F65 'CARD_BILL_PAYMENT_MONEY_SEND' for C54 'CARD_BILL_PAYMENT_MONEY_TRANSFER' for F54 'GOVERNMENT_DISBURSEMENT_NONPROFIT' for C56 'OWN_ACCOUNT_MONEY_SEND' for C52 'OWN_ACCOUNT_MONEY_TRANSFER' for F52 'OWN_DEBIT_PREPAID_TRANSFER' for F64 'OWN_WALLET_TRANSFER' for F61 'PERSON_TO_PERSON_CARD_ACCOUNT' for F08 'PERSON_TO_PERSON_MONEY_SEND' for C07 'PERSON_TO_PERSON_MONEY_TRANSFER' for F07 'RAPID_MERCHANT_SETTLEMENT' for C57 Possible values for Payment: 'AGENTS_CASH_OUT_MONEY_SEND' for C53 'BUSINESS_DISBURSEMENT_MONEY_SEND' for C55 'BUSINESS_TO_BUSINESS_MONEY_SEND' for C56 'CARD_BILL_PAYMENT_MONEY_SEND' for C54 'CASH_IN_AT_ATM' for C58 'CASH_IN_AT_PO' for C59 'FAST_REFUND_TO_ORIGINAL_CARD' for C60 'GAMBLING_PAYOUT' for C04 'GOVERNMENT_DISBURSEMENT_NONPROFIT' for C56 'ONLINE_GAMBLING_PAYOUT' for C04 'OWN_ACCOUNT_MONEY_SEND' for C52 'PERSON_TO_PERSON_MONEY_SEND' for C07 'RAPID_MERCHANT_SETTLEMENT' for C57 |
| 'SourceOfFunds' | O | Possible values: CREDIT_ACCOUNT DEBIT_ACCOUNT PREPAID_ACCOUNT CASH DEPOSIT_ACCOUNT MOBILE_MONEY_ACCOUNT |
| 'PurposeOfPayment' | C | Merchants accepting cards issued in India, Bangladesh, Argentina and/or Egypt require it for VISA Original Credit Transfer Transactions. The value is use-case-specific. |
Sender information
| Key | Presence | Value |
|---|---|---|
| 'Sender/AccountNumber' | O | Account number of sender |
| 'Sender/AccountType' | C | Must be present if key 'Sender/AccountNumber' is sent. |
| 'Sender/FirstName' | O | Split-name field for first name of sender |
| 'Sender/MiddleName' | O | Split-name field for middle name of sender |
| 'Sender/LastName' | O | Split-name field for last name of sender |
| 'Sender/Address' | O | Street/address line of sender |
| 'Sender/City' | C | City of the sender. Must be present if key 'Sender/Address' is sent. |
| 'Sender/State' | O | State or region of sender |
| 'Sender/PostalCode' | C | Postal code of the sender. Must be present if key 'Sender/Address' is sent. |
| 'Sender/Country' | C | Country of sender. Must be present if key 'Sender/Address' is sent. Expected format: ISO 3166-1 alpha-3, e.g. 'DEU' for Germany |
| 'Sender/PhoneNumber' | O | Phone number of the sender incl. prefix for country. E.g. '0049' or '+49' for Germany |
| 'Sender/DateOfBirth' | O | Date of birth of sender. Expected format: yyyyMMdd |
| 'Sender/ParticipationId' | O | Participation ID of sender |
| 'Sender/ReferenceNumber' | O | Reference number of sender |
| 'Sender/Nationality' | O | Nationality of sender. Expected format: ISO 3166-1 alpha-3, e.g. 'DEU' for Germany |
| 'Sender/BirthCountry' | O | Date of birth of sender. Expected format: yyyyMMdd |
| 'Sender/Email' | O | Email address of sender |
Receiver information
| Key | Presence | Value |
|---|---|---|
| 'Receiver/AccountNumber' | O | Account number of receiver |
| 'Receiver/AccountType' | C | Must be present if key 'Receiver/AccountNumber' is sent. |
| 'Receiver/FirstName' | O | Split-name field for first name of receiver |
| 'Receiver/MiddleName' | O | Split-name field for middle name of receiver |
| 'Receiver/LastName' | O | Split-name field for last name of receiver |
| 'Receiver/Address' | O | Street/address line of receiver |
| 'Receiver/City' | C | City of the sender. Must be present if key 'Receiver/Address' is sent. |
| 'Receiver/State' | O | State or region of receiver |
| 'Receiver/PostalCode' | C | Postal code of the sender. Must be present if key 'Receiver/Address' is sent. |
| 'Receiver/Country' | C | Country of sender. Must be present if key 'Sender/Address' is sent. Expected format: ISO 3166-1 alpha-3, e.g. 'DEU' for Germany |
| 'Receiver/PhoneNumber' | O | Phone number of the receiverincl. prefix for country. E.g. '0049' or '+49' for Germany |
| 'Receiver/DateOfBirth' | O | Date of birth of receiver. Expected format: yyyyMMdd |
| 'Receiver/ParticipationId' | O | Participation ID of receiver |
| 'Receiver/ReferenceNumber' | O | Reference number of receiver |
| 'Receiver/Nationality' | O | Nationality of receiver. Expected format: ISO 3166-1 alpha-3, e.g. 'DEU' for Germany |
| 'Receiver/BirthCountry' | O | Date of birth of receiver. Expected format: yyyyMMdd |
| 'Receiver/Email' | O | Email address of receiver |
Example data (for Visa OCT)
<TxTp>CAFH</TxTp>
<AddtlTxData>/BusinessApplicationIdentifierValue/FT</AddtlTxData>
<AddtlTxData>/SourceOfFunds/DEBIT_ACCOUNT</AddtlTxData>
<AddtlTxData>/purposeOfPayment/P2P</AddtlTxData>
<AddtlTxData>/Sender/AccountNumber/123xxxxx890</AddtlTxData>
<AddtlTxData>/Sender/AccountType/CARD_ACCOUNT_NO</AddtlTxData>
<AddtlTxData>/Sender/FirstName/John</AddtlTxData>
<AddtlTxData>/Sender/MiddleName/Martin</AddtlTxData>
<AddtlTxData>/Sender/LastName/Jackson</AddtlTxData>
<AddtlTxData>/Sender/Country/DEU</AddtlTxData>
<AddtlTxData>/Receiver/AccountNumber/444xxxxxxxxx21111</AddtlTxData>
<AddtlTxData>/Receiver/AccountType/CARD_ACCOUNT_NO</AddtlTxData>
<AddtlTxData>/Receiver/FirstName/Jane</AddtlTxData>
<AddtlTxData>/Receiver/LastName/Miller</AddtlTxData>
<AddtlTxData>/Receiver/Country/DEU</AddtlTxData>
Money Transfer Linkage ID
Use the Money Transfer Linkage ID to associate a funding transaction with its related payment transaction.
| Funding transaction | Related payment transaction |
|---|---|
Visa Account Funding Transaction (AFT), TxTp=CAFL | Visa Original Credit Transaction (OCT), TxTp=CAFH |
Mastercard MoneySend Funding, TxTp=CAFL | Mastercard MoneySend Payment, TxTp=CAFH |
When available, the funding response returns the linkage ID. Send that same value in the related payment request.
Note: Money Transfer Linkage ID and scheme transaction ID
The Money Transfer Linkage ID is a separate value from the scheme transaction ID in
Tx/IntrchngData. The values can be identical for some Visa transactions but can differ for Mastercard MoneySend. Always use the value identified byIPG:MoneyTransferLinkageIdwhen linking the two transactions.
Retrieve the linkage ID from the funding response
When a linkage ID is available, the AcceptorAuthorisationResponse contains an additional relay identifier at:
Document/AccptrAuthstnRspn/Hdr/Tracblt/RlayId
Locate the RlayId element whose Id is IPG:MoneyTransferLinkageId. The linkage value is returned in ShrtNm.
<Hdr>
...
<Tracblt>
<RlayId>
<Id>IPG:MoneyTransferLinkageId</Id>
<Tp>CISS</Tp>
<ShrtNm>0001234261712345601</ShrtNm>
</RlayId>
...
</Tracblt>
</Hdr>
Other relay identifiers can be present in Hdr/Tracblt. Identify this value by RlayId/Id; do not rely on the element's position.
If no Money Transfer Linkage ID is available, the response does not contain an empty RlayId for it.
Send the linkage ID in the payment request
For the related Visa OCT or Mastercard MoneySend Payment transaction, use TxTp=CAFH and add the linkage ID as a separate Tx/AddtlTxData entry:
<TxTp>CAFH</TxTp>
<AddtlTxData>/MoneyTransferLinkageId/0001234261712345601</AddtlTxData>
Use the exact format:
/MoneyTransferLinkageId/{value}
The value must:
- be the value returned in
RlayId/ShrtNmfor the related funding transaction; - not be empty or contain only spaces;
- contain no more than 19 characters; and
- be sent unchanged, without using the scheme transaction ID as a substitute.
Omit this AddtlTxData entry when the payment transaction is not linked to a funding transaction.
End-to-end example
1. Submit the funding transaction
Submit a Visa AFT or Mastercard MoneySend Funding request with TxTp=CAFL and the data required for the selected money-transfer use case.
2. Store the linkage ID from the response
From the successful funding response, select the relay identifier with Id=IPG:MoneyTransferLinkageId and store its ShrtNm value:
<RlayId>
<Id>IPG:MoneyTransferLinkageId</Id>
<Tp>CISS</Tp>
<ShrtNm>0001234261712345601</ShrtNm>
</RlayId>
3. Submit the related payment transaction
Include the stored value in the Visa OCT or Mastercard MoneySend Payment request:
<Tx>
...
<TxTp>CAFH</TxTp>
...
<AddtlTxData>/MoneyTransferLinkageId/0001234261712345601</AddtlTxData>
...
</Tx>
Continue to include all other AddtlTxData entries required for the selected Visa OCT or Mastercard MoneySend Payment use case.
Updated about 1 month ago