Skip to content

Event hooks

useOn* hooks for Exchange Pay side effects. Prefer state hooks when you only need current values.

When to use

Navigate to success, toast on expiry, analytics — not for rendering status or countdown.

Need in UIUse instead
Order / checkout / statususeExchangePayOrder
Countdown timeruseExchangePayOrderCountdown
Success summaryuseExchangePayCompletedTransactionSummary

Hooks

HookWhen it fires
useOnExchangePayOrderUpdatedStatus / offchain update
useOnExchangePayOrderCompletedPayment succeeded — e.g. navigate to success
useOnExchangePayOrderExpiredLocal expiry timer fired — toast, navigate back, etc.

Example

tsx
import {
  useOnExchangePayOrderCompleted,
  useOnExchangePayOrderExpired,
} from '@swapped/connect-sdk/react'

function ExchangePaySideEffects({
  onComplete,
  onExpired,
}: {
  onComplete: () => void
  onExpired: () => void
}) {
  useOnExchangePayOrderCompleted(() => onComplete())

  // Payload includes `{ order }` if you need the expired order details.
  useOnExchangePayOrderExpired(() => {
    // e.g. toast.info('Order expired, please try again')
    onExpired() // navigate back to deposit
  })

  return null
}

See Errors for failure mapping, and Events (React) for session listeners.