openapi: 3.0.0 info: description: Webhook event notifications for authorized and clearing transactions. version: 2.0.0 title: CommercialEventNotifications 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: Webhook: properties: notifications: description: List of Notification requests type: array items: $ref: '#/components/schemas/NotificationResponse' NotificationResponse: properties: eventType: description: >- The event type for which the client wants the notifications
Possible Values: type: string example: PAYMENT_AUTHORIZATION maxLength: 100 subscriptionName: description: The subscription that created the notification. type: string maxLength: 50 minLength: 1 transactionContent: $ref: '#/components/schemas/TransactionContent' TransactionContent: type: object oneOf: - $ref: '#/components/schemas/ClearingTransactionContent' - $ref: '#/components/schemas/AuthTransactionContent' 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 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