asyncapi: 3.0.0
info:
  title: Ingo Payments — Notify Classic Webhooks
  version: 1.0.0
  description: >-
    Ingo delivers webhook events to your registered HTTPS endpoint via HTTP POST
    for Notify v3 (Classic) single-party staged disbursements. Return any 2xx
    status to acknowledge receipt. Non-2xx responses are retried every 60
    minutes for up to 24 hours.
  contact:
    name: Ingo Payments Integrations
    url: https://developers.ingopayments.com
defaultContentType: application/json
servers:
  webhook:
    host: your-webhook-endpoint.example.com
    protocol: https
    description: >-
      Ingo delivers Notify — Classic webhook events via HTTP POST to your
      registered HTTPS endpoint.
channels:
  TransactionRecipientNotificationStatusSent:
    address: transaction.recipient.notification.status.sent
    title: Notification Sent
    tags:
      - name: Webhooks
    description: >-
      Fired when Ingo successfully delivers a disbursement notification to the
      recipient.
    messages:
      TransactionRecipientNotificationStatusSentMessage:
        $ref: >-
          #/components/messages/TransactionRecipientNotificationStatusSentMessage
  TransactionRecipientNotificationStatusReceived:
    address: transaction.recipient.notification.status.received
    title: Notification Received
    tags:
      - name: Webhooks
    description: Fired when the recipient opens the notification.
    messages:
      TransactionRecipientNotificationStatusReceivedMessage:
        $ref: >-
          #/components/messages/TransactionRecipientNotificationStatusReceivedMessage
  TransactionRecipientNotificationStatusBounced:
    address: transaction.recipient.notification.status.bounced
    title: Notification Bounced
    tags:
      - name: Webhooks
    description: >-
      Fired when the notification delivery fails (email bounced or SMS
      undeliverable).
    messages:
      TransactionRecipientNotificationStatusBouncedMessage:
        $ref: >-
          #/components/messages/TransactionRecipientNotificationStatusBouncedMessage
  TransactionRecipientAuthenticationStatusSuccess:
    address: transaction.recipient.authentication.status.success
    title: Authentication Success
    tags:
      - name: Webhooks
    description: >-
      Fired when the recipient successfully completes the authentication
      challenge.
    messages:
      TransactionRecipientAuthenticationStatusSuccessMessage:
        $ref: >-
          #/components/messages/TransactionRecipientAuthenticationStatusSuccessMessage
  TransactionRecipientAuthenticationStatusFailure:
    address: transaction.recipient.authentication.status.failure
    title: Authentication Failure
    tags:
      - name: Webhooks
    description: Fired when the recipient fails the authentication challenge.
    messages:
      TransactionRecipientAuthenticationStatusFailureMessage:
        $ref: >-
          #/components/messages/TransactionRecipientAuthenticationStatusFailureMessage
  TransactionRecipientVerificationRvdmSuccess:
    address: transaction.recipient.verification.rvdm.success
    title: RVDM Verification Success
    tags:
      - name: Webhooks
    description: >-
      Fired when Recipient Verification Data Matching (RVDM) completes
      successfully.
    messages:
      TransactionRecipientVerificationRvdmSuccessMessage:
        $ref: >-
          #/components/messages/TransactionRecipientVerificationRvdmSuccessMessage
  TransactionRecipientVerificationRvdmFailure:
    address: transaction.recipient.verification.rvdm.failure
    title: RVDM Verification Failure
    tags:
      - name: Webhooks
    description: Fired when RVDM verification fails for the recipient.
    messages:
      TransactionRecipientVerificationRvdmFailureMessage:
        $ref: >-
          #/components/messages/TransactionRecipientVerificationRvdmFailureMessage
  TransactionRecipientVerificationOfacStatusSuspended:
    address: transaction.recipient.verification.ofac.status.suspended
    title: OFAC Suspended
    tags:
      - name: Webhooks
    description: >-
      Fired when an initial OFAC hit causes the payment to be suspended pending
      review.
    messages:
      TransactionRecipientVerificationOfacStatusSuspendedMessage:
        $ref: >-
          #/components/messages/TransactionRecipientVerificationOfacStatusSuspendedMessage
  TransactionRecipientVerificationOfacStatusCleared:
    address: transaction.recipient.verification.ofac.status.cleared
    title: OFAC Cleared
    tags:
      - name: Webhooks
    description: >-
      Fired when an OFAC suspension is resolved and the payment is cleared to
      proceed.
    messages:
      TransactionRecipientVerificationOfacStatusClearedMessage:
        $ref: >-
          #/components/messages/TransactionRecipientVerificationOfacStatusClearedMessage
  TransactionRecipientVerificationOfacStatusFailure:
    address: transaction.recipient.verification.ofac.status.failure
    title: OFAC Failure
    tags:
      - name: Webhooks
    description: Fired when an OFAC hit is confirmed and the transaction is terminated.
    messages:
      TransactionRecipientVerificationOfacStatusFailureMessage:
        $ref: >-
          #/components/messages/TransactionRecipientVerificationOfacStatusFailureMessage
  TransactionAccountVerificationCardFailureCnsCd:
    address: transaction.account.verification.card.failure.cns_cd
    title: Card CNS/CD Verification Failure
    tags:
      - name: Webhooks
    description: Fired when card number screening or card data verification fails.
    messages:
      TransactionAccountVerificationCardFailureCnsCdMessage:
        $ref: >-
          #/components/messages/TransactionAccountVerificationCardFailureCnsCdMessage
  TransactionAccountVerificationCardFailureAvsCvv:
    address: transaction.account.verification.card.failure.avs_cvv
    title: Card AVS/CVV Verification Failure
    tags:
      - name: Webhooks
    description: Fired when AVS or CVV verification fails for a card account.
    messages:
      TransactionAccountVerificationCardFailureAvsCvvMessage:
        $ref: >-
          #/components/messages/TransactionAccountVerificationCardFailureAvsCvvMessage
  TransactionAccountVerificationAchFailureRnv:
    address: transaction.account.verification.ach.failure.rnv
    title: ACH Routing Number Verification Failure
    tags:
      - name: Webhooks
    description: Fired when ACH routing number verification (RNV) fails.
    messages:
      TransactionAccountVerificationAchFailureRnvMessage:
        $ref: >-
          #/components/messages/TransactionAccountVerificationAchFailureRnvMessage
  TransactionAccountVerificationAchFailureAnv:
    address: transaction.account.verification.ach.failure.anv
    title: ACH Account Number Verification Failure
    tags:
      - name: Webhooks
    description: Fired when ACH account number verification (ANV) fails.
    messages:
      TransactionAccountVerificationAchFailureAnvMessage:
        $ref: >-
          #/components/messages/TransactionAccountVerificationAchFailureAnvMessage
  TransactionAccountVerificationAchFailureNav:
    address: transaction.account.verification.ach.failure.nav
    title: ACH Name/Address Verification Failure
    tags:
      - name: Webhooks
    description: Fired when ACH name and address verification (NAV) fails.
    messages:
      TransactionAccountVerificationAchFailureNavMessage:
        $ref: >-
          #/components/messages/TransactionAccountVerificationAchFailureNavMessage
  TransactionAccountVerificationPaypalSuccessAv:
    address: transaction.account.verification.paypal.success.av
    title: PayPal Account Verification Success
    tags:
      - name: Webhooks
    description: Fired when PayPal account verification completes successfully.
    messages:
      TransactionAccountVerificationPaypalSuccessAvMessage:
        $ref: >-
          #/components/messages/TransactionAccountVerificationPaypalSuccessAvMessage
  TransactionAccountVerificationPaypalFailureAv:
    address: transaction.account.verification.paypal.failure.av
    title: PayPal Account Verification Failure
    tags:
      - name: Webhooks
    description: Fired when PayPal account verification fails.
    messages:
      TransactionAccountVerificationPaypalFailureAvMessage:
        $ref: >-
          #/components/messages/TransactionAccountVerificationPaypalFailureAvMessage
  TransactionAccountTokenizationSuccess:
    address: transaction.account.tokenization.success
    title: Account Tokenization Success
    tags:
      - name: Webhooks
    description: >-
      Fired when a recipient account is successfully tokenized. Documents the
      latest contract version (v4); earlier versions may omit account_id.
    messages:
      TransactionAccountTokenizationSuccessMessage:
        $ref: '#/components/messages/TransactionAccountTokenizationSuccessMessage'
  TransactionRecipientPaymentDisbursementRequestExpired:
    address: transaction.recipient.payment.disbursement.request.expired
    title: Disbursement Request Expired
    tags:
      - name: Webhooks
    description: >-
      Fired when a staged disbursement request expires before the recipient
      completes the process.
    messages:
      TransactionRecipientPaymentDisbursementRequestExpiredMessage:
        $ref: >-
          #/components/messages/TransactionRecipientPaymentDisbursementRequestExpiredMessage
  TransactionRecipientPaymentDisbursementRequestCanceled:
    address: transaction.recipient.payment.disbursement.request.canceled
    title: Disbursement Request Canceled
    tags:
      - name: Webhooks
    description: Fired when a staged disbursement request is canceled.
    messages:
      TransactionRecipientPaymentDisbursementRequestCanceledMessage:
        $ref: >-
          #/components/messages/TransactionRecipientPaymentDisbursementRequestCanceledMessage
  TransactionRecipientPaymentStatusFailure:
    address: transaction.recipient.payment.status.failure
    title: Payment Failed
    tags:
      - name: Webhooks
    description: Fired when a payment disbursement fails.
    messages:
      TransactionRecipientPaymentStatusFailureMessage:
        $ref: '#/components/messages/TransactionRecipientPaymentStatusFailureMessage'
  TransactionRecipientPaymentStatusCheck:
    address: transaction.recipient.payment.status.check
    title: Check In Process
    tags:
      - name: Webhooks
    description: Fired when a check payment enters processing.
    messages:
      TransactionRecipientPaymentStatusCheckMessage:
        $ref: '#/components/messages/TransactionRecipientPaymentStatusCheckMessage'
  TransactionRecipientPaymentStatusCheckIssued:
    address: transaction.recipient.payment.status.check.issued
    title: Check Issued
    tags:
      - name: Webhooks
    description: Fired when Ingo issues a check for the payment.
    messages:
      TransactionRecipientPaymentStatusCheckIssuedMessage:
        $ref: >-
          #/components/messages/TransactionRecipientPaymentStatusCheckIssuedMessage
  TransactionRecipientPaymentStatusCheckPaid:
    address: transaction.recipient.payment.status.check.paid
    title: Check Paid
    tags:
      - name: Webhooks
    description: Fired when an issued check is cashed/paid.
    messages:
      TransactionRecipientPaymentStatusCheckPaidMessage:
        $ref: >-
          #/components/messages/TransactionRecipientPaymentStatusCheckPaidMessage
  TransactionRecipientPaymentStatusCheckCanceled:
    address: transaction.recipient.payment.status.check.canceled
    title: Check Canceled
    tags:
      - name: Webhooks
    description: Fired when an issued check is canceled.
    messages:
      TransactionRecipientPaymentStatusCheckCanceledMessage:
        $ref: >-
          #/components/messages/TransactionRecipientPaymentStatusCheckCanceledMessage
  TransactionRecipientPaymentStatusCheckStopped:
    address: transaction.recipient.payment.status.check.stopped
    title: Check Stopped
    tags:
      - name: Webhooks
    description: Fired when a stop payment is placed on an issued check.
    messages:
      TransactionRecipientPaymentStatusCheckStoppedMessage:
        $ref: >-
          #/components/messages/TransactionRecipientPaymentStatusCheckStoppedMessage
  TransactionRecipientPaymentStatusCheckReturned:
    address: transaction.recipient.payment.status.check.returned
    title: Check Returned
    tags:
      - name: Webhooks
    description: Fired when an issued check is returned.
    messages:
      TransactionRecipientPaymentStatusCheckReturnedMessage:
        $ref: >-
          #/components/messages/TransactionRecipientPaymentStatusCheckReturnedMessage
  TransactionRecipientPaymentStatusSuccess:
    address: transaction.recipient.payment.status.success
    title: Payment Successful
    tags:
      - name: Webhooks
    description: >-
      Fired when a payment disbursement completes successfully. Documents the
      latest contract version (v3); earlier versions may omit account_id.
    messages:
      TransactionRecipientPaymentStatusSuccessMessage:
        $ref: '#/components/messages/TransactionRecipientPaymentStatusSuccessMessage'
  TransactionRecipientPaymentStatusTerminated:
    address: transaction.recipient.payment.status.terminated
    title: Payment Terminated
    tags:
      - name: Webhooks
    description: Fired when a payment is terminated (terminal event).
    messages:
      TransactionRecipientPaymentStatusTerminatedMessage:
        $ref: >-
          #/components/messages/TransactionRecipientPaymentStatusTerminatedMessage
  TransactionRecipientPaymentStatusReturned:
    address: transaction.recipient.payment.status.returned
    title: Payment Returned
    tags:
      - name: Webhooks
    description: Fired when a non-check payment is returned by the issuer.
    messages:
      TransactionRecipientPaymentStatusReturnedMessage:
        $ref: '#/components/messages/TransactionRecipientPaymentStatusReturnedMessage'
