openapi: 3.2.0 info: description: Webhook event notifications for authorized and clearing transactions. version: 2.0.0 title: CommercialEventNotifications push Notifications API contact: name: GLOBAL Commercial Cards API Production support email: dl.icg.global.commercial.cards.digital.production.support@imcap.ap.ssmb.com tags: - name: Push Notifications description: Webhook push notification operations for authorized and clearing transactions paths: /push/notifications: post: summary: Webhooks notifications description: Webhooks notifications for authorized and clearing transactions pushed to clients from Citi operationId: pushNotification tags: - Push Notifications parameters: - name: networkType in: header description: The network in which the notification originated from .Possible values- Mastercard,Visa schema: type: string required: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Webhook' examples: Authorization Transaction Webhook: $ref: '#/components/examples/AuthorizationTransactionExample' Clearing Transaction Debit Adjustment Webhook: $ref: '#/components/examples/ClearingTransactionDebitAdjustmentExample' Clearing Transaction Force Post Webhook: $ref: '#/components/examples/ClearingTransactionForcePostExample' Clearing Transaction Refund Webhook: $ref: '#/components/examples/ClearingTransactionRefundExample' Clearing Transaction Credit Adjustment Webhook: $ref: '#/components/examples/ClearingTransactionCreditAdjustmentExample' Clearing Transaction Presentment Webhook: $ref: '#/components/examples/ClearingTransactionPresentmentExample' responses: '200': description: Event processed successfully content: application/json: schema: type: object '201': description: Event processed successfully content: application/json: schema: type: object components: schemas: BillingAmount: properties: billingCurrencyAmount: description: Specifies the value of the transaction amount which is converted to the cardholder's billling currency, excluding cardholder billing fees. type: string example: '123.45' maxLength: 12 billingCurrencyCode: description: Specifies the ISO currency code of accounts that was initially set up for billing the transactions type: string example: USD maxLength: 3 required: - billingCurrencyAmount - billingCurrencyCode AuthTransactionContent: properties: messageTypeIndicator: description: Message Type Identifier
Possible values:
"0100" - Authorization
"0110" - Authorization Request Response
"0120" - Authorization Advice
"0400" - Reversal (full or partial)
"0410" - Reversal response
"0420" - Reversal advice (full or partial))
"0430" - Reversal advice response (full or partial) type: string example: '0110' maxLength: 4 transactionId: description: Unique identifier of the transaction type: string example: '1234539320977930' maxLength: 50 transactionAmount: $ref: '#/components/schemas/TransactionAmount' billingAmount: $ref: '#/components/schemas/BillingAmount' authorizationResponseDetail: description: 'Authorization Status/Reason Description from Issuer
Max legnth - MC: 100

Mastercard

