---
swagger: "2.0"
info:
x-ibm-name: partner-rakmoneytransfer-api
title: Partner RAKMoneyTransfer API
version: 2.4.0
description: "This API will create a request to initiate a RAKMoneyTransfer from
a RAKBANK account to a beneficiary. \nThe debit account will depend on the type
of the customer initiating the request:\n- a pre-paid card customer of the partner,
where the pre-paid card bin is sponsored by RAKBANK. In this case, from.customer_id_type
in the request body must be set as "Emirates_ID". An internal suspense
account associated with the card bin would be debited to make the transfer.\n-
an IBAN customer of the partner, where the IBAN is linked to an account in RAKBANK.
In this case, from.customer_id_type in the request body must be set as "Account_ID".
The customer's account is debited to make the transfer.\n\nPre-register the
beneficiary using the Partner Beneficiary Management API and pass only the beneficiary
Id of the selected beneficiary to this API.\nThe payment reference Id will be
returned in the response for a successful payment request initiation. \nThe GET
method allows to fetch the details and the status of the transaction.\n\n \n\tVersion
2.1.0\n\n - Added new 422 response_code - 20006, in CreateTransactionById response
\ \n \n \n\tVersion 2.2.0\n\n - Added property "card_bin" inside
"from". This field is required in case of prepaid card customers to
identify the internal suspense account associated with the prepaid card bin. It
is optional when the partner has a single card bin.\n - from.customer_id_type
also accepts value as "Account_ID" to support IBAN customers of the
partner.\n - Added Read-only properties "total_credit_amount", "credit_currency_code",
"total_debit_amount" and "debit_currency_code" that would
be returned in the response.\n \n \n\tVersion 2.3.0\n\n - Allowing retry based
on same transaction_id. In case of API timeout or 500 errors, you may retry upto
3 times with a minimum interval of 60 seconds between every retry. Please ensure
to pass the same transaction_id in the path for retry requests. If the previous
transaction with the same transaction_id was posted successfully, then the previous
response would be echoed for the retries. If the previous transaction was unsuccessful,
then the system will try to reprocess the transaction.\n\nVersion 2.4.0\n- Added
new field "cash_pickup_point" in response, This field displays the cash
collection center for the particular transfer\n- Added new field "cash_pickup_pin"
in response, This field displays pin no used to collect cash"
contact:
name: API Developer
email: apideveloper@rakbank.ae
name: ""
schemes:
- https
host: sandboxapi.rakbank.ae
basePath: /v2
consumes:
- application/json
produces:
- application/json
securityDefinitions:
oauth:
type: oauth2
description: ""
flow: application
scopes:
send_money: For creating a payment request and to retrieve details of the payment
request
tokenUrl: https://sandboxapi.rakbank.ae/sb/api/v1/partner_auth/token
clientIdHeader:
type: apiKey
in: header
name: X-IBM-Client-Id
security:
- clientIdHeader: []
oauth:
- send_money
x-ibm-configuration:
testable: true
enforced: true
phase: realized
paths:
/transactions/{transaction_id}:
put:
responses:
201:
description: 201 Created
schema:
$ref: '#/definitions/transactions'
422:
description: Error
schema:
$ref: '#/definitions/error_response'
500:
description: Internal Server Error
schema:
$ref: '#/definitions/error_response'
parameters:
- name: transactions
required: true
in: body
schema:
$ref: '#/definitions/transactions'
description: Request details to create a payment transaction.
description: Creates a transaction to initiate payment from a RAKBank account
to the customer's beneficiary. A payment request is created and a payment
ref Id and charges are returned in the response.
summary: Create Transaction Request
operationId: CreateTransactionById
get:
responses:
200:
description: 200 OK
schema:
$ref: '#/definitions/transactions'
422:
description: Error
schema:
$ref: '#/definitions/error_response'
500:
description: Internal Sever Error
schema:
$ref: '#/definitions/error_response'
operationId: GetTransactionById
description: Get Transaction details by passing the transaction_id.
parameters:
- name: transaction_type
type: string
enum:
- RAKMoney
required: true
in: query
description: Transaction Request Type. Allowed values are 'RAKMoney'
parameters:
- name: transaction_id
type: string
maxLength: 20
required: true
in: path
description: Unique transaction ID that is generated by the client. The transaction_id
used to create the payment transaction. Value must not repeat, atleast for
a period of six months. Please ensure to pass the same transaction_id in the
path for retry requests.
- name: MsgId
type: string
maxLength: 50
required: true
in: header
description: Unique Id sent by client. Value should be a unique identifier of
the request in UUID format.
definitions:
transactions:
properties:
href:
type: string
example: https://testapi.rakbank.ae/rb/api/v2/transactions/{transaction_id}
description: Read only field. href value to fetch the resource with the specific transaction_id.
transaction_id:
type: string
maxLength: 20
description: Read only field. The client's unique id for the transaction.
example: "58215225"
payment_ref_id:
type: string
maxLength: 25
description: Read only field. The bank's unique id for the transaction. Returned
in the response.
example: "14091746202"
start_date:
type: string
description: Read only field. Date when the transaction is submitted. Returned
in the response.
example: "2017-09-14"
format: date
end_date:
type: string
description: Read only field. Date when the transaction is executed. Returned
in the response.
example: "2017-09-14"
format: date
status:
type: string
maxLength: 5
description: Read only field. Status of the transaction request is returned
in the response. | - S = Success. - F = Failure. - P = Processing. , -
REJ = HighValue/AML Rejection.
example: S
status_desc:
type: string
maxLength: 254
description: Read only field. Description of the transaction status that is
returned in the response.
example: Success
transaction_type:
type: string
enum:
- RAKMoney
minLength: 1
maxLength: 20
description: Transaction Request Type. Select 'RAKMoney' - in case of RAK
Money Transfer
example: RAKMoney
from:
$ref: '#/definitions/from'
to:
$ref: '#/definitions/to'
value:
$ref: '#/definitions/value'
charges:
$ref: '#/definitions/charges'
description: Read only field. Charge details are returned in the response.
purpose_code:
type: string
minLength: 1
maxLength: 20
description: Code for the Purpose of the remittance. Should be among the allowed
values provided in the Master data.
example: "8"
total_credit_amount:
type: string
minLength: 0
maxLength: 20
description: Read only field. Total amount that will be transferred to the
beneficiary account. Returned in the response.
example: "50000.00"
credit_currency_code:
type: string
minLength: 1
maxLength: 3
description: Read only field. Currency code of the total_credit_amount. Returned
in the response.
example: AED
total_debit_amount:
type: string
minLength: 0
maxLength: 20
description: Read only field. Total amount that will be debited from the customer
account. Returned in the response.
example: "2020.00"
debit_currency_code:
type: string
minLength: 1
maxLength: 3
description: Read only field. Currency code of the total_debit_amount. Returned
in the response.
example: AED
cash_pickup_point:
type: string
minLength: 0
maxLength: 150
description: Read only field. This displays the cash collection center for
the particular transfer. Returned in the response.
cash_pickup_pin:
type: string
minLength: 0
maxLength: 50
description: Read only field. This displays pin no used to collect cash. Returned
in the response.
example:
transaction_type: RAKMoney
from:
customer_id_type: Emirates_ID
customer_id: "123456789234587"
to:
beneficiary_id: "101603780046613"
value:
currency: AED
amount: "2008"
purpose_code: "8"
additionalProperties: false
required:
- from
- to
- value
- transaction_type
- purpose_code
error_response:
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
description: Response in case of error
to:
properties:
href:
type: string
example: https://testapi.rakbank.ae/ra/api/v2/customers/{customer_id_type}:{customer_id}/beneficiaries/{beneficiary_id}
description: Read only field. href value to fetch the resource with a specific
beneficiary_id for a registered beneficiary. Returned in the response.
beneficiary_id:
type: string
minLength: 1
maxLength: 15
example: "100001234500001"
description: Beneficiary id of a registered beneficiary. Mandatory in the
request for transaction_type=RAKMoney.
additionalProperties: false
required:
- beneficiary_id
description: This will contain the details of the beneficiary.
from:
properties:
customer_id_type:
type: string
enum:
- Emirates_ID
- Account_ID
description: 'Type of the Customer id of the customer who initiates the transaction.
Allowed values: ''Emirates_ID'' - for pre paid card customers, ''Account_ID''
- for RAKBANK account holding customers'
example: Emirates_ID
customer_id:
type: string
minLength: 1
maxLength: 20
example: "784198368135210"
description: Customer id of the customer, corresponding to the customer_id_type,
who initiates the transaction. Only MASKED value to be passed. Masked value
should be passed in the UAT and Production environments. For information
on the masking logic to be followed, see Masking
Logic
card_bin:
type: string
minLength: 1
maxLength: 6
example: "451002"
description: 'Card bin i.e. First 6 digits of the customer''s card, who initiates
the transaction. This is required only when customer initating the transaction
is a pre-paid card customer i.e. when customer_id_type is Emirates_ID and
when more than one card bins are supported for the client. This will be
used to identify the Debit account for the transaction. '
additionalProperties: false
required:
- customer_id
- customer_id_type
description: This will contain the details of the remitter
charges:
additionalProperties: false
description: Read only field. Charge details are returned in the response.
properties:
discount:
type: string
maxLength: 20
description: Discount applied on the charges
tax:
type: string
maxLength: 20
description: Tax levied for the transaction
currency:
type: string
minLength: 1
maxLength: 3
description: Currency code of the charges
example: AED
amount:
type: string
minLength: 1
maxLength: 20
description: Charges amount
example: "50.00"
total:
type: string
maxLength: 20
description: Total Charges amount applied for the transaction
required:
- amount
- total
- currency
value:
properties:
currency:
type: string
minLength: 1
maxLength: 3
description: 'Currency code. Allowed values: "AED" or a supported
currency code corresponding to the beneficiary''s bank country code
and transfer type.'
example: AED
amount:
type: string
minLength: 1
maxLength: 20
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})?)$
description: Amount Value. Decimal(16,3) values allowed.
example: 2001
additionalProperties: false
required:
- currency
- amount
description: Transaction amount details
tags: []
x-ibm-endpoints:
- endpointUrl: https://sandboxapi.rakbank.ae/sb/api
type:
- production
- development
...