---
swagger: "2.0"
info:
title: SERV-PYI-D-PaymentFile
description: Microservice for payments initiation processes storage (all types of
payments and for different processes)
version: 1.1.0
x-ibm-name: serv-pyi-d-paymentfile
host: 127.0.0.1
schemes:
- https
basePath: /api
produces:
- application/json
paths:
/v1/servicing/payments/file/store:
post:
tags:
- store-payment-file
operationId: store-payment-file
summary: API to store payment file into database for night processing
description: Corporate payment file being received and store into Oracle DB
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: countryCode
in: header
required: true
type: string
description: Country code in 2 character ISO 3166 format
- name: businesscode
in: header
required: true
type: string
description: Business code identified during application registration
- 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: paymentFileStorageRequest
in: body
required: true
schema:
$ref: '#/definitions/PaymentFileStorageRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/PaymentFileStorageResponse'
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'
422:
description: Type | Code | Details |
error | businessValidationFailed | Business
validation error occured on one or more parameters |
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:
PaymentFileStorageRequest:
type: object
properties:
dataCenterLocation:
description: Customer data center location
type: string
example: "40"
authorizationIndicator:
description: Indicator to identify if the file needs a remote authorization
of the representative 2. It will happen in different moment
type: integer
format: int32
example: 1
legalRepresentativeId:
description: Representative of the Enterprise who receive the file
type: string
example: "99"
checkerLegalRepresentativeId:
description: Representative of the Enterprise who review the file and give
confirmation
type: string
example: "99"
totalTransactionCount:
description: Number of deposits to perform per file
type: integer
format: int32
example: 999999
totalDepositAmount:
description: Total Amount of deposits to perform per file
type: number
format: double
example: 10000000000000000.000000
layoutType:
description: Type of layout of the file to validate
type: string
example: A
customer:
$ref: '#/definitions/Customer'
account:
$ref: '#/definitions/Account'
payment:
$ref: '#/definitions/Payment'
required:
- dataCenterLocation
- authorizationIndicator
- legalRepresentativeId
- checkerLegalRepresentativeId
- totalTransactionCount
- totalDepositAmount
- layoutType
- payment
Payment:
type: object
properties:
paymentDate:
description: Date when payment will be completed
type: string
format: date
example: "2019-10-21"
fileSequenceNumber:
description: Customer file sequence number
type: integer
format: int32
example: 5
paymentType:
description: Payment type for file to be processed (Payrol, checkbook, etc)
type: string
example: "05"
paymentFile:
description: File layout content Base64 coded
type: string
example: MTAwMDA2NjQ3Mjk3OTEzMDIxOTAwODdlbXByZXNhZnVsYW5pdG9zICAgICAgICAgICAgICAgICAgICBub21pbmFmZWIyMDE5ICAgICAgIDA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwMA0KMjEwMDEwMDAwMDAwMDAwMDAwMTAwMDAwMTA2ODEwMDAwMDAwMDAwMDAwNzkwMjIzMyAgICAgICAgICAgICAgICAgICAgDQozMDAwMTAwMDAwMDAwMDAwMDAwMTAwMDAzMDAwMDUxNzcxMjQ1MjI5MzQ2OTgxMTExMTExMTExICAgICAgICAgICAgICAgICAgICAgICAgIC
required:
- paymentDate
- fileSequenceNumber
- paymentType
- paymentFile
PaymentFileStorageResponse:
type: object
properties:
transferReferenceNumber:
description: Unique reference number of the payment
type: string
example: "6412342"
required:
- transferReferenceNumber
Customer:
type: object
properties:
customerId:
description: CitiBanamex internal customer identifier
type: string
example: "668450123"
maxLength: 12
pattern: ^[0-9]*$
fullName:
description: Client name
type: string
example: Juan Perez
required:
- customerId
- fullName
Account:
type: object
properties:
productCode:
description: Unique code that identifies the product
type: string
example: "1234"
productInstrument:
description: This is the instrument number
type: string
example: "1234"
contractNumber:
description: contract number for client
type: string
example: "123456789012"
branchId:
description: Is the branch office for the account
type: string
example: "12"
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: More Info can be used to pass any additional details
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
...