operations:
  receiveTransactionRecipientNotificationStatusSent:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientNotificationStatusSent'
    summary: Notification Sent
    tags:
      - name: Recipient Notification Events
  receiveTransactionRecipientNotificationStatusReceived:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientNotificationStatusReceived'
    summary: Notification Received
    tags:
      - name: Recipient Notification Events
  receiveTransactionRecipientNotificationStatusBounced:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientNotificationStatusBounced'
    summary: Notification Bounced
    tags:
      - name: Recipient Notification Events
  receiveTransactionRecipientAuthenticationStatusSuccess:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientAuthenticationStatusSuccess'
    summary: Authentication Success
    tags:
      - name: Recipient Authentication Events
  receiveTransactionRecipientAuthenticationStatusFailure:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientAuthenticationStatusFailure'
    summary: Authentication Failure
    tags:
      - name: Recipient Authentication Events
  receiveTransactionRecipientVerificationRvdmSuccess:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientVerificationRvdmSuccess'
    summary: RVDM Verification Success
    tags:
      - name: Recipient Verification Events
  receiveTransactionRecipientVerificationRvdmFailure:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientVerificationRvdmFailure'
    summary: RVDM Verification Failure
    tags:
      - name: Recipient Verification Events
  receiveTransactionRecipientVerificationOfacStatusSuspended:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientVerificationOfacStatusSuspended'
    summary: OFAC Suspended
    tags:
      - name: OFAC Verification Events
  receiveTransactionRecipientVerificationOfacStatusCleared:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientVerificationOfacStatusCleared'
    summary: OFAC Cleared
    tags:
      - name: OFAC Verification Events
  receiveTransactionRecipientVerificationOfacStatusFailure:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientVerificationOfacStatusFailure'
    summary: OFAC Failure
    tags:
      - name: OFAC Verification Events
  receiveTransactionAccountVerificationCardFailureCnsCd:
    action: receive
    channel:
      $ref: '#/channels/TransactionAccountVerificationCardFailureCnsCd'
    summary: Card CNS/CD Verification Failure
    tags:
      - name: Account Verification Events
  receiveTransactionAccountVerificationCardFailureAvsCvv:
    action: receive
    channel:
      $ref: '#/channels/TransactionAccountVerificationCardFailureAvsCvv'
    summary: Card AVS/CVV Verification Failure
    tags:
      - name: Account Verification Events
  receiveTransactionAccountVerificationAchFailureRnv:
    action: receive
    channel:
      $ref: '#/channels/TransactionAccountVerificationAchFailureRnv'
    summary: ACH Routing Number Verification Failure
    tags:
      - name: Account Verification Events
  receiveTransactionAccountVerificationAchFailureAnv:
    action: receive
    channel:
      $ref: '#/channels/TransactionAccountVerificationAchFailureAnv'
    summary: ACH Account Number Verification Failure
    tags:
      - name: Account Verification Events
  receiveTransactionAccountVerificationAchFailureNav:
    action: receive
    channel:
      $ref: '#/channels/TransactionAccountVerificationAchFailureNav'
    summary: ACH Name/Address Verification Failure
    tags:
      - name: Account Verification Events
  receiveTransactionAccountVerificationPaypalSuccessAv:
    action: receive
    channel:
      $ref: '#/channels/TransactionAccountVerificationPaypalSuccessAv'
    summary: PayPal Account Verification Success
    tags:
      - name: Account Verification Events
  receiveTransactionAccountVerificationPaypalFailureAv:
    action: receive
    channel:
      $ref: '#/channels/TransactionAccountVerificationPaypalFailureAv'
    summary: PayPal Account Verification Failure
    tags:
      - name: Account Verification Events
  receiveTransactionAccountTokenizationSuccess:
    action: receive
    channel:
      $ref: '#/channels/TransactionAccountTokenizationSuccess'
    summary: Account Tokenization Success
    tags:
      - name: Account Tokenization Events
  receiveTransactionRecipientPaymentDisbursementRequestExpired:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentDisbursementRequestExpired'
    summary: Disbursement Request Expired
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentDisbursementRequestCanceled:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentDisbursementRequestCanceled'
    summary: Disbursement Request Canceled
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusFailure:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusFailure'
    summary: Payment Failed
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusCheck:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusCheck'
    summary: Check In Process
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusCheckIssued:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusCheckIssued'
    summary: Check Issued
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusCheckPaid:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusCheckPaid'
    summary: Check Paid
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusCheckCanceled:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusCheckCanceled'
    summary: Check Canceled
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusCheckStopped:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusCheckStopped'
    summary: Check Stopped
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusCheckReturned:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusCheckReturned'
    summary: Check Returned
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusSuccess:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusSuccess'
    summary: Payment Successful
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusTerminated:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusTerminated'
    summary: Payment Terminated
    tags:
      - name: Payment Events
  receiveTransactionRecipientPaymentStatusReturned:
    action: receive
    channel:
      $ref: '#/channels/TransactionRecipientPaymentStatusReturned'
    summary: Payment Returned
    tags:
      - name: Payment Events
