---
swagger: "2.0"
info:
title: paym-pye-d-debit-transaction
description: 'This service is used to debit an amount from the checking account,
it will be use to apply a transaction, it is a transaction that is carried out
from different establishments such as: International ATM, Purchase POS, Inter
networks, RED and International ATM, Electronic Commerce and ATM Banamex.'
version: 1.0.2
x-ibm-name: paym-pye-d-debit-transaction
host: 127.0.0.1
schemes:
- https
basePath: /api
produces:
- application/json
paths:
/v1/payments/debits/transactions/execute:
post:
tags:
- execute-debit-transaction
operationId: execute-debit-transaction
summary: LOB:Credit & Risk; Feature:Debit-Card-Transaction; Functionality:Monetary-Transaction
description: This API is used to execute a debit transaction made by customer
throught a debit card, that is carried out from different establishments.
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: debitTransactionRequest
in: body
schema:
$ref: '#/definitions/DebitTransactionRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/DebitTransactionResponse'
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:
DebitTransactionRequest:
type: object
properties:
stationName:
description: Is the name of the station that holds the system session and
is part of the first section of the transaction message
type: string
example: Y0870A76
maxLength: 8
dataCenterLocation:
description: It is an identifier of the place where the User was created
type: string
example: "10"
minLength: 2
maxLength: 2
pattern: ^[0-9]*$
statementVersionNumber:
description: Version number of statement.
type: string
example: C
minLength: 1
maxLength: 1
sourceApplicationCode:
description: Source application where the request is generated and is registered
in the catalog of accepted applications.
type: string
example: "36"
minLength: 0
maxLength: 4
pattern: ^[0-9]*$
balanceTransferCreditRiskFlag:
description: Flag indicates whethwer any risk inloved offering Balance Transfer
offer.
type: boolean
example: true
specialInstructionFlag:
description: Flag to indicate if there is any special instructions associated
with account.
type: boolean
example: true
channelOrigin:
description: Refers to the Channel used by the user to perform a transaction.
type: string
example: "175175"
minLength: 6
maxLength: 6
pattern: ^[0-9]*$
authorizationId:
description: The unique identification number assigned to a transaction's
authentication by the payment gateway.
type: string
example: "12345678"
minLength: 1
maxLength: 8
pattern: ^[0-9]*$
cardNumber:
description: It is a 16 digit number, typically imprinted on the front of
the card.
type: string
example: "5555444433332222"
minLength: 16
maxLength: 16
pattern: ^[0-9]*$
transaction:
$ref: '#/definitions/Transaction'
account:
$ref: '#/definitions/Account'
required:
- stationName
- dataCenterLocation
- statementVersionNumber
- sourceApplicationCode
- balanceTransferCreditRiskFlag
- specialInstructionFlag
- cardNumber
- transaction
- account
Transaction:
type: object
properties:
transactionResponseReasonCode:
description: Code refers to the reason for the status of transaction's authorization.
CRS specific.
type: integer
format: int32
example: 30
minimum: 0
maximum: 99
transactionReferenceId:
description: This is a unique identifier assigned to each transaction made
using a credit or debit card.This is also referred as Transaction Reference
Number.
type: string
example: "000000000001"
minLength: 1
maxLength: 12
pattern: ^[0-9]*$
transactionTypeCode:
description: Code that identifies the type of transaction.
type: string
example: "2200"
minLength: 1
maxLength: 4
pattern: ^[0-9]*$
transactionAmount:
description: Refers to the total amount of the transaction.This includes all
the fee and charges.
type: number
format: double
example: 2500.500000
transactionDescription:
description: Refers to the detailed description of the transaction.
type: string
example: OXXO
maxLength: 40
transactionCurrencyId:
description: Identifier of the currency in which transaction was executed.
type: string
example: "1"
minLength: 1
maxLength: 1
pattern: ^[0-9]*$
transactionSubCode:
description: Refers to the code related to the transaction.
type: string
example: "1"
minLength: 1
maxLength: 1
pattern: ^[0-9]*$
transactionDate:
description: Refers to the system date when the actual transaction was executed
for an account.Date in ISO 8601, YYYY-MM-DD format
type: string
format: date
example: "2022-02-24"
transactionTimestamp:
description: Refers to the system date and time when the actual transaction
was executed for an account.
type: string
format: date-time
example: "2022-02-24T17:43:32Z"
transactionId:
description: Transaction ID refers to an identifier or code which uniquely
identifies a specific Transaction across Citi globally.
type: string
example: REF123
minLength: 0
maxLength: 23
foreignExchangeReferenceNumber:
description: Contains original currency code, amount in original currency,
dollar amount and space for any additional reference.
type: string
example: "9200000000598020000029308"
minLength: 0
maxLength: 35
localExchangeReferenceNumber:
description: Contains conversion rate from dollars to pesos, conversion rate
original currency to dollars and five free characters for additionals references.
type: string
example: "0000002117500000020651"
minLength: 0
maxLength: 35
transactionShortDescription:
description: Refers to the abbreviated or short description of transaction.
type: string
example: ATM EAS TRAN
minLength: 0
maxLength: 35
required:
- transactionResponseReasonCode
- transactionReferenceId
- transactionTypeCode
- transactionAmount
- transactionDescription
- transactionCurrencyId
- transactionSubCode
- transactionDate
- transactionTimestamp
Account:
type: object
properties:
branchId:
description: Unique identifier for the branch.
type: string
example: "9999"
minLength: 1
maxLength: 4
pattern: ^[0-9]*$
contractNumber:
description: contract number used to represent an account contract uniquely.
type: string
example: "123456789012"
minLength: 1
maxLength: 12
pattern: ^[0-9]*$
required:
- branchId
- contractNumber
DebitTransactionResponse:
properties:
transaction:
$ref: '#/definitions/TransactionDetail'
required:
- transaction
TransactionDetail:
type: object
properties:
productCode:
description: Product code associated with the order.
type: string
example: "66"
minLength: 0
maxLength: 2
transactionInstrumentType:
description: This attribute captures details of payment instrument. Valid
values -CHECKCARD_PLASTICCASH.
type: string
example: "8"
minLength: 0
maxLength: 1
transactionCurrencyId:
description: Identifier of the currency in which transaction was executed.
type: string
example: "1"
minLength: 1
maxLength: 1
pattern: ^[0-9]*$
authorizationId:
description: The unique identification number assigned to a transaction's
authentication by the payment gateway.
type: string
example: "12345678"
minLength: 1
maxLength: 8
pattern: ^[0-9]*$
transactionAmount:
description: Refers to the total amount of the transaction.This includes all
the fee and charges.
type: number
format: double
example: 2500.500000
commissionAmount:
description: Commission amount for the trade execution.
type: number
format: double
example: 50.500000
currentBalanceAmount:
description: Current balance amount of the account, which does not include
any pending deposits and withdrawals. This is also referred to as ledger
balance amount.
type: number
format: double
example: 3000.500000
availableBalanceAmount:
description: Available balance is calculated by taking the account balance
and subtracting credits and debits that have not yet cleared.
type: number
format: double
example: 449.500000
transactionDate:
description: Refers to the system date when the actual transaction was executed
for an account.Date in ISO 8601, YYYY-MM-DD format.
type: string
format: date
example: "2022-02-24"
transactionTimestamp:
description: Refers to the system date and time when the actual transaction
was executed for an account.
type: string
format: date-time
example: "2022-02-24T17:43:32Z"
accountingDate:
description: Date when the movement was applied.
type: string
format: date
example: "2022-02-24"
response:
$ref: '#/definitions/Response'
Response:
type: object
properties:
responseType:
description: Type of Response provoked by each Communication. Negative Response Neutral
Response No Response Positive Response.
type: string
example: "0"
minLength: 4
maxLength: 4
responseDescription:
description: Provides a textual explanation or free form comments about the
communication response.
type: string
example: Duplicate movement.
minLength: 0
maxLength: 50
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://sit.api.banamex.com/mx-gcgapi/sit/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://sit.api.banamex.com/mx-gcgapi/sit
description: Custom Gateway API Endpoint
type:
- production
- development
...