---
swagger: "2.0"
info:
title: SERV-PYI-D-CodiTransferReader
description: This microservice is used to decipher the QR code that was generated
by Codi server, to get the decrypted payment message details required for the
transaction.
version: 1.1.1
x-ibm-name: serv-pyi-d-coditransferreader
host: 127.0.0.1
schemes:
- https
basePath: /api
produces:
- application/json
paths:
/v1/servicing/payments/quick-response:
post:
tags:
- codi-transfer-reader
operationId: codi-transfer-reader
summary: To decipher the QR code that was generated by Codi server, to get the
decrypted payment message details required for the transaction.
description: This API is used to decipher the QR code that was generated by
Codi server, to get the decrypted payment message details required for the
transaction.
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: codiTransferReaderRequest
in: body
schema:
$ref: '#/definitions/CodiTransferReaderRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/CodiTransferReaderResponse'
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'
/v1/servicing/payments/service:
post:
tags:
- service-transfer-reader
operationId: service-transfer-reader
summary: To read encrypted payment messages from business like Amazon, CFE,
etc to decipher the details of the transaction
description: This API is used to read encrypted payment messages from business
like Amazon, CFE, etc to decipher the details of the transaction
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: serviceTransferReaderRequest
in: body
schema:
$ref: '#/definitions/ServiceTransferReaderRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/ServiceTransferReaderResponse'
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:
CodiTransferReaderRequest:
type: object
properties:
paymentMode:
description: Payment type, can be, face to face (19) or electronic (20,21,22)
type: integer
format: int32
example: 19
customerId:
description: Unique identifier for the customer
type: string
example: "123456789012"
uniqueCodiCcsId:
description: CoDi Citibanamex id composed of customer phonenumber and banxico
check code
type: string
example: "5512345678000"
maxLength: 13
checksumAlgorithm:
description: String validation of integrity from message. original checksum
computed by banxico to create the QR code
type: string
example: fF+AhYtdRzF8bzPrGBT+QcsRDyphWGllLoN8sIy3oM8
phone:
$ref: '#/definitions/Phone'
qrCodeDetails:
$ref: '#/definitions/QRCodeDetails'
required:
- paymentMode
- checksumAlgorithm
- phone
- qrCodeDetails
Phone:
type: object
properties:
deviceSerialNumber:
description: Hardware Id of the phone of the cutomer
type: string
example: "123124"
required:
- deviceSerialNumber
QRCodeDetails:
type: object
properties:
transactionReferenceId:
description: Unique id for transaction-Billing message identifier
type: string
example: 15f298452d
paymentId:
description: Unique payment number
type: integer
format: int32
example: 4
encryptedPaymentDescription:
description: Message payment encrypted-seller name, phone number and seller
clabe account
type: string
example: ZPtpG5XdUt01kggddOjq6nZhbk+dsTCA7nMRlexJvzy2s8V065DhvCHfbduNvHanI+13IMQ6/dDqKhrrqqHefKaWU5M0IQDV8oYuy40eZWePLTqVMkEbux2uvGw0r5/vqCvvwGfpfFYDz/kVTvM9zaGEFgerRAEkZhsvW3j9wfi02yPv5+gvvTpGuY4Tri7bKC56LAVyVTJtjFWA8gAyqj1QKKgJc6svvdyLXX0hoJWw1UQziablu3T32cs3EmOkh6FoJN/0kJiaUaMJiQntZKoUbc7bsSOcKRok6zyhdW7b0VpOfsmamLJcT1q1/egV4wFJY8wScR7ZPZOoAZjHz3rQ9SsMQQ8bZ9Yz+tiDvZcRZWrCg1Mw6AhESlBzkgdI
beneficiaryPhoneNumber:
description: Phone number of the vendor/beneficiary
type: string
example: "5546677128"
banxicoCheckCode:
description: Check digit assigned from Banxico. It is going to be concatenated
with the vendor phoneNumber to form one concatenated field like 5512345678/8
type: integer
format: int32
example: 8
required:
- transactionReferenceId
- paymentId
- encryptedPaymentDescription
- beneficiaryPhoneNumber
- banxicoCheckCode
CodiTransferReaderResponse:
type: object
properties:
transferReaderOperationId:
description: Operation ID from Transfer Reader
type: integer
format: int64
example: 1550776219942
transaction:
$ref: '#/definitions/Transaction'
beneficiary:
$ref: '#/definitions/Beneficiary'
required:
- transferReaderOperationId
- transaction
- beneficiary
Transaction:
type: object
properties:
transactionReferenceId:
description: Unique id of the transaction
type: string
example: 27c418443a315f298452d2
transactionNumericalReference:
description: numerical reference entered by the user serves to identify the
operation.
type: integer
format: int64
example: "25052019"
transactionDescription:
description: Transaction Description
type: string
example: Venta Menudeo
paymentMode:
description: Payment type, can be, face to face (19) or electronic (20,21,22)
type: integer
format: int32
example: 19
transactionAmount:
description: Transaction Amount
type: number
format: double
example: 5000
transactionDate:
description: Transaction date
type: string
format: date
example: "2019-07-01"
commissionChargedFrom:
description: Commission charge, seller or buyer
type: integer
format: int32
example: 1
required:
- transactionReferenceId
- transactionNumericalReference
- transactionDescription
- paymentMode
- transactionAmount
- transactionDate
- commissionChargedFrom
Beneficiary:
type: object
properties:
beneficiaryName:
description: Beneficiary Name
type: string
example: Juan Perez Garcia
accountNumber:
description: Beneficiary Account Number
type: string
example: "587212345678012"
bankCode:
description: Beneficiary bank Code
type: string
example: "40127"
accountType:
description: Beneficiary Account type
type: integer
format: int32
example: 0
banxicoCheckCode:
description: Check digit assigned from Banxico. It is going to be concatenated
with the vendor phoneNumber to form one concatenated field like 5512345678/8
type: string
example: "8"
phoneNumber:
description: Phone number of vendor/beneficiary
type: string
example: "5512345678"
required:
- beneficiaryName
- accountNumber
- bankCode
- accountType
- banxicoCheckCode
- phoneNumber
ServiceTransferReaderRequest:
type: object
properties:
uniqueCodiCcsId:
description: CoDi Citibanamex id composed of customer phonenumber and banxico
check code
type: string
example: "5512345678000"
maxLength: 13
customerId:
description: Citibanamex customer Id session
type: string
example: "11111111111"
maxLength: 12
messageName:
description: Notification title
type: string
example: Notificacion CoDi
messageText:
description: Text to describe the status of the operation
type: string
example: Samsung, a enviado un pago
payment:
$ref: '#/definitions/Payment'
required:
- messageName
- messageText
Payment:
type: object
properties:
banxicoSequenceNumber:
description: Numeric value assigned by BANXICO for tracking
type: integer
format: int32
example: 5
encryptedPaymentDescription:
description: Message payment encrypted-seller name, phone number and seller
clabe account
type: string
example: YzRmY2UwYTNlOWI0MmUxNzdjNDg3YjQxZTc4ZDU3MjExMTk1NGM3MTU5YThiYzdiZDkzMWJlMDQ0MWNhZDQ1ZmRhZTQ5NzY1ODk3NGQyZGMwMGMyOGQ0ODk4OTFkNTYyNWM3NDc1M2UxNjI5NzNmZmI1ZmYyMDk5ZjU2OTAwZDQxOWM3NDM0MTY0OTA2OTAxZmIzY2RjZDZiZDI0NzkzMmU1MDQwYTZjZjJkZWZkMmUwNDZhOTZiMWRkMmY2NWQyOGMxM2QwN2VlMDY0NmQ2NjI0ZDVmYzNjOTc2ZGNiNWVhMzc4ZWY2MTRiYzEwZDExZGNlM2U2NTg2ZjZiNGEzOTgxODhjYWFjYzQ4ODRkY2FlNWIyMjczZjA0ODhmZGFmYWE5ZjkyMDE0YjZjNTk3OGZhMDQ1MjY5ZWEyNDIxNDllYTAxYzc1NDczMzEwNjVhNDZjY2
paymentId:
description: Id of the payment message
type: string
example: 15f2cf4f5a815f2cf4f5ff
required:
- banxicoSequenceNumber
- encryptedPaymentDescription
- paymentId
ServiceTransferReaderResponse:
type: object
properties:
paymentDetail:
$ref: '#/definitions/PaymentDetail'
PaymentDetail:
type: object
properties:
accountAliasType:
description: Indicates the type of SPEI payment to be used in case it is an
inter-banking transfer, clabe, acct no, phone no
type: integer
format: int32
example: 40
commisionChargedFrom:
description: Commission charge, seller or buyer
type: integer
format: int32
example: 1
paymentAmount:
description: Payment Amount
type: number
format: double
example: 1000
paymentDate:
description: Date and hour of the payment date in milliseconds
type: string
format: dateTime
example: "2019-03-15T03:00:24.000Z"
paymentDescription:
description: Concept
type: string
example: Pago de luz
paymentDueDate:
description: Date and hour of the payment due date in miliseconds
type: string
format: dateTime
example: "2019-03-15T03:00:24.000Z"
paymentId:
description: Id of the payment message
type: string
example: 15f2cf4f5a815f2cf4f5ff
banxicoTrackingNumber:
description: Identificator assigned by the bussiness for its own use for tracking
from vendor side. Id that has been set from Banxico to Citibanamex in order
to perform any kind of interbanking operation.
type: string
example: CFE01
payee:
$ref: '#/definitions/Payee'
settlementPayee:
$ref: '#/definitions/SettlementPayee'
required:
- accountAliasType
- commisionChargedFrom
- paymentAmount
- paymentDate
- paymentDescription
- paymentDueDate
- paymentId
- paymentTrackingNumber
Payee:
type: object
properties:
accountNumber:
description: Beneficiary account
type: string
example: "1508287796957"
accountType:
description: Beneficiary type of account
type: integer
format: int32
example: 10
bankCode:
description: Institution SPEI code
type: integer
format: int32
example: 40002
banxicoCheckCode:
description: Check digit assigned from Banxico. It is going to be concatenated
with the vendor phoneNumber to form one concatenated field like 5512345678/8
type: integer
format: int32
example: 8
certificateSerialNumber:
description: Certificate serial number of the bussiness or service providers
for digital signature
type: string
example: "100000100012375"
payeeName:
description: Beneficiary name
type: string
example: Fabiola Gaona
required:
- accountNumber
- accountType
- bankName
- banxicoCheckCode
- certificateSerialNumber
- payeeName
SettlementPayee:
type: object
properties:
accountNumber:
description: Beneficiary account number
type: string
example: "587212345678012"
accountType:
description: Beneficiary account type
type: integer
format: int32
example: 0
beneficiaryName:
description: Beneficiary name
type: string
example: Juan Perez Garcia
required:
- accountNumber
- accountType
- beneficiaryName
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
ClientID:
type: apiKey
description: ""
in: header
name: X-IBM-Client-Id
security:
- OAuth2 Application Flow:
- /api/v1
ClientID: []
x-ibm-endpoints:
- endpointUrl: https://sandbox.externalapib2b.wlb.nam.nsroot.net:7101/mx-gcgapi-uat/sandbox2
type:
- production
- development
...