components:
  messages:
    TransactionRecipientNotificationStatusSentMessage:
      name: TransactionRecipientNotificationStatusSentMessage
      title: Notification Sent
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Notification Sent
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                client_message: 'IIP-002-EMAIL: PAYMENT NOTIFICATION REMINDER'
                status: '1202'
            metadata:
              version: '1'
              topic_description: This event reports a recipient notification as being sent
              timestamp: 1752066268
              topic: transaction.recipient.notification.status.sent
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientNotificationStatusReceivedMessage:
      name: TransactionRecipientNotificationStatusReceivedMessage
      title: Notification Received
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Notification Received
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                client_message: 'IIP-002-EMAIL: PAYMENT NOTIFICATION REMINDER'
                status: '1202'
            metadata:
              version: '1'
              topic_description: This event reports a recipient notification as being received
              timestamp: 1752066974
              topic: transaction.recipient.notification.status.received
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientNotificationStatusBouncedMessage:
      name: TransactionRecipientNotificationStatusBouncedMessage
      title: Notification Bounced
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Notification Bounced
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                client_message: 'IIP-003-EMAIL: NOTIFICATION TIMEOUT'
                status: '1204'
            metadata:
              version: '1'
              topic_description: This event reports a recipient notification as being bounced
              timestamp: 1752066064
              topic: transaction.recipient.notification.status.bounced
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientAuthenticationStatusSuccessMessage:
      name: TransactionRecipientAuthenticationStatusSuccessMessage
      title: Authentication Success
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventAuthenticationResult'
      examples:
        - name: Authentication Success
          payload:
            metadata:
              version: '1'
              topic_description: >-
                This event reports a successful (Success or soft failure)
                recipient authentication to the Payment Claim Center.
              timestamp: 1746461962
              topic: transaction.recipient.authentication.status.success
              id: prod1-123456-abcd-1234-ab12-c123d456e789
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                has_passed: true
                status: '1131'
                attempt_count: 0
                field_results: []
                client_message: Recipient Authentication SSO Success
                was_skipped: false
                max_attempts: 3
    TransactionRecipientAuthenticationStatusFailureMessage:
      name: TransactionRecipientAuthenticationStatusFailureMessage
      title: Authentication Failure
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventAuthenticationResult'
      examples:
        - name: Authentication Failure
          payload:
            metadata:
              version: '1'
              topic_description: >-
                This event reports a failure in recipient authentication to the
                Payment Claim Center.
              timestamp: 1746461608
              topic: transaction.recipient.authentication.status.failure
              id: prod1-123456-abcd-1234-ab12-c123d456e789
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                has_passed: false
                status: '1102'
                attempt_count: 3
                field_results:
                  - hard_fail_on_mismatch: false
                    field_label: First Name
                    is_matching: true
                  - hard_fail_on_mismatch: true
                    field_label: Last Name
                    is_matching: true
                  - hard_fail_on_mismatch: true
                    field_label: Last 4 Digits of Your Social Security Number
                    is_matching: true
                  - hard_fail_on_mismatch: true
                    field_label: Date of Birth - MM/DD/YYYY
                    is_matching: true
                  - hard_fail_on_mismatch: true
                    field_label: Month Incident Occurred - eg January
                    is_matching: false
                  - hard_fail_on_mismatch: true
                    field_label: Last 3 Digits of ClaimNumber
                    is_matching: true
                client_message: Recipient Authentication Failure
                was_skipped: false
                max_attempts: 3
    TransactionRecipientVerificationRvdmSuccessMessage:
      name: TransactionRecipientVerificationRvdmSuccessMessage
      title: RVDM Verification Success
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventRvdmResult'
      examples:
        - name: RVDM Verification Success
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                has_passed: true
                status: '1103'
                attempt_count: 0
                max_attempts: 3
                field_results:
                  - was_evaluated: false
                    client_provided_value: Alex
                    is_matching: false
                    field_name: FirstName
                    hard_fail_on_mismatch: false
                    is_enabled: false
                    customer_provided_value: Alex
                  - was_evaluated: true
                    client_provided_value: Rivera
                    is_matching: true
                    field_name: LastName
                    hard_fail_on_mismatch: true
                    is_enabled: true
                    customer_provided_value: Rivera
                  - was_evaluated: true
                    client_provided_value: 100 Innovation Way
                    is_matching: true
                    field_name: AddressLine1
                    hard_fail_on_mismatch: false
                    is_enabled: true
                    customer_provided_value: 100 Innovation Way
                  - was_evaluated: true
                    client_provided_value: Anytown
                    is_matching: true
                    field_name: City
                    hard_fail_on_mismatch: false
                    is_enabled: true
                    customer_provided_value: Anytown
                  - was_evaluated: true
                    client_provided_value: GA
                    is_matching: true
                    field_name: State
                    hard_fail_on_mismatch: false
                    is_enabled: true
                    customer_provided_value: GA
                  - was_evaluated: true
                    client_provided_value: '30092'
                    is_matching: true
                    field_name: ZipCode
                    hard_fail_on_mismatch: true
                    is_enabled: true
                    customer_provided_value: '30092'
                  - was_evaluated: false
                    client_provided_value: ''
                    is_matching: false
                    field_name: BusinessName
                    hard_fail_on_mismatch: false
                    is_enabled: false
                    customer_provided_value: ''
                was_skipped: false
                client_message: Recipient Verification Data Matching Success
            metadata:
              version: '1'
              topic_description: >-
                This event reports a successful (Success or soft
                failure)recipient verification data matching in the Payment
                Claim Center.
              timestamp: 1752172438
              topic: transaction.recipient.verification.rvdm.success
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientVerificationRvdmFailureMessage:
      name: TransactionRecipientVerificationRvdmFailureMessage
      title: RVDM Verification Failure
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventRvdmResult'
      examples:
        - name: RVDM Verification Failure
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                has_passed: false
                status: '1105'
                attempt_count: 1
                max_attempts: 3
                field_results:
                  - was_evaluated: true
                    client_provided_value: Alex
                    is_matching: true
                    field_name: FirstName
                    hard_fail_on_mismatch: false
                    is_enabled: true
                    customer_provided_value: Jordan
                  - was_evaluated: true
                    client_provided_value: Rivera
                    is_matching: true
                    field_name: LastName
                    hard_fail_on_mismatch: true
                    is_enabled: true
                    customer_provided_value: Martinez
                  - was_evaluated: true
                    client_provided_value: 100 Innovation Way
                    is_matching: false
                    field_name: AddressLine1
                    hard_fail_on_mismatch: false
                    is_enabled: true
                    customer_provided_value: 200 Different Blvd
                  - was_evaluated: true
                    client_provided_value: Anytown
                    is_matching: false
                    field_name: City
                    hard_fail_on_mismatch: false
                    is_enabled: true
                    customer_provided_value: Othertown
                  - was_evaluated: true
                    client_provided_value: GA
                    is_matching: true
                    field_name: State
                    hard_fail_on_mismatch: false
                    is_enabled: true
                    customer_provided_value: TX
                  - was_evaluated: true
                    client_provided_value: '30092'
                    is_matching: false
                    field_name: ZipCode
                    hard_fail_on_mismatch: true
                    is_enabled: true
                    customer_provided_value: '75231'
                  - was_evaluated: false
                    client_provided_value: ''
                    is_matching: false
                    field_name: BusinessName
                    hard_fail_on_mismatch: false
                    is_enabled: false
                    customer_provided_value: ''
                was_skipped: false
                client_message: Recipient Verification Data Matching failure
            metadata:
              version: '1'
              topic_description: >-
                This event reports a failure in recipient verification data
                matching in the Payment Claim Center.
              timestamp: 1752165856
              topic: transaction.recipient.verification.rvdm.failure
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientVerificationOfacStatusSuspendedMessage:
      name: TransactionRecipientVerificationOfacStatusSuspendedMessage
      title: OFAC Suspended
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: OFAC Suspended
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                client_message: Success - OFAC suspended
                status: '1106'
            metadata:
              version: '1'
              topic_description: >-
                This event reports an initial hit in OFAC screening resulting in
                a suspension of payment processing while the OFAC hit is
                verified.
              timestamp: 1752164763
              topic: transaction.recipient.verification.ofac.status.suspended
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientVerificationOfacStatusClearedMessage:
      name: TransactionRecipientVerificationOfacStatusClearedMessage
      title: OFAC Cleared
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: OFAC Cleared
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: ''
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                client_message: Recipient Verification OFAC Cleared
                status: '1107'
            metadata:
              version: '1'
              topic_description: >-
                This event reports the clearing of a transaction that was
                suspended due to an intial OFAC hit. Transaction processing will
                now resume.
              timestamp: 1752165267
              topic: transaction.recipient.verification.ofac.status.cleared
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientVerificationOfacStatusFailureMessage:
      name: TransactionRecipientVerificationOfacStatusFailureMessage
      title: OFAC Failure
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: OFAC Failure
          payload:
            metadata:
              topic_description: >-
                This event reports the the confirmation of an initial hit in
                OFAC screening. The transaction will now be terminated.
              version: '1'
              timestamp: 1773161107
              topic: transaction.recipient.verification.ofac.status.failure
              id: mock03102026-1d6d1280-bb9c-4a83-aa26-db9eefee139b
            data:
              ancillary:
                participant_unique_id2: participant_id21773161107
                session_id: 00000000-0000-0000-0000-000000000001
                participant_unique_id1: participant_id11773161107
                notification_id: '1000001'
              event:
                client_message: Webhook Mock Event created on 03/10/26 11:45:07
                attempt_count: 1
                max_attempts: 1
                status: 93
    TransactionAccountVerificationCardFailureCnsCdMessage:
      name: TransactionAccountVerificationCardFailureCnsCdMessage
      title: Card CNS/CD Verification Failure
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Card CNS/CD Verification Failure
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                attempt_count: 2
                status: '700'
                max_attempts: 3
                client_message: Account not currently available for payment
            metadata:
              version: '1'
              topic_description: >-
                This event reports Card Not Supported (CNS) or CheckDigit (CD)
                validation failure on a Card payment request.
              timestamp: 1752080265
              topic: transaction.account.verification.card.failure.cns_cd
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionAccountVerificationCardFailureAvsCvvMessage:
      name: TransactionAccountVerificationCardFailureAvsCvvMessage
      title: Card AVS/CVV Verification Failure
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Card AVS/CVV Verification Failure
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                attempt_count: 1
                status: '758'
                max_attempts: 4
                client_message: AVS  Declined - No Match
            metadata:
              version: '1'
              topic_description: >-
                This event reports Address Verification Service (AVS) or Card
                Verification Value (CVV) validation failure on a Card payment
                request.
              timestamp: 1752080572
              topic: transaction.account.verification.card.failure.avs_cvv
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionAccountVerificationAchFailureRnvMessage:
      name: TransactionAccountVerificationAchFailureRnvMessage
      title: ACH Routing Number Verification Failure
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: ACH Routing Number Verification Failure
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                attempt_count: 1
                status: '743'
                max_attempts: 3
                client_message: Invalid routing_number
            metadata:
              version: '1'
              topic_description: >-
                This event reports Routing Number Validation (RNV) validation
                failure on an ACH payment request.
              timestamp: 1752031346
              topic: transaction.account.verification.ach.failure.rnv
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionAccountVerificationAchFailureAnvMessage:
      name: TransactionAccountVerificationAchFailureAnvMessage
      title: ACH Account Number Verification Failure
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: ACH Account Number Verification Failure
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                attempt_count: 1
                status: '767'
                max_attempts: 2
                client_message: No data available or non-participating account issuer
            metadata:
              version: '1'
              topic_description: >-
                This event reports Account Number Validation (ANV) validation
                failure on an ACH payment request.
              timestamp: 1752081146
              topic: transaction.account.verification.ach.failure.anv
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionAccountVerificationAchFailureNavMessage:
      name: TransactionAccountVerificationAchFailureNavMessage
      title: ACH Name/Address Verification Failure
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: ACH Name/Address Verification Failure
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                attempt_count: 2
                status: '776'
                max_attempts: 3
                client_message: No data available from account issuer
            metadata:
              version: '1'
              topic_description: >-
                This event reports Name on Account Validation (NAV) validation
                failure on an ACH payment request.
              timestamp: 1752080426
              topic: transaction.account.verification.ach.failure.nav
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionAccountVerificationPaypalSuccessAvMessage:
      name: TransactionAccountVerificationPaypalSuccessAvMessage
      title: PayPal Account Verification Success
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventPaypalVerification'
      examples:
        - name: PayPal Account Verification Success
          payload:
            metadata:
              topic_description: >-
                This event indicates that the PayPal account verification was
                successful.
              version: '2'
              timestamp: 1772132960
              topic: transaction.account.verification.paypal.success.av
              id: 38250363-059f-4c29-9882-ed61007f98fa
            data:
              ancillary:
                participant_unique_id2: ''
                party_id: d3e65dc3-3b22-48ed-b54d-7244a60b7bca
                session_id: 00000000-0000-0000-0000-000000000001
                participant_unique_id1: PARTNER-REF-001
                notification_id: '1000001'
              event:
                was_skipped: false
                has_passed: true
                status: '1148'
                field_results:
                  - is_matching: true
                    hard_fail_on_mismatch: true
                    field_name: IsVerifiedAccount
                    client_provided_value: 'True'
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: 'True'
                  - is_matching: true
                    hard_fail_on_mismatch: false
                    field_name: FirstName
                    client_provided_value: Alex
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: Alex
                  - is_matching: true
                    hard_fail_on_mismatch: false
                    field_name: LastName
                    client_provided_value: Rivera
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: Rivera
                  - is_matching: true
                    hard_fail_on_mismatch: false
                    field_name: AddressLine1
                    client_provided_value: 100 Innovation Way
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: 100 Innovation Way
                  - is_matching: true
                    hard_fail_on_mismatch: false
                    field_name: City
                    client_provided_value: Anytown
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: Anytown
                  - is_matching: true
                    hard_fail_on_mismatch: false
                    field_name: State
                    client_provided_value: CA
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: CA
                  - is_matching: true
                    hard_fail_on_mismatch: false
                    field_name: ZipCode
                    client_provided_value: '95131'
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: '95131'
                  - is_matching: true
                    hard_fail_on_mismatch: false
                    field_name: Country
                    client_provided_value: US
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: US
                  - is_matching: true
                    hard_fail_on_mismatch: true
                    field_name: HasAssociatedEmail
                    client_provided_value: recipient@example.com
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: recipient@example.com
                  - is_matching: true
                    hard_fail_on_mismatch: false
                    field_name: PrimaryEmail
                    client_provided_value: recipient@example.com
                    is_enabled: true
                    was_evaluated: true
                    paypal_provided_value: recipient@example.com
                  - is_matching: false
                    hard_fail_on_mismatch: false
                    field_name: BusinessName
                    client_provided_value: Example Business LLC
                    is_enabled: false
                    was_evaluated: false
                    paypal_provided_value: Example Business LLC
                client_message: PayPal Account Verification Success
                attempt_count: 1
                max_attempts: 2
    TransactionAccountVerificationPaypalFailureAvMessage:
      name: TransactionAccountVerificationPaypalFailureAvMessage
      title: PayPal Account Verification Failure
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventPaypalVerification'
      examples:
        - name: PayPal Account Verification Failure
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                tracer_token: 9999999abc-9abc-acb9-cab9999999999
                session_id: 00000000-0000-0000-0000-000000000001
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                has_passed: false
                status: '1150'
                attempt_count: 1
                max_attempts: 3
                field_results:
                  - was_evaluated: true
                    client_provided_value: 'True'
                    is_matching: false
                    field_name: IsVerifiedAccount
                    paypal_provided_value: 'False'
                    hard_fail_on_mismatch: true
                    is_enabled: true
                  - was_evaluated: true
                    client_provided_value: Alex
                    is_matching: true
                    field_name: FirstName
                    paypal_provided_value: Jamie
                    hard_fail_on_mismatch: false
                    is_enabled: true
                  - was_evaluated: true
                    client_provided_value: Rivera
                    is_matching: true
                    field_name: LastName
                    paypal_provided_value: Chen
                    hard_fail_on_mismatch: true
                    is_enabled: true
                  - was_evaluated: true
                    client_provided_value: 100 Innovation Way
                    is_matching: true
                    field_name: AddressLine1
                    paypal_provided_value: 200 Different Blvd
                    hard_fail_on_mismatch: false
                    is_enabled: true
                  - was_evaluated: true
                    client_provided_value: Anytown
                    is_matching: true
                    field_name: City
                    paypal_provided_value: Othertown
                    hard_fail_on_mismatch: false
                    is_enabled: true
                  - was_evaluated: true
                    client_provided_value: GA
                    is_matching: true
                    field_name: State
                    paypal_provided_value: GA
                    hard_fail_on_mismatch: false
                    is_enabled: true
                  - was_evaluated: true
                    client_provided_value: '30092'
                    is_matching: true
                    field_name: ZipCode
                    paypal_provided_value: '30092'
                    hard_fail_on_mismatch: true
                    is_enabled: true
                  - was_evaluated: true
                    client_provided_value: US
                    is_matching: true
                    field_name: Country
                    paypal_provided_value: US
                    hard_fail_on_mismatch: true
                    is_enabled: true
                  - was_evaluated: true
                    client_provided_value: recipient@example.com
                    is_matching: false
                    field_name: HasAssociatedEmail
                    paypal_provided_value: other@example.com
                    hard_fail_on_mismatch: true
                    is_enabled: true
                  - was_evaluated: true
                    client_provided_value: recipient@example.com
                    is_matching: false
                    field_name: PrimaryEmail
                    paypal_provided_value: other@example.com
                    hard_fail_on_mismatch: false
                    is_enabled: true
                was_skipped: false
                client_message: PayPal Account Verification Error
            metadata:
              version: '1'
              topic_description: >-
                This event indicates that the PayPal account verification has
                failed
              timestamp: 1752081530
              topic: transaction.account.verification.paypal.failure.av
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionAccountTokenizationSuccessMessage:
      name: TransactionAccountTokenizationSuccessMessage
      title: Account Tokenization Success
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventTokenizationSuccess'
      examples:
        - name: Account Tokenization Success
          payload:
            metadata:
              topic_description: >-
                This event reports successful tokenization of a recipient
                disbursement account. Includes the token and other account
                information.
              version: '4'
              timestamp: 1777551286
              topic: transaction.account.tokenization.success
              id: ld01-56a94d64-0b65-43f0-88f1-3972d3900173
            data:
              ancillary:
                participant_unique_id2: MM-92005-20260430-121439-7650-2
                session_id: 00000000-0000-0000-0000-000000000001
                participant_unique_id1: MM-92005-20260430-121439-7650
                notification_id: '1000001'
              event:
                last_4: k6Aw
                issuers:
                  - payee_city: ''
                    issuing_network: NA
                    payee_address: ''
                    payee_id: '550330'
                    payee_state: ''
                    payee_name: Paypal
                    debit_enabled: 0
                    payee_zip: ''
                    credit_enabled: 1
                    credit_info:
                      estimated_posting_date: 05/01/2026
                      max: '4999.99'
                      estimated_posting_time: Payment will post 05/01/2026
                      min: '0.01'
                      card_type: NA
                status: '100'
                customer_account_token: ee90dff0-eed3-4886-a26d-aa24733b46ca
                account_type: PD
                attempt_count: 1
                max_attempts: 3
                client_message: Success
                account_id: '992786'
    TransactionRecipientPaymentDisbursementRequestExpiredMessage:
      name: TransactionRecipientPaymentDisbursementRequestExpiredMessage
      title: Disbursement Request Expired
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Disbursement Request Expired
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                client_message: Disbursement Request Expired
                status: '1109'
            metadata:
              version: '1'
              topic_description: >-
                This event reports that the disbursement request has expired per
                client configured expiration time. Disbursment will be
                terminated. (Non-Terminal)
              timestamp: 1752083133
              topic: transaction.recipient.payment.disbursement.request.expired
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientPaymentDisbursementRequestCanceledMessage:
      name: TransactionRecipientPaymentDisbursementRequestCanceledMessage
      title: Disbursement Request Canceled
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Disbursement Request Canceled
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: ''
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                client_message: Disbursement Request Canceled
                status: '100'
            metadata:
              version: '1'
              topic_description: >-
                This event reports that the disbursement request was canceled
                per client request. (Terminal)
              timestamp: 1752085669
              topic: transaction.recipient.payment.disbursement.request.canceled
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientPaymentStatusFailureMessage:
      name: TransactionRecipientPaymentStatusFailureMessage
      title: Payment Failed
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Payment Failed
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                attempt_count: 3
                status: '710'
                max_attempts: 3
                client_message: Issuer Declined - Customer should contact card issuer
            metadata:
              version: '1'
              topic_description: >-
                This event reports that the payment attempt to a customer failed
                the posting attempt. (Non-terminal)
              timestamp: 1752085746
              topic: transaction.recipient.payment.status.failure
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientPaymentStatusCheckMessage:
      name: TransactionRecipientPaymentStatusCheckMessage
      title: Check In Process
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Check In Process
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: 00000000-0000-0000-0000-000000000001
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                client_message: Address on file verified by customer
                status: '1111'
            metadata:
              version: '1'
              topic_description: >-
                This event reports that the customer elected to received a
                check. (Non-terminal)
              timestamp: 1752076304
              topic: transaction.recipient.payment.status.check
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientPaymentStatusCheckIssuedMessage:
      name: TransactionRecipientPaymentStatusCheckIssuedMessage
      title: Check Issued
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventCheckStatus'
      examples:
        - name: Check Issued
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                status: '100'
                check_amount: '500.00'
                client_message: Success
                check_number: '1010101010'
            metadata:
              version: '1'
              topic_description: >-
                This event indicates that the check transaction status has been
                updated to check issued
              timestamp: 1752066145
              topic: transaction.recipient.payment.status.check.issued
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientPaymentStatusCheckPaidMessage:
      name: TransactionRecipientPaymentStatusCheckPaidMessage
      title: Check Paid
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventCheckStatus'
      examples:
        - name: Check Paid
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                status: '100'
                check_amount: '12000.00'
                client_message: Success
                check_number: '1010101010'
            metadata:
              version: '1'
              topic_description: >-
                This event indicates that the check transaction status has been
                updated to check paid
              timestamp: 1752055636
              topic: transaction.recipient.payment.status.check.paid
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientPaymentStatusCheckCanceledMessage:
      name: TransactionRecipientPaymentStatusCheckCanceledMessage
      title: Check Canceled
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventCheckWithReason'
      examples:
        - name: Check Canceled
          payload:
            metadata:
              version: '1'
              topic_description: >-
                This event indicates that the check cancellation has been
                confirmed (by status report file)
              timestamp: 1736247783
              topic: transaction.recipient.payment.status.check.canceled
              id: prod1-123456-abcd-1234-ab12-c123d456e789
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                status: '100'
                check_amount: '5000.00'
                client_message: Success
                check_number: '1010101010'
                reason_code: '75'
    TransactionRecipientPaymentStatusCheckStoppedMessage:
      name: TransactionRecipientPaymentStatusCheckStoppedMessage
      title: Check Stopped
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventCheckWithReason'
      examples:
        - name: Check Stopped
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                status: '100'
                check_amount: '84.21'
                client_message: Success
                check_number: '1010101010'
                reason_code: '78'
            metadata:
              version: '1'
              topic_description: >-
                This event indicates that the check stop has been confirmed (by
                status report file)
              timestamp: 1752088324
              topic: transaction.recipient.payment.status.check.stopped
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientPaymentStatusCheckReturnedMessage:
      name: TransactionRecipientPaymentStatusCheckReturnedMessage
      title: Check Returned
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventCheckWithReason'
      examples:
        - name: Check Returned
          payload:
            metadata:
              version: '1'
              topic_description: >-
                This event indicates that a check transaction has been returned
                due to positive pay exception
              timestamp: 1748633972
              topic: transaction.recipient.payment.status.check.returned
              id: prod1-123456-abcd-1234-ab12-c123d456e789
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: ''
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                status: '1114'
                check_amount: '1500.00'
                client_message: Payment Returned by Issuer
                check_number: '1010101010'
                reason_code: '83'
    TransactionRecipientPaymentStatusSuccessMessage:
      name: TransactionRecipientPaymentStatusSuccessMessage
      title: Payment Successful
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventPaymentSuccess'
      examples:
        - name: Payment Successful
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: ''
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                status: '1125'
                account_id: '123456789'
                client_message: Success
            metadata:
              version: '3'
              topic_description: >-
                This event reports that the payment to the customer was
                completed. (Terminal)
              timestamp: 1752164133
              topic: transaction.recipient.payment.status.success
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientPaymentStatusTerminatedMessage:
      name: TransactionRecipientPaymentStatusTerminatedMessage
      title: Payment Terminated
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                $ref: '#/components/schemas/WebhookEventBase'
      examples:
        - name: Payment Terminated
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: ''
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                client_message: Disbursement / Payment has been terminated
                status: '1113'
            metadata:
              version: '1'
              topic_description: >-
                This event reports that the payment to the customer was not able
                to be completed and is being terminated by Ingo.(Terminal)
              timestamp: 1752088537
              topic: transaction.recipient.payment.status.terminated
              id: prod1-123456-abcd-1234-ab12-c123d456e789
    TransactionRecipientPaymentStatusReturnedMessage:
      name: TransactionRecipientPaymentStatusReturnedMessage
      title: Payment Returned
      contentType: application/json
      payload:
        type: object
        required:
          - metadata
          - data
        properties:
          metadata:
            $ref: '#/components/schemas/WebhookMetadata'
          data:
            type: object
            required:
              - ancillary
              - event
            properties:
              ancillary:
                $ref: '#/components/schemas/NotifyCorrelation'
              event:
                allOf:
                  - $ref: '#/components/schemas/WebhookEventBase'
                  - $ref: '#/components/schemas/EventPaymentReturned'
      examples:
        - name: Payment Returned
          payload:
            data:
              ancillary:
                participant_unique_id2: 111111111-2222-3333333-4444444444
                session_id: ''
                notification_id: '1000001'
                participant_unique_id1: 22222222-5555-3333333-4444444444
              event:
                return_transaction_id: '320844783'
                status: '1114'
                reason_description: R03-No Account
                client_message: Payment Returned by Issuer
                reason_code: '02'
            metadata:
              version: '1'
              topic_description: >-
                This event reports that a previously completed payment to the
                customer has been returned by the account issuer.(Terminal)
              timestamp: 1752051486
              topic: transaction.recipient.payment.status.returned
              id: prod1-123456-abcd-1234-ab12-c123d456e789
  schemas:
    WebhookMetadata:
      type: object
      required:
        - id
        - topic
        - topic_description
        - timestamp
        - version
      description: Delivery metadata present on every webhook event.
      properties:
        id:
          type: string
          maxLength: 50
          description: >-
            Ingo-assigned unique ID for this delivery. Use as your idempotency
            key to deduplicate retries.
          example: prod01-6aaa3079-c1ff-4cae-b77a-4b76026fc846
        topic:
          type: string
          maxLength: 150
          description: Topic name identifying the event type.
        topic_description:
          type: string
          maxLength: 250
          description: Human-readable description of the event.
        timestamp:
          type: integer
          description: Unix timestamp of the webhook delivery.
          example: 1777509495
        version:
          type: string
          maxLength: 5
          description: Payload contract version.
          example: '1'
    WebhookEventBase:
      type: object
      required:
        - status
        - client_message
      description: >-
        Core event outcome fields present on every webhook event. Additional
        event-specific properties may be present — see the individual event
        documentation for the complete schema.
      properties:
        status:
          type: string
          maxLength: 10
          description: Numeric status code for the event outcome.
        client_message:
          type: string
          maxLength: 250
          description: Human-readable description of the event outcome.
        attempt_count:
          type: integer
          description: >-
            Current delivery attempt number. Present when the event type has a
            configurable attempt counter.
          example: 1
        max_attempts:
          type: integer
          description: >-
            Maximum allowed attempts. Present when the event type has a
            configurable attempt counter.
          example: 3
    NotifyCorrelation:
      type: object
      required:
        - notification_id
        - participant_unique_id1
      description: >-
        Transaction correlation identifiers for Notify webhook events. Use these
        fields to match the event to a transaction in your system.
      properties:
        notification_id:
          type: string
          maxLength: 15
          description: Ingo-assigned unique identifier for the staged notification.
          example: '10042781'
        session_id:
          type: string
          maxLength: 50
          nullable: true
          description: Ingo-assigned session identifier, when applicable.
        participant_unique_id1:
          type: string
          maxLength: 100
          description: Your primary correlation ID from the original Notify request.
        participant_unique_id2:
          type: string
          maxLength: 100
          nullable: true
          description: Your optional secondary correlation ID.
        party_id:
          type: string
          maxLength: 36
          nullable: true
          description: >-
            Ingo-assigned ID for the specific party this event relates to.
            Present on multi-party (Notify v4) events.
    IngoPayCorrelation:
      type: object
      required:
        - participant_unique_id1
      description: >-
        Transaction correlation identifiers for IngoPay and Embedded iFrame
        webhook events. Use these fields to match the event to a transaction in
        your system.
      properties:
        tracer_token:
          type: string
          maxLength: 250
          nullable: true
          description: Ingo-assigned tracer identifier for the original request.
        session_id:
          type: string
          maxLength: 50
          nullable: true
          description: Ingo-assigned session identifier for the iFrame interaction.
        participant_unique_id1:
          type: string
          maxLength: 100
          description: Your primary correlation ID from the original request.
        participant_unique_id2:
          type: string
          maxLength: 100
          nullable: true
          description: Your optional secondary correlation ID.
    EventTokenizationSuccess:
      type: object
      required:
        - customer_account_token
        - account_type
        - last_4
        - account_id
        - issuers
      description: >-
        Account tokenization result. The latest contract version (v4) is
        documented here; earlier versions may omit account_id.
      properties:
        customer_account_token:
          type: string
          maxLength: 50
          description: >-
            Opaque token representing the tokenized account. Use in subsequent
            Process or Debit requests.
        account_type:
          type: string
          maxLength: 2
          description: Account type code (CA, AC, SD, RT, PD, PU, VE, BP, CK).
        last_4:
          type: string
          maxLength: 4
          description: Last four characters of the account number for identification.
        expiration_date:
          type: string
          maxLength: 4
          description: >-
            Expiration date in MMYY format. Present for card-based accounts
            only.
        account_id:
          type: string
          maxLength: 36
          description: Ingo-assigned unique identifier for this account.
        issuers:
          type: array
          description: >-
            Details about the account issuer(s). Typically one object per
            account.
          items:
            type: object
            properties:
              payee_id:
                type: string
                maxLength: 20
                description: Ingo-assigned ID for the payee/account issuer.
              payee_name:
                type: string
                maxLength: 100
                description: Name of the payee/account issuer.
              payee_address:
                type: string
                maxLength: 150
                description: Address of the payee/account issuer. May be empty.
              payee_city:
                type: string
                maxLength: 150
                description: City of the payee/account issuer. May be empty.
              payee_state:
                type: string
                maxLength: 2
                description: State of the payee/account issuer. May be empty.
              payee_zip:
                type: string
                maxLength: 10
                description: ZIP code of the payee/account issuer. May be empty.
              issuing_network:
                type: string
                maxLength: 10
                description: >-
                  Network the account was issued under (Visa, MasterCard, ACH,
                  etc.). "NA" if not applicable.
              credit_enabled:
                type: integer
                description: >-
                  1 if account can receive credits for this participant, 0
                  otherwise.
              debit_enabled:
                type: integer
                description: 1 if account can be debited for this participant, 0 otherwise.
              credit_info:
                type: object
                description: Credit disbursement details. Present when credit_enabled is 1.
                properties:
                  min:
                    type: string
                    description: Minimum amount the issuer will accept.
                  max:
                    type: string
                    description: Maximum amount the issuer will accept.
                  card_type:
                    type: string
                    description: >-
                      Type of card (credit, debit, prepaid, DDA, etc.). "NA" if
                      not applicable.
                  estimated_posting_time:
                    type: string
                    description: Human-readable estimated posting time.
                  estimated_posting_date:
                    type: string
                    description: Estimated posting date in MM/DD/YYYY format.
              debit_info:
                type: object
                description: Debit pull details. Present when debit_enabled is 1.
                properties:
                  min:
                    type: string
                    description: Minimum amount the issuer will accept.
                  max:
                    type: string
                    description: Maximum amount the issuer will accept.
                  card_type:
                    type: string
                    description: Type of card. "NA" if not applicable.
        bin:
          type: string
          maxLength: 8
          description: Bank Identification Number. Present for card-based accounts only.
        network_validation:
          type: object
          description: >-
            Reference data from network card validation. Present when network
            validation was performed.
          properties:
            validation_provider_id:
              type: string
              maxLength: 3
              description: 'Card validation provider: 1 = Visa, 3 = MasterCard.'
            name_validation:
              type: object
              description: Name match results.
              properties:
                name_match_status:
                  type: string
                  description: 1 = Name match performed, 2 = Not performed.
                name_match_decision:
                  type: string
                  description: 1 = Match, 2 = Partial, 3 = No match.
                first_name_match_decision:
                  type: string
                  description: 1 = Match, 2 = Partial, 3 = No match.
                last_name_match_decision:
                  type: string
                  description: 1 = Match, 2 = Partial, 3 = No match.
                middle_name_match_decision:
                  type: string
                  description: 1 = Match, 2 = Partial, 3 = No match.
        open_banking_finicity:
          type: object
          description: >-
            Open banking account identification for Finicity. Present when
            client is configured for Finicity.
          properties:
            customer_id:
              type: string
              maxLength: 50
              description: Finicity customer ID.
            account_id:
              type: string
              maxLength: 50
              description: Finicity account ID.
    EventRvdmResult:
      type: object
      required:
        - has_passed
        - was_skipped
        - field_results
      description: Recipient Verification Data Matching (RVDM) outcome.
      properties:
        has_passed:
          type: boolean
          description: Overall result of the RVDM attempt.
        was_skipped:
          type: boolean
          description: Whether RVDM was bypassed per client configuration.
        field_results:
          type: array
          description: Per-field match detail for each data element evaluated.
          items:
            type: object
            required:
              - field_name
              - is_matching
              - is_enabled
              - was_evaluated
              - client_provided_value
              - customer_provided_value
              - hard_fail_on_mismatch
            properties:
              field_name:
                type: string
                maxLength: 150
                description: Name of the field assessed.
              is_matching:
                type: boolean
                description: Whether the field values matched.
              is_enabled:
                type: boolean
                description: Whether this field was enabled for matching.
              was_evaluated:
                type: boolean
                description: Whether this field was evaluated during this attempt.
              client_provided_value:
                type: string
                maxLength: 150
                description: Value you submitted for this field.
              customer_provided_value:
                type: string
                maxLength: 150
                description: Value the customer entered during the iFrame interaction.
              hard_fail_on_mismatch:
                type: boolean
                description: Whether a mismatch on this field constitutes a hard failure.
    EventAuthenticationResult:
      type: object
      required:
        - has_passed
        - was_skipped
        - field_results
      description: >-
        Recipient authentication outcome. Covers RVDM-style data matching
        (field_label identifies each field assessed).
      properties:
        has_passed:
          type: boolean
          description: Overall result of the authentication attempt.
        was_skipped:
          type: boolean
          description: Whether authentication was bypassed per configuration.
        field_results:
          type: array
          description: Per-field match results.
          items:
            type: object
            required:
              - field_label
              - is_matching
              - hard_fail_on_mismatch
            properties:
              field_label:
                type: string
                maxLength: 50
                description: Display label of the field assessed.
              is_matching:
                type: boolean
                description: Whether the field values matched.
              hard_fail_on_mismatch:
                type: boolean
                description: Whether a mismatch constitutes a hard failure.
    EventPaypalVerification:
      type: object
      required:
        - has_passed
        - was_skipped
        - field_results
      description: PayPal account verification outcome.
      properties:
        has_passed:
          type: boolean
          description: Overall result of the PayPal account verification attempt.
        was_skipped:
          type: boolean
          description: Whether verification was bypassed per configuration.
        field_results:
          type: array
          description: Per-field verification results.
          items:
            type: object
            required:
              - field_name
              - is_matching
              - is_enabled
              - was_evaluated
              - client_provided_value
              - paypal_provided_value
              - hard_fail_on_mismatch
            properties:
              field_name:
                type: string
                maxLength: 150
                description: >-
                  Name of the field assessed (e.g. FirstName,
                  IsVerifiedAccount).
              is_matching:
                type: boolean
                description: Whether the field values matched.
              is_enabled:
                type: boolean
                description: Whether this field was enabled for matching.
              was_evaluated:
                type: boolean
                description: Whether this field was evaluated.
              client_provided_value:
                type: string
                maxLength: 150
                description: Value you submitted for this field.
              paypal_provided_value:
                type: string
                maxLength: 150
                description: Value returned by PayPal for this field.
              hard_fail_on_mismatch:
                type: boolean
                description: Whether a mismatch constitutes a hard failure.
    EventCheckStatus:
      type: object
      required:
        - check_number
        - check_amount
      description: Check transaction status detail.
      properties:
        check_number:
          type: string
          maxLength: 10
          description: Check serial number.
        check_amount:
          type: string
          maxLength: 10
          description: Check amount.
    EventCheckWithReason:
      type: object
      required:
        - check_number
        - check_amount
        - reason_code
      description: Check transaction status with reason.
      properties:
        check_number:
          type: string
          maxLength: 10
          description: Check serial number.
        check_amount:
          type: string
          maxLength: 10
          description: Check amount.
        reason_code:
          type: string
          maxLength: 10
          description: Reason code for the check action.
        reason_description:
          type: string
          maxLength: 250
          description: Description of the reason code.
    EventPaymentSuccess:
      type: object
      required:
        - account_id
      description: Successful payment disbursement detail.
      properties:
        account_id:
          type: string
          maxLength: 36
          description: Ingo-assigned unique identifier for the disbursed-to account.
    EventPaymentReturned:
      type: object
      required:
        - return_transaction_id
        - reason_code
        - reason_description
      description: Payment return detail.
      properties:
        return_transaction_id:
          type: string
          maxLength: 15
          description: >-
            Ingo-assigned unique transaction identifier for the return
            transaction.
        reason_code:
          type: string
          maxLength: 10
          description: Reason code for the return.
        reason_description:
          type: string
          maxLength: 250
          description: Description of the return reason.
    EventWithReason:
      type: object
      required:
        - reason_code
        - reason_description
      description: Event detail including a reason code and description.
      properties:
        reason_code:
          type:
            - string
            - integer
          description: Reason code.
        reason_description:
          type: string
          maxLength: 250
          description: Description associated with the reason code.
    EventSettlementAdjustment:
      type: object
      required:
        - reason_code
        - reason_description
        - adjustment_type
        - amount
        - transaction_id
      description: Settlement adjustment detail.
      properties:
        reason_code:
          type: string
          maxLength: 10
          description: Adjustment reason code.
        reason_description:
          type: string
          maxLength: 250
          description: Description associated with the reason code.
        adjustment_type:
          type: string
          maxLength: 20
          description: >-
            "credit" — credits your settlement account. "debit" — debits your
            settlement account.
          enum:
            - credit
            - debit
        amount:
          type: string
          maxLength: 10
          description: Transaction amount.
        transaction_id:
          type: string
          maxLength: 15
          description: >-
            Ingo-assigned unique transaction identifier for the original
            transaction.
    EventRolesChange:
      type: object
      required:
        - role_change
      description: Party role change detail.
      properties:
        role_change:
          type: array
          description: Array of role change objects, one per party whose role is changing.
          items:
            type: object
            required:
              - party_id
              - old_role
              - new_role
            properties:
              party_id:
                type: string
                maxLength: 36
                description: Ingo-assigned ID for the party whose role is changing.
              old_role:
                type: integer
                maxLength: 10
                description: Role ID of the previous role.
              new_role:
                type: integer
                maxLength: 10
                description: Role ID of the new role.
