openapi: 3.0.1 info: title: Dual Auth Notification description: Dual Auth Notification API version: 1.0.0 servers: - url: https://developer.citi.com tags: - name: Notification description: Dual Auth Notification Request Payload paths: /api/notification: post: tags: - Notification parameters: - name: EASDualAuth-endpoint in: header description: >- Actual Client endpoint URL to which the request is to be routed to. This header should be not shared with the external endpoint. required: true schema: type: string requestBody: description: Notification Request Body content: application/json: schema: $ref: '#/components/schemas/notificationRequest' required: true responses: '200': description: Webhook Notification sent succesfully content: {} '204': description: Succesfull response NO content content: {} '500': description: Internal server error content: {} x-codegen-request-body-name: request-body components: schemas: notificationRequest: required: - AcquirerCountryCode - AcquirerInstitutionID - AuthIDCode - BillingAmount - CardAcceptorIDCode - CardAcceptorNameLocation - CardAcceptorTerminalID - CardExpiryDate - CurrencyCodeBilling - CurrencyCodeTransaction - LocalTransactionDate - LocalTransactionTime - MCCMerchantType - MessageTypeID - POSConditionCode - POSEntryMode - PrimaryAccountNumber - ProcessingCode - ResponseCode - RetrievalReferenceNumber - SystemTraceAuditNumber - TransactionAmount - TransmissionDateAndTime type: object properties: MessageTypeID: maxLength: 4 minLength: 4 type: string example: '0100' description: >- ISO Message Type Identifier - 0100 for Auths/0120 for Advices/0400 or 0420 for Reversals PrimaryAccountNumber: maxLength: 19 minLength: 19 type: string example: 5566801000000113 description: Primary Account Number - this contains the (Real) Card Number ProcessingCode: maxLength: 6 minLength: 6 type: string example: '000000' description: Processing Code TransactionAmount: maxLength: 13 minLength: 1 type: string example: '12.13' description: Transaction Amount BillingAmount: maxLength: 13 minLength: 1 type: string example: '12.13' description: Cardholder Billing Amount TransmissionDateAndTime: maxLength: 10 minLength: 10 type: string example: 123085542 description: Date and Time - MMDDHHMMSS format SystemTraceAuditNumber: maxLength: 6 minLength: 6 type: string example: 10825 description: >- Number assigned by the message initiator that uniquely identifies a cardholder transaction and all message types that comprise it LocalTransactionTime: maxLength: 6 minLength: 6 type: string example: '165542' description: Transaction Local Time HHMMSS LocalTransactionDate: maxLength: 4 minLength: 4 type: string example: '0123' description: Transaction Local Date - MMDD CardExpiryDate: maxLength: 4 minLength: 4 type: string example: '3002' description: Card Expiration Date - YYMM MCCMerchantType: maxLength: 4 minLength: 4 type: string example: '5311' description: Card acceptor business code / merchant category code [MCC] AcquirerCountryCode: maxLength: 3 minLength: 3 type: string example: '' description: >- Acquiring Institution Country Code is the code of the country where the acquiring institution is located POSEntryMode: maxLength: 4 minLength: 4 type: string example: '102' description: >- indicates the method used for PAN entry to initiate a transaction and the PIN entry capabilities POSConditionCode: maxLength: 2 minLength: 2 type: string example: '' description: >- (Visa only) Code identifying transaction conditions at the point-of-sale or point of service - for MC, refer to F61 fields below AcquirerInstitutionID: maxLength: 11 minLength: 6 type: string example: 18622 description: >- Identifies the acquiring institution (for example, merchant bank) or its agent RetrievalReferenceNumber: maxLength: 12 minLength: 12 type: string example: '502308010825' description: >- Reference number supplied by the system retaining the original source document of the transaction and assists in locating that source document or a copy thereof AuthIDCode: maxLength: 6 minLength: 6 type: string example: '202132' description: >- Authorization code provided by the issuer when a transaction is approved ResponseCode: maxLength: 2 minLength: 2 type: string example: '00' description: >- Code that defines the response to a request or the message disposition and acknowledgement that a transaction or a message was received CardAcceptorTerminalID: maxLength: 8 minLength: 8 type: string example: '00000001' description: >- Identifies a terminal at the card acceptor location of acquiring institutions or merchant POS systems CardAcceptorIDCode: maxLength: 15 minLength: 15 type: string example: '230198000200465' description: Merchant ID to uniquely identify the merchant in a transaction CardAcceptorNameLocation: maxLength: 40 minLength: 40 type: string example: aliexpress Singapore SGP description: >- Name and location of the card acceptor that defines the point of interaction in both local and interchange environments CurrencyCodeTransaction: maxLength: 3 minLength: 3 type: string example: '840' description: Local currency of the acquirer or source location of the transaction CurrencyCodeBilling: maxLength: 3 minLength: 3 type: string example: '840' description: Currency code used by the issuer to bill the cardholder's account VisaF44RespSrcReasonCode: maxLength: 1 minLength: 1 type: string example: '4' description: >- For Visa STIP advice, contains the response source/reason code that identifies the source of the field 39 response decision VisaF60TermEntCapab: maxLength: 1 minLength: 1 type: string example: '1' description: >- Code identifying the terminal's capability to electronically read account numbers and expiration dates from cards VisaF60ChipCondCode: maxLength: 1 minLength: 1 type: string example: '0' description: >- Code that provides information about fallback transactions, which are initiated from the magnetic-stripe of VSDC cards at VSDC terminals VisaF60SpclCondIndic: maxLength: 1 minLength: 1 type: string example: '2' description: Describes selected special conditions at the point-of-sale VisaF60ChipTxnIndic: maxLength: 1 minLength: 1 type: string example: '1' description: >- This code is set by full VSDC data acquirers if they receive a message from the terminal that indicates a chip-based transaction VisaF60MoToECIndic: maxLength: 2 minLength: 2 type: string example: '05' description: >- For mail order or telephone order transactions (field 25 = 08), it identifies the type of mail/telephone order. For e-commerce transactions (field 25 = 59), it identifies the level of security used in an e-commerce transaction over an open network (for example, the Internet) VisaF123VirtualCardNbr: maxLength: 19 minLength: 19 type: string example: 5566801000000113 description: Visa Virtual Card Number VisaF123WalletSPId: maxLength: 11 minLength: 11 type: string example: '43158104465' description: Token requestor ID / Wallet Service Provider ID VisaF126RecurTxnIndic: maxLength: 1 minLength: 1 type: string example: R description: >- Visa Recurring Transaction flag (value = R identifies a recurring transaction) MCF48VirtualCardNbr: maxLength: 19 minLength: 19 type: string example: 5566801000000113 description: Mastercard Virtual Card Number MCF48WalletSPId: maxLength: 11 minLength: 11 type: string example: '43158104465' description: Mastercard Token/Wallet Service Provider MCF60AdviceReasonCode: maxLength: 3 minLength: 3 type: string example: '100' description: >- For Mastercard STIP advice, this field indicates the general purpose of the advice message MCF61POSTermAtt: maxLength: 1 minLength: 1 type: string example: '1' description: >- (POS Terminal Attendance) indicates if the card acceptor is attending the terminal MCF61POSCHPresence: maxLength: 1 minLength: 1 type: string example: '2' description: >- (POS Cardholder Presence) indicates whether the cardholder is present at the point of service and explains the condition if the cardholder is not present. A value of '4' indicates a recurring transaction MCF61POSCdPresence: maxLength: 1 minLength: 1 type: string example: '1' description: >- (POS Card Presence) indicates if the card is present at the point of service MCF61POSTranStatus: maxLength: 1 minLength: 1 type: string example: '4' description: >- (POS Transaction Status) indicates the purpose or status of the request MCF61POSTranSec: maxLength: 1 minLength: 1 type: string example: '7' description: >- (POS Transaction Security) indicates the card acceptor’s confidence in the transaction security level MCF61POSChActTermLvl: maxLength: 1 minLength: 1 type: string example: '5' description: >- (Cardholder-Activated Terminal Level) indicates the type of cardholder activated terminal used by the cardholder to initiate the transaction MCF61POSCountryCode: maxLength: 3 minLength: 3 type: string example: '840' description: >- (POS Country Code) indicates the country of the POS location (not the acquirer location) using ISO-specified codes x-original-swagger-version: '2.0'