--- 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 ...