00 - Approved or completed successfully
01 - Refer to card issuer
03 - Invalid merchant Decline
04 - Capture card Capture
05 - Do not honor
06 - Error
08 - Honor with ID
10 - Partial Approval
12 - Invalid transaction
13 - Invalid amount
14 - Invalid card number
15 - Invalid issuer
17 - Customer cancellation
30 - Format error
32 - Partial reversal
34 - Suspect Fraud
41 - Lost card
43 - Stolen card
51 - Insufficient funds/over credit limit
54 - Expired card
55 - Invalid PIN
57 - Transaction not permitted to issuer/cardholder
58 - Transaction not permitted to acquirer/terminal
61 - Exceeds withdrawal amount limit
62 - Restricted card
63 - Security violation
65 - Exceeds withdrawal count limit
68 - Response received late
70 - Contact Card Issuer
71 - PIN Not Changed
75 - Allowable number of PIN tries exceeded
76 - Invalid/nonexistent To Account specified
77 - Invalid/nonexistent From Account specified
78 - Invalid/nonexistent account specified (general)
81 - Domestic Debit Transaction Not Allowed
82 - Timeout at issuer
84 - Invalid Authorization Life Cycle
85 - Not declined Valid for all zero amount transactions.
86 - PIN Validation not possible
87 - Purchase Amount Only, No Cash Back Allowed
88 - Cryptographic failure
89 - Unacceptable PIN Transaction Declined Retry
91 - Authorization System or issuer system inoperative
92 - Unable to route transaction
94 - Duplicate transmission detected
96 - System error' type: string maxLength: 100 authorizationCode: description: Transaction response ID assigned by the authorizing institution for Authorization transactions type: string example: '' maxLength: 50 transactionDate: description: 'Masercard: Convert UTC date to format YYYY-MM-DD (ISO-8601) and enrich the YYYY value based on the current year' type: string example: '2021-05-25' maxLength: 10 transactionTime: description: The time of the transaction that was initiated. hh:mm:ss (24 hours format) type: string example: hh:mm:ss maxLength: 8 transactionType: description: 'Specifies the nature of the transaction whether it was authorized or returned etc
Visa : 107 max length MC: 40 Max length' type: string example: '' maxLength: 107 preAuthorizationFlag: description: 'Pre Authorization flag
Possible values: ''Yes'' - When posTransactionStatus is 4 ''No'' - For all other values' type: string example: 'Yes' merchant: $ref: '#/components/schemas/Merchant' realCardDetails: $ref: '#/components/schemas/RealCardDetails' virtualCardDetails: $ref: '#/components/schemas/VirtualCardDetails' inControlOnBehalfServiceResult: $ref: '#/components/schemas/InControlOnBehalfServiceResult' originalMessage: $ref: '#/components/schemas/OriginalMessage' adviceReasonCode: description: Advice Reason Code indicates to the receiver of an Advice message the specific reason for the transmission of the Advice message type: string format: string maxLength: 50 replacementAmounts: $ref: '#/components/schemas/ReplacementAmounts' purchaseRequest: $ref: '#/components/schemas/PurchaseRequest' acquirerIdentifier: description: The identifier under which the acquirer has been categorised type: string example: '' maxLength: 50 required: - messageTypeIndicator - transactionId - transactionAmount - billingAmount - authorizationResponseDetail - authorizationCode - transactionDate - transactionTime - transactionType - merchant - inControlOnBehalfServiceResult - originalMessage ReplacementAmounts: properties: transactionCurrencyAmount: description: Replacement Amounts - corrected transaction amounts for a reversal. Values must be zero or not present for a full reversal, corrected amount for a partial reversal. Indicates the actual transaction amount.

12, Upto 4 decimal (depends on currency exponent) type: string format: string example: '100.00' maxLength: 12 settlementCurrencyAmount: description: Indicates the actual settlement amount in the settlement currency.

12, Upto 4 decimal (depends on currency exponent) type: string format: string example: '100.00' maxLength: 12 billingCurrencyAmount: description: The actual amount in the issuer currency.

12, Upto 4 decimal (depends on currency exponent) type: string format: string example: '100.00' maxLength: 12 FundingAccount: properties: accountNumber: description: Account number of the real card. The value is masked and only last four digits are visible type: string example: '************7890' maxLength: 19 required: - accountNumber Webhook: properties: notifications: description: List of Notification requests type: array items: $ref: '#/components/schemas/NotificationResponse' VirtualCardDetails: properties: virtualCardAccountNumber: description: 'The virtual card account number associated to the PAN that was used for the transaction
Mastercard: The virtual card account number is masked with only the last 4 digits

Max legnth - MC :19' type: string example: '************4586' maxLength: 19 required: - virtualCardAccountNumber ClearingTransactionContent: properties: clearingTransactionId: description: Unique identifier of the transaction type: string example: '1234539320977930' maxLength: 50 clearingType: description: Specifies the type of transaction whether it is Credit or Debit.If Mastercard returns 'C', then GRACE returns 'Credit'If Mastercard returns 'D', then GRACE returns 'Debit' type: string example: C maxLength: 6 acquirerReferenceData: description: Data an acquirer supplies in an acquirer-originated message to an issuer type: string example: '382299507007100000000' maxLength: 23 functionCode: description: Three-digit data element that indicates the specific purpose of a message in a message class.Uniquely identifies all transaction functions the clearing system performs. type: string example: '200' maxLength: 3 messageTypeIndicator: description: Four-digit numeric field describing the type of message being interchanged.
Possible values: type: string example: '1442' maxLength: 4 transactionType: description: Specifies the type of transaction
Possible Values