---
swagger: "2.0"
info:
title: SERV-PYI-V-LoanPayments
description: The purpose of this microservice is to manage the payments to the credits
like Personal loans and mortgage credit. This service is for the Edge layer of
the architecture.
version: 1.0.0
x-ibm-name: serv-pyi-v-loanpayments
host: 127.0.0.1
schemes:
- https
basePath: /api
produces:
- application/json
paths:
/v1/servicing/accounts/loans/payment:
post:
tags:
- loan-payment
operationId: loan-payment
summary: To execute payments to the credits like Personal loans and mortgage
credit.
description: This API is used to execute payments to the credits like Personal
loans and mortgage credit.
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: true
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
required: true
type: string
description: The Authorization Token received during login
- name: Accept
in: header
required: true
type: string
description: Content-Types that are acceptable for the response
- name: uuid
in: header
required: true
type: string
description: 128 bit UUID that you generate for every request
- name: Accept-Language
in: header
required: false
type: string
description: List of acceptable human languages for response
- name: Content-Type
in: header
required: true
type: string
description: Content-Types that are sent in the request
- name: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- name: sid
in: header
required: true
type: string
description: SessionId sent by Consumer
- name: loanPaymentRequest
in: body
schema:
$ref: '#/definitions/LoanPaymentRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/LoanPaymentResponse'
400:
description:
Type | Code | Details |
error | invalidRequest | Missing
or invalid Parameters |
schema:
$ref: '#/definitions/ErrorResponse'
401:
description: Type | Code | Details |
error | unAuthorized | Authorization
credentials are missing or invalid |
schema:
$ref: '#/definitions/ErrorResponse'
403:
description: Type | Code | Details | More
Info |
error | accessNotConfigured | The request
operation is not configured to access this resource | Channel/Country/Business
provided in the request is not supported currently |
schema:
$ref: '#/definitions/ErrorResponse'
404:
description: Type | Code | Details | More
Info |
error | resourceNotFound | The requested
resource was not found | Empty resource/resource not found |
schema:
$ref: '#/definitions/ErrorResponse'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
definitions:
LoanPaymentRequest:
type: object
properties:
transfer:
$ref: '#/definitions/Transfer'
security:
$ref: '#/definitions/Security'
LoanPaymentResponse:
type: object
properties:
transaction:
$ref: '#/definitions/Transaction'
Transfer:
type: object
properties:
sourceAccountId:
description: Unique account id of the source account
type: string
example: "1239402"
destinationAccountId:
description: Unique account id of the target account
type: string
example: "1239402"
transferAmount:
description: Amount of the operation
type: number
format: double
example: 120.550000
amountPaymentOption:
description: The payment option for the payment amount. 1-Monthly Payment,
2-Partial Payment, 3-Payoff
type: string
example: "1"
folio:
description: Folio associated to the account
type: integer
example: 123
transactionScheduleDate:
description: Date and time used when the operation is scheduled for future
day
type: string
format: date
example: "2018-08-18T10:10:10"
required:
- sourceAccountId
- destinationAccountId
- transferAmount
Security:
type: object
properties:
rsaVersion:
description: Version of the RSA that generates the data in the client (Browsers
or Mobile Apps)
type: string
example: 3.4.1.1
browser:
$ref: '#/definitions/BrowserDetails'
mobile:
$ref: '#/definitions/MobileDetails'
required:
- rsaVersion
BrowserDetails:
type: object
properties:
sessionBrowserUserAgent:
description: Web browser identifier
type: string
example: mozilla/5.0+(macintosh;+intel+mac+os+x+10_14_3)
screenResolution:
description: Resolution of the client's screen where the browser is running
type: string
example: 24|1440|900|830
browserTimezone:
description: Time zone configured in the browser
type: integer
format: int32
example: 6
javaVersion:
description: Java version loaded in the browser
type: integer
format: int32
example: 1
browserLanguage:
description: Browser language
type: string
example: lang=es-XL|syslang=|userlang=
cookieEnabledIndicator:
description: It indicates if cookies are enabled 0-disabled, 1-enabled
type: integer
format: int32
example: 1
applicationName:
description: Name of the application or in its absence the simple name of
the browser
type: string
example: Netscape
applicationCode:
description: Application code or browser agent code
type: string
example: Mozilla
internetEnabledFlag:
description: Flag that indicates if the browser has internet, true-enabled,
false-disabled
type: boolean
example: true
screenSize:
description: Width of the client's screen
type: integer
format: int32
example: 1440
screenPixels:
description: Deep of pixels on the client's screen
type: integer
format: int32
example: 24
osName:
description: Name of the operating system where the browser is running
type: string
example: Mac
browserVersion:
description: Browser version
type: integer
format: int32
example: 12
browserName:
description: Browser name
type: string
example: Safari
required:
- browserName
- browserVersion
- osName
- screenPixels
- screenSize
- internetEnabledFlag
- applicationCode
- applicationName
- cookieEnabledIndicator
- browserLanguage
- javaVersion
- browserTimezone
- screenResolution
- sessionBrowserUserAgent
MobileDetails:
type: object
properties:
queryTime:
description: Time at which the request is launched, this data comes from the
time of the smartPhone
type: string
format: date
example: "2019-03-09T13:00:00Z"
deviceId:
description: Device identifier, if the SDK can not recover it, it returns
-1
type: string
example: "-1"
simId:
description: Identifier of the SIM card of the device, if the SDK can not
recover it, it returns -1
type: string
example: "-1"
phoneNumber:
description: Phone number of the device, if the SDK can not recover it, it
returns -1
type: string
example: "-1"
rsaApplicationKey:
description: Key that identifies the RSA SDK
type: string
example: 10F29219081905EC2BEBFF5AD779EE48
mobileCompromisedIndicator:
description: It indicates if the smartphone is altered (Root or Jailbreak),0-
disabled,1- enabled
type: integer
format: int32
example: 0
mobileEmulatorIndicator:
description: It indicates if the RSA SDK is running in simulator or in a physical
device,0- disabled,1- enabled
type: integer
format: int32
example: 1
required:
- mobileEmulatorIndicator
- mobileCompromisedIndicator
- rsaApplicationKey
- phoneNumber
- simId
- deviceId
- queryTime
Transaction:
type: object
properties:
transactionStatusCode:
description: Code of the transaction status
type: integer
format: int32
example: 0
transactionStatus:
description: Description of the transaction status
type: string
example: Success
transactionAmount:
description: Amount of the transaction/ operation
type: number
format: double
example: 120.550000
transactionScheduleDate:
description: Date and time used when the operation is scheduled for future
day
type: string
format: date
example: "2018-08-18T10:10:10"
transactionDate:
description: Date Time when the operation was made
type: string
format: date
example: 2019-06-19T15:30:000.0z
authorizationCode:
description: Authorization number given by bank for the operation
type: string
example: "40923892340243"
sourceAccount:
$ref: '#/definitions/SourceAccount'
destinationAccount:
$ref: '#/definitions/DestinationAccount'
required:
- transactionStatusCode
- transactionStatus
- transactionAmount
- transactionDate
- authorizationCode
- sourceAccount
- destinationAccount
SourceAccount:
type: object
properties:
accountId:
description: Unique ID used by front end to indentify the account
type: string
example: "123456"
accountBalances:
$ref: '#/definitions/AccountBalanceInformation'
required:
- accountId
AccountBalanceInformation:
type: object
properties:
availableBalanceAmount:
description: available balance amount in the account
type: number
format: double
example: 1234.560000
currentBalanceAmount:
description: The current balance amount
type: number
format: double
example: 15000.230000
required:
- currentBalanceAmount
DestinationAccount:
type: object
properties:
accountId:
description: Unique ID used by front end to indentify the account
type: string
example: "123456"
accountBalances:
$ref: '#/definitions/AccountBalanceInfo'
required:
- accountId
AccountBalanceInfo:
type: object
properties:
availableBalanceAmount:
description: available balance amount in the account
type: number
format: double
example: 1234.560000
currentBalanceAmount:
description: The current balance amount
type: number
format: double
example: 15000.230000
required:
- currentBalanceAmount
ErrorResponse:
properties:
type:
type: string
description: Invalid - Request did not confirm to the specification and was
unprocessed and rejected. Please fix the value and try again
enum:
- error
- warn
- invalid
- fatal
code:
description: Error code which qualifies the error
type: string
details:
description: Human readable explanation specific to the occurrence of the
problem
type: string
location:
description: The name of the field that resulted in the error
type: string
moreInfo:
description: URI to human readable documentation or detailed description of
the error
type: string
uuid:
description: 128 bit UUID that you generate for every request
type: string
timestamp:
description: Timestamp of the error
type: string
required:
- type
- code
x-ibm-configuration:
enforced: true
testable: true
phase: realized
securityDefinitions:
OAuth2 Application Flow:
type: oauth2
description: ""
flow: application
scopes:
/api/v1: ""
tokenUrl: https://sandbox.externalapib2b.wlb.nam.nsroot.net:7101/mx-gcgapi-uat/sandbox2/api/v1/oauth/token
Client ID:
type: apiKey
description: ""
in: header
name: X-IBM-Client-Id
security:
- OAuth2 Application Flow:
- /api/v1
Client ID: []
x-ibm-endpoints:
- endpointUrl: https://sandbox.externalapib2b.wlb.nam.nsroot.net:7101/mx-gcgapi-uat/sandbox2
type:
- production
- development
...