BoltInternal).
BoltSimpleCheckoutDelegate
Implement this delegate when usingstartCheckout(config:delegate:) or BoltCheckoutViewController(config:delegate:).
| Callback | Parameters | Description |
|---|---|---|
onCheckoutSuccess(result:) | result: BoltCheckoutResult | Called when the user completes checkout and payment is authorized. Use result.cart?.orderReference, result.reference, and result.merchantOrderNumber to reconcile with your backend. |
onCheckoutError(errorReason:) | errorReason: String | Called when checkout fails due to a network error, payment decline, validation failure, or other unexpected issue. |
onCheckoutCancel() | (none) | Called when the user dismisses the checkout UI. The order token remains valid for a subsequent attempt. |
BoltCheckoutResult
onCheckoutSuccess receives a BoltCheckoutResult that mirrors Bolt’s ClientTransactionView. All fields are optional where the type allows nil.
Reconciliation Fields
| Field | Role |
|---|---|
cart?.orderReference | Bolt order reference string. |
reference | Transaction reference from the payment processor. |
merchantOrderNumber | Your merchant-facing order number when Bolt provides it. |
amount | Charged totals: see BoltAmountView below. |
Transaction Core
| Field | Type | Description |
|---|---|---|
id | String | Transaction ID. |
type | String | Transaction type. |
processor | String | Payment processor identifier. |
date | Int | Transaction timestamp (Unix epoch milliseconds). |
reference | String | Transaction reference. |
status | String | Overall transaction status. |
amount | BoltAmountView | Primary amount: use for display and reconciliation. |
BoltAmountView
| Field | Type | Description |
|---|---|---|
amount | Int | Amount in minor currency units (e.g. cents). |
currency | String | ISO 4217 code (e.g. "USD"). |
currencySymbol | String | Display symbol (e.g. "$"). |
Parties and Payment Instruments
| Field | Type | Description |
|---|---|---|
fromConsumer | BoltConsumerView? | Payer (id, email, firstName, lastName, phone). |
toConsumer | BoltConsumerView? | Payee when applicable. |
fromCreditCard | BoltCreditCardView? | Card used (id, last4, bin, expiration, network, billing address). |
toCreditCard | BoltCreditCardView? | Destination card when applicable. |
last4 | String? | Last four digits of the card at the transaction level. |
Authorization, Capture, and Risk
| Field | Type | Description |
|---|---|---|
authorization | BoltAuthorizationView? | status and reason for the auth decision. |
captures | [BoltCaptureView]? | Capture records (status, amount as BoltAmountView). |
credit | BoltCreditView? | Credit leg status when present. |
transactionProperties | BoltTransactionProperties? | avsResult, cvvResult from the processor. |
orderDecision | BoltOrderDecisionView? | Fraud/order decision (score, decisionFactors). |
riskScore | Double? | Risk score when provided. |
customerListStatus | BoltCustomerListStatus? | autoApproved, blockListed. |
indemnificationDecision | String? | Indemnification decision when applicable. |
indemnificationReason | String? | Indemnification reason when applicable. |
splits | [BoltTransactionSplitView]? | Split payouts (amount, type). |
lastViewedUtc | Int? | Last viewed time (epoch ms). |
viewStatus | String? | View/status string. |
hasRefunds | Bool? | Whether refunds exist on the transaction. |
Addresses and Shipping
| Field | Type | Description |
|---|---|---|
shippingAddress | BoltAddressInput? | Shipping address (names, street, locality, region, postal code, country, phone, email). |
billingAddress | BoltAddressInput? | Billing address when distinct from shipping. |
shippingOption | BoltShippingOption? | Selected shipping option. When valid, value includes service, cost, reference, carrier, ETA, tax, and signature details. |
Cart, Integrations, and Notes
| Field | Type | Description |
|---|---|---|
cart | BoltTransactionCart? | orderReference, discounts (BoltCartDiscountView), items (BoltCartItemView). |
shopify | BoltShopifyResponse? | Shopify-hosted payment fields when applicable. |
sfcc | BoltSfccOrderResponse? | SFCC integration: sfccOrderToken when present. |
customFieldResponses | [BoltCustomFieldResponse]? | Custom fields: publicId, response. |
userNote | String? | User-supplied order note when captured. |
BoltLoginDelegate
Implement this delegate when usingstartLogin(delegate:) or BoltLoginViewController(delegate:).
| Callback | Parameters | Description |
|---|---|---|
onLoginSuccess(authCode:codeVerifier:state:) | authCode: String, codeVerifier: String, state: String | User authenticated successfully. Send authCode and state to your backend for token exchange. When PKCE is enabled, also send codeVerifier. |
onLoginError(errorReason:) | errorReason: String | Login failed (network error, invalid session, or user denied permissions). |
onLoginCancel() | (none) | User dismissed the login screen. No partial session is created. |
BoltPaymentFlowDelegate
Implement this delegate when usingstartPaymentFlow(delegate:) or BoltPaymentFlowViewController(delegate:). The payment flow is a standalone UI for collecting and tokenizing a payment method without running the full checkout.
| Callback | Parameters | Description |
|---|---|---|
onPaymentFlowSuccess(paymentMethod:creditCard:) | paymentMethod: BoltPaymentMethod, creditCard: BoltCreditCard? | Card successfully tokenized. creditCard contains token, last4, network, expiration, and postal code. |
onPaymentFlowError(errorReason:) | errorReason: String | Tokenization or network failure. |
onPaymentFlowCancel() | (none) | User dismissed the payment collection screen. |
BoltPaymentAuthorizationDelegate
Implement this delegate when callingauthorizePayment(). Used in custom checkout flows where you collected a card via the payment flow.
| Callback | Parameters | Description |
|---|---|---|
onPaymentAuthorizationSuccess(orderReference:) | orderReference: String | Payment authorized. Use the reference to confirm the order with your backend. |
onPaymentAuthorizationFail(status:reason:) | status: String, reason: String | Authorization declined by the processor (e.g. insufficient funds, suspected fraud). |
onPaymentAuthorizationError(errorReason:) | errorReason: String | Request failed before reaching the processor (e.g. network timeout, missing tokenized card). |