The Cash Deposit API enables Cash Deposit Machines (CDMs) to perform deposits without exposing the full account number during the transaction. Debit multiple RAKBANK accounts and credit multiple RAKBANK Accounts. The total amount debited and credited should be matched. Within the part_transactions array, the replace_account_flag determines whether the server should replace the provided account_id with the real account number from the token. Value to be passed to replace the account_id is Y.
<h3>OAuth Metadata details</h3> OAuth metadata parameter to be passed at the time of generating access token using <a href="/partner-authentication">Partner Authentication API</a> for client credential grant type is mentioned below. For information on OAuth Metadata, see <a href="/security/#oauth-metadata-partnerauth">About the OAuth Metadata</a> <p class="oauth_metadata">oauth_metadata.account_id : {account_id}</p>
| Attachment | Size |
|---|---|
| 3.9 KB |
OAuth Metadata details
OAuth metadata parameter to be passed at the time of generating access token using Partner Authentication API for client credential grant type is mentioned below. For information on OAuth Metadata, see About the OAuth Metadata
oauth_metadata.account_id : {account_id} OR oauth_metadata.emirates_id : {emirates_id}
Basepath
/v2
Paths
/cash_deposit/{tran_ref_num}
Create Internal Transfer request for cash deposit
Creates an internal fund transfer between RAKBANK accounts. Client needs to ensure that the total credit and debit amounts are balanced across the part_transactions for creating a success transfer. The payment_ref_id and transaction date are returned in the response.
Unique Id sent by client. Value must not repeat atleast for a period of six months. Ensure to pass same msgid in case of retry.
{
"maxLength": 35
} Unique transaction reference number that is generated by the client.Used for end to end tracking of the transaction.
{
"maxLength": 20
} Request details to create an internal fund transfer to deposit cash.
201 Created
Error
Internal Server Error
Definitions
Details of the Internal Transfer
{
"properties": {
"tran_ref_num": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"description": "Kept for future purpose. This field is currently not in use.",
"example": "12345678900987654345"
},
"parent_req_id": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Required only for Reversals. The header 'MsgId' of the original request that needs to be reversed.",
"example": "4546465465"
},
"part_transactions": {
"description": "Array of Part Transactions",
"type": "array",
"items": {
"$ref": "#/definitions/part_transactions"
}
}
},
"additionalProperties": false,
"required": [
"part_transactions"
]
}
Response object.
{
"properties": {
"tran_ref_num": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"description": "The client's unique id for the transaction.",
"example": "12345678900987654345"
},
"payment_ref_id": {
"type": "string",
"minLength": 1,
"maxLength": 9,
"description": "The bank's unique id for the transaction.",
"example": "M123"
},
"transaction_date": {
"type": "string",
"description": "Date when the transaction is created.",
"example": "2018-09-14",
"format": "date"
}
},
"additionalProperties": false,
"required": [
"tran_ref_num",
"payment_ref_id",
"transaction_date"
]
}
Response in case of error
{
"properties": {
"status": {
"type": "string",
"description": "HTTP Status"
},
"response_code": {
"type": "string",
"description": "API specific error code"
},
"property": {
"type": "string"
},
"response_message": {
"type": "string",
"description": "brief type of the error",
"example": ""
},
"description": {
"type": "string",
"description": "detailed description of the error"
}
},
"additionalProperties": false,
"required": [
"response_code",
"status",
"response_message"
]
}
Array of Part Transactions
{
"properties": {
"part_transaction_type": {
"type": "string",
"enum": [
"C",
"D"
],
"description": "Debit/Credit Indicator of the part transaction. Allowed values are C - Credit, D - Debit.",
"example": "C"
},
"account_id": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"example": "1234xxxxxx567",
"description": "Debit or Credit Account id. Debit Account id should be passed as masked value in the UAT and Production environments. For information on the masking logic to be followed, see Masking Logic"
},
"value": {
"$ref": "#/definitions/value"
},
"value_date": {
"type": "string",
"description": "Value Date of the transaction.",
"example": "2026-01-22T15:24:39.000",
"format": "date-time"
},
"transaction_narration": {
"$ref": "#/definitions/transaction_narration"
},
"rate": {
"type": "string",
"description": "Forex rate applicable for the transaction. This is mandatory for non-AED transactions when rate_code is not MID. The rate can be fetched using FxRate & Charges API."
},
"rate_code": {
"type": "string",
"enum": [
"TTS",
"TTB",
"MID"
],
"description": "Forex rate code applicable for the transaction. Possible values: TTS,TTB,MID. This is mandatory for non-AED transactions. The rate code can be fetched using FxRate & Charges API."
},
"replace_account_flag": {
"type": "string",
"description": "To replace the masked account number with actual account number from metadata",
"enum": [
"Y",
"N"
]
}
},
"additionalProperties": false,
"required": [
"part_transaction_type",
"account_id",
"value",
"value_date",
"transaction_narration"
]
}
Transaction Narrations to appear in the account statement for this transaction.
{
"additionalProperties": false,
"properties": {
"transaction_code": {
"type": "string",
"minLength": 1,
"maxLength": 5,
"description": "Transaction particular Code. This will differ based on the type of transaction. First line of the transaction narration will be the description related to this code.",
"example": "520"
},
"transaction_particular2": {
"type": "string",
"minLength": 1,
"maxLength": 50,
"description": "Second line of the transaction narration.",
"example": "WALLET RECHARGE"
},
"transaction_particulars": {
"type": "string",
"maxLength": 50,
"description": "Third line of the transaction narration",
"example": "2019-02-06 06:34:11.785"
},
"transaction_remarks": {
"type": "string",
"minLength": 1,
"maxLength": 30,
"description": "Second line of the narration. If sent, transaction_particular2 will be ignored.",
"example": "for 1234567890123"
}
},
"required": [
"transaction_code"
]
}
Transaction amount details
{
"properties": {
"currency": {
"type": "string",
"minLength": 1,
"maxLength": 3,
"description": "Currency",
"example": "AED"
},
"amount": {
"type": "string",
"pattern": "^((\\d{1}|\\d{2}|\\d{3}|\\d{4}|\\d{5}|\\d{6}|\\d{7}|\\d{8}|\\d{9}|\\d{10}|\\d{11}|\\d{12}|\\d{13}|\\d{14}|\\d{15}|\\d{16})?\\.?(\\d{1}|\\d{2}|\\d{3})?)$",
"minLength": 1,
"maxLength": 20,
"description": "Amount Value",
"example": 2001
}
},
"additionalProperties": false,
"required": [
"currency",
"amount"
]
}

