Skip to main content
Register event listeners using webPlugin.addEventListener() to track the recipient’s progress through the iFrame and respond to outcomes. Every event payload includes session_identifier, tracer_token, and event_name. Additional fields are event-specific and documented below.

Base Events

These events represent the primary outcomes of the account capture flow. At minimum, your integration should handle TOKEN_SUCCESS, TERMINAL_FAILURE, and MAX_VERIFICATION_ATTEMPTS_EXCEEDED.

TOKEN_SUCCESS

Fired when the recipient has successfully tokenized an account. This is the terminal success event — no further interaction is needed for this session. Additional payload fields:

FUNDING_CANCELED

Fired when the recipient cancels on the confirmation page or elects to choose a different funding option. Additional payload fields:

TERMINAL_FAILURE

Fired when the plugin reaches a terminal failure page due to account verification. The session remains active and can be retried — re-initialize the session using idempotency and mount again with the desired funding destination. Additional payload fields:

TERMINAL_FAILURE_ACKNOWLEDGED

Fired when the recipient has acknowledged the terminal failure page and pressed the continue button. The session remains active. Additional payload fields: same as TERMINAL_FAILURE.

MAX_VERIFICATION_ATTEMPTS_EXCEEDED

Fired when the recipient exceeds the maximum allowed verification failures. The session is permanently terminated and cannot be reused. A new session must be created.

BillPay Events

These events fire only when FUNDING_DESTINATIONS.BILLPAY is mounted.

ACCOUNT_COULD_NOT_BE_VERIFIED

Fired when a recipient does not have their card present during BillPay account verification.

BILLPAY_SEARCH_NO_MATCH_FOUND

Fired when the recipient exceeds the allowed number of no-result biller searches. The session is permanently terminated. A new session must be created.

Informative Events

These events provide visibility into the recipient’s progress through the iFrame but do not represent outcomes.

PAGE_LOAD

Fired each time a new page loads within the iFrame as the recipient navigates through the flow. Additional payload fields:
Account VerificationACH FundingBillPay FundingCredit Card FundingDebit Card FundingPayPal FundingSession Management

PLUGIN_RESIZE

Fired when the dimensions of the plugin contents change. Additional payload fields:

UNSUPPORTED_BROWSER_DETECTED

Fired when the recipient’s browser is not supported by the SDK. Additional payload fields:

Warning / Error Events

PLUGIN_ERROR

Fired when an unhandled exception occurs inside the plugin. Additional payload fields:

SESSION_ERROR

Fired when the plugin reaches a session error page. The content.status_code identifies the specific error. Additional payload fields: Status codes:

Error codes by payment type

These codes appear in the error field of TERMINAL_FAILURE and TERMINAL_FAILURE_ACKNOWLEDGED events.

ACH (IngoInstantPayments.ERROR_CODES.ACH)

Card — Credit & Debit (IngoInstantPayments.ERROR_CODES.CARD)

BillPay (IngoInstantPayments.ERROR_CODES.BILLPAY)

PayPal (IngoInstantPayments.ERROR_CODES.PAYPAL)