@openrails/billing-ui 0.235.0 → 0.236.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +103 -73
  3. package/dist/account/account-billing.d.ts +1 -3
  4. package/dist/account/payment-methods-panel.d.ts +1 -3
  5. package/dist/buy-button.d.ts +35 -0
  6. package/dist/cart.d.ts +18 -0
  7. package/dist/checkout.d.ts +1 -3
  8. package/dist/client/checkout.d.ts +28 -0
  9. package/dist/client/client.d.ts +71 -47
  10. package/dist/client/errors.d.ts +4 -0
  11. package/dist/client/generated/error-codes.d.ts +1 -1
  12. package/dist/client/generated/routes.d.ts +117 -88
  13. package/dist/client/generated/wire.d.ts +88 -66
  14. package/dist/client/index.d.ts +2 -2
  15. package/dist/client/types.d.ts +230 -17
  16. package/dist/{client-BpzCZes3.js → client-BuvolBPT.js} +477 -316
  17. package/dist/client-BuvolBPT.js.map +1 -0
  18. package/dist/client.js +2 -2
  19. package/dist/components/stripe-card.d.ts +8 -2
  20. package/dist/components/stripe-wallets.d.ts +12 -0
  21. package/dist/components/ui/badge.d.ts +1 -1
  22. package/dist/components/ui/button.d.ts +1 -1
  23. package/dist/frame.d.ts +5 -5
  24. package/dist/hooks-2d-XjpuI.js +526 -0
  25. package/dist/hooks-2d-XjpuI.js.map +1 -0
  26. package/dist/i18n/context.d.ts +1 -1
  27. package/dist/index.d.ts +7 -5
  28. package/dist/index.js +1966 -1655
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/money.d.ts +1 -0
  31. package/dist/lib/offer-label.d.ts +4 -0
  32. package/dist/locales/de.js +20 -0
  33. package/dist/locales/de.js.map +1 -1
  34. package/dist/locales/en.d.ts +20 -0
  35. package/dist/locales/en.js +20 -0
  36. package/dist/locales/en.js.map +1 -1
  37. package/dist/locales/es.js +20 -0
  38. package/dist/locales/es.js.map +1 -1
  39. package/dist/locales/ja.js +11 -0
  40. package/dist/locales/ja.js.map +1 -1
  41. package/dist/locales/ko.js +11 -0
  42. package/dist/locales/ko.js.map +1 -1
  43. package/dist/locales/zh.js +11 -0
  44. package/dist/locales/zh.js.map +1 -1
  45. package/dist/offers.d.ts +33 -0
  46. package/dist/order-checkout.d.ts +30 -0
  47. package/dist/react/hooks.d.ts +8 -7
  48. package/dist/react/index.d.ts +1 -1
  49. package/dist/react/provider.d.ts +24 -2
  50. package/dist/react.js +2 -33
  51. package/dist/save-payment-method.d.ts +0 -6
  52. package/dist/styles.css +1 -1
  53. package/dist/types.d.ts +16 -16
  54. package/docs/payment-form-contract.md +6 -6
  55. package/package.json +1 -1
  56. package/dist/client-BpzCZes3.js.map +0 -1
  57. package/dist/config-qLcHvK0Q.js +0 -341
  58. package/dist/config-qLcHvK0Q.js.map +0 -1
  59. package/dist/provider.d.ts +0 -18
  60. package/dist/react.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { CheckoutSource } from '../source';
2
- import { Account, CardSetup, CheckoutSessionLink, PublicConfig, PaymentAuthentication, CurrencyScales, Invoice, ListPage, NewCard, NextAction, Page, Payment, PaymentMethod, Product, SolanaToken, Subscription, SubscriptionChange, SubscriptionChangePreview } from './types';
1
+ import { BillingError } from './errors';
2
+ import { Account, PublicConfig, PaymentAuthentication, CurrencyScales, Invoice, ListPage, NewCard, NextAction, Cart, Order, OrderPaymentInput, Page, Payment, PaymentMethod, Product, SolanaToken, Subscription, SubscriptionChange, SubscriptionChangePreview } from './types';
3
3
  export interface BillingClientOptions {
4
4
  /** OpenRails embedded mount. Default "/billing/v1". */
5
5
  baseUrl?: string;
@@ -18,15 +18,13 @@ export interface BillingClientOptions {
18
18
  */
19
19
  currencies?: CurrencyScales;
20
20
  }
21
- export interface CheckoutSourceOptions {
22
- /**
23
- * A customer surface's base: its `/me` prefix, such as `/billing/v1/me` or
24
- * a host's own `/api/v1/merchants/acme/billing/me`. The session is read and
25
- * paid there with this client's credential, which proves the session's
26
- * customer, so its saved cards pay. Default: the session id alone, at
27
- * `{baseUrl}/checkout-sessions`.
28
- */
29
- customerBase?: string;
21
+ /**
22
+ * A public catalog lookup: the products named by `keys` (at most 100 product
23
+ * keys), in one page.
24
+ */
25
+ export interface ProductListOptions {
26
+ keys: string[];
27
+ signal?: AbortSignal;
30
28
  }
31
29
  export interface ListOptions {
32
30
  limit?: number;
@@ -69,6 +67,14 @@ export declare const isWalletAction: (next: NextAction | null | undefined) => bo
69
67
  export declare function signWalletAction(next: NextAction, sendTransaction: SendSolanaTransaction): Promise<string>;
70
68
  /** Total wait a GET may spend on its one retry. */
71
69
  export declare const RETRY_BUDGET_MS = 2000;
70
+ /**
71
+ * An order request's answer. `error` is set when the payment failed: the
72
+ * order is open again and its `payment.last_payment_error` says why.
73
+ */
74
+ export interface OrderResult {
75
+ order: Order;
76
+ error?: BillingError;
77
+ }
72
78
  export declare function createBillingClient(options?: BillingClientOptions): {
73
79
  baseUrl: string;
74
80
  /** One page of the customer's subscriptions, newest first. */
@@ -108,21 +114,62 @@ export declare function createBillingClient(options?: BillingClientOptions): {
108
114
  }): Promise<SubscriptionChange>;
109
115
  listPaymentMethods(opts?: CursorOptions): Promise<ListPage<PaymentMethod>>;
110
116
  /**
111
- * Stores a card entered in the page with the PSP `psp_id`: a Collect.js
112
- * token (`cardSetupDriver` "collect_js") or the card itself ("card").
117
+ * Saves a card entered in the page with the PSP `psp_id` in one call: the
118
+ * token of its own fields, or the card itself ("card"). A Stripe card the
119
+ * bank wants authenticated answers `requires_action`.
113
120
  */
114
121
  addPaymentMethod(card: NewCard): Promise<PaymentMethod>;
122
+ /** The customer's cart, priced now. */
123
+ getCart(signal?: AbortSignal): Promise<Cart>;
124
+ /**
125
+ * Puts a price in the cart or changes its line, and answers the cart.
126
+ * `quantity` 0 removes the line; omitted, the price's default. `amount`
127
+ * is the customer's choice on a price that takes one.
128
+ */
129
+ setCartLine(priceId: string, input?: {
130
+ quantity?: number;
131
+ amount?: string;
132
+ }): Promise<Cart>;
133
+ /** Empties the cart. */
134
+ clearCart(): Promise<void>;
115
135
  /**
116
- * Starts an in-page card setup with a PSP whose browser SDK collects the
117
- * card (see `cardSetupDriver`). `idempotencyKey` identifies this attempt.
136
+ * Creates an order from `lines` or the cart (`cart: true`), and with
137
+ * `payment` pays it in the same call; `expectedTotal` is the total the
138
+ * customer saw. A failed payment resolves as payOrder's does.
118
139
  */
119
- createCardSetup(input: {
120
- pspId: string;
140
+ createOrder(input: {
141
+ lines?: {
142
+ price_id: string;
143
+ quantity?: number;
144
+ amount?: string;
145
+ }[];
146
+ cart?: boolean;
147
+ expectedTotal?: string;
148
+ payment?: OrderPaymentInput;
149
+ reusable?: boolean;
121
150
  idempotencyKey: string;
122
- }): Promise<CardSetup>;
123
- getCardSetup(setupId: string, signal?: AbortSignal): Promise<CardSetup>;
124
- /** Verifies the setup with the provider; `payment_method_id` once saved. */
125
- confirmCardSetup(setupId: string): Promise<CardSetup>;
151
+ }): Promise<OrderResult>;
152
+ /** One of the customer's orders: the resumable handle of a purchase. */
153
+ getOrder(orderId: string, signal?: AbortSignal): Promise<Order>;
154
+ /**
155
+ * Pays an open order. A failed payment resolves with the order (open,
156
+ * `payment.last_payment_error` saying why) and `error`, the 402.
157
+ * `idempotencyKey` is minted when the pay button renders: a retry with it
158
+ * answers what the first request answered.
159
+ */
160
+ payOrder(orderId: string, input: {
161
+ payment: OrderPaymentInput;
162
+ expectedTotal: string;
163
+ reusable?: boolean;
164
+ idempotencyKey: string;
165
+ }): Promise<OrderResult>;
166
+ /** Reads the provider after the customer completed `next_action`. */
167
+ confirmOrder(orderId: string): Promise<OrderResult>;
168
+ /**
169
+ * Finishes saving a card the bank asked to authenticate, after the PSP's
170
+ * script answered its `next_action`.
171
+ */
172
+ confirmPaymentMethod(paymentMethodId: string): Promise<PaymentMethod>;
126
173
  /** The provider challenge a pending payment operation is waiting on. */
127
174
  getPaymentAuthentication(operationId: string): Promise<PaymentAuthentication>;
128
175
  confirmPaymentAuthentication(operationId: string): Promise<void>;
@@ -147,34 +194,11 @@ export declare function createBillingClient(options?: BillingClientOptions): {
147
194
  */
148
195
  getAccount(signal?: AbortSignal): Promise<Account>;
149
196
  getInvoice(invoiceId: string, signal?: AbortSignal): Promise<Invoice>;
150
- /** Products on sale, each with its current prices. */
151
- listProducts(opts?: ListOptions): Promise<Page<Product>>;
152
- /**
153
- * Mints a hosted checkout session for the signed-in customer and one
154
- * price. Render it with `<CheckoutFrame url>` when the session has a
155
- * `url`, else with `<Checkout source={client.checkoutSource(id)}>`.
156
- * Select a price by `priceId`, or by both `productKey` and `priceKey`.
157
- * `successUrl` brings the buyer back from a redirect rail; it must be on
158
- * one of this app's return origins.
159
- */
160
- createCheckoutSession(input: {
161
- priceKey?: string;
162
- productKey?: string;
163
- priceId?: string;
164
- /** Customer-selected deposit in the price currency’s native units. */
165
- amount?: string;
166
- /** Defaults to true for recurring prices; false buys the initial term only. */
167
- autoRenew?: boolean;
168
- successUrl?: string;
169
- }): Promise<CheckoutSessionLink>;
170
197
  /**
171
- * Reads and pays one hosted checkout session. By default the id is the
172
- * only credential: no bearer is sent. With `customerBase` the session's
173
- * customer reads and pays it on that customer surface, signed in. A
174
- * refusal the buyer can answer (an invalid card form, too many attempts)
175
- * resolves as `failed`; an expired or unknown session as `expired`.
198
+ * The products on sale named by `keys`, each with its current prices.
199
+ * No keys name no products: nothing is fetched.
176
200
  */
177
- checkoutSource(sessionId: string, opts?: CheckoutSourceOptions): CheckoutSource;
201
+ listProducts(opts: ProductListOptions): Promise<Page<Product>>;
178
202
  /**
179
203
  * The deployment's public configuration: what the mount serves, the
180
204
  * currency registry and the merchant's payment setup. React components
@@ -5,6 +5,8 @@ export interface BillingErrorBody {
5
5
  request_id?: string;
6
6
  param?: string;
7
7
  metadata?: Record<string, unknown>;
8
+ /** The order a failed payment left open (402 card_error). */
9
+ order?: unknown;
8
10
  }
9
11
  export declare class BillingError extends Error {
10
12
  readonly status: number;
@@ -13,6 +15,8 @@ export declare class BillingError extends Error {
13
15
  readonly param?: string;
14
16
  readonly requestId?: string;
15
17
  readonly metadata: Record<string, unknown>;
18
+ /** The order a failed payment left open, unvalidated. */
19
+ readonly order?: unknown;
16
20
  constructor(status: number, body: BillingErrorBody);
17
21
  }
18
22
  export declare const isBillingError: (value: unknown) => value is BillingError;
@@ -1,4 +1,4 @@
1
- export type OpenRailsErrorCode = "access_token_invalid" | "access_token_issuer_unknown" | "access_token_merchant_not_bound" | "admission_captured" | "admission_not_found" | "allowance_meter_not_found" | "allowance_source_in_use" | "allowance_source_invalid" | "already_owned" | "as_of_required" | "authentication_required" | "authentication_unavailable" | "authorization_unavailable" | "billing_archive_integrity" | "billing_archive_invalid_artifact" | "billing_archive_merchant_mismatch" | "billing_archive_not_empty" | "billing_archive_unavailable" | "billing_archive_unsupported_state" | "billing_policy_not_found" | "cancel_unsupported_on_rail" | "captcha_invalid" | "captcha_required" | "card_attempts_blocked" | "card_declined" | "card_not_saved" | "card_requires_https" | "catalog_benefit_overlap" | "catalog_revision_conflict" | "checkout_attempt_closed" | "checkout_attempt_expired" | "checkout_offer_unavailable" | "checkout_payment_in_progress" | "checkout_request_invalid" | "checkout_session_expired" | "checkout_session_not_found" | "checkout_session_unavailable" | "credential_custody_transition_required" | "credential_expired" | "credential_identity_mismatch" | "credential_operation_conflict" | "credential_revoked" | "credential_source_read_only" | "credential_store_read_only" | "credit_grant_held" | "credit_grant_not_found" | "credit_grant_unavailable" | "csrf_origin_denied" | "currency_unsupported" | "custodian_capture_unavailable" | "customer_action_required" | "customer_email_required" | "customer_not_found" | "customer_payment_unsupported" | "customer_proof_required" | "customer_session_required" | "dashboard_invalid" | "database_busy" | "default_payment_method_invalid" | "default_payment_method_required" | "default_rate_card_not_found" | "default_rate_card_required" | "delegated_principal_invalid" | "finding_action_failed" | "finding_not_actionable" | "hold_not_found" | "host_event_not_found" | "host_merchant_mismatch" | "host_principal_invalid" | "idempotency_key_in_use" | "idempotency_key_required" | "idempotency_key_reused" | "insufficient_credits" | "insufficient_funds" | "insufficient_scope" | "internal_error" | "invalid_cursor" | "invalid_customer_id" | "invalid_host_event_request" | "invalid_param" | "invalid_payment_method" | "invalid_psp_reference" | "invalid_query" | "invalid_request_body" | "invalid_settlement_status_request" | "invoice_action_not_allowed" | "invoice_not_retryable" | "invoice_retry_idempotency_conflict" | "invoice_retry_in_progress" | "invoice_retry_outcome_unknown" | "invoker_scoped_principal" | "merchant_binding_mismatch" | "merchant_configuration_application_conflict" | "merchant_configuration_revision_conflict" | "merchant_context_mismatch" | "merchant_directory_unavailable" | "merchant_not_found" | "merchant_selector_invalid" | "merchant_unresolved" | "meter_in_use" | "meter_rate_card_conflict" | "method_not_allowed" | "metrics_query_invalid" | "model_unavailable" | "order_has_recurring_line" | "order_line_unavailable" | "order_not_cancelable" | "order_not_payable" | "order_payment_in_progress" | "order_total_changed" | "payment_duplicate_refused" | "payment_exceeds_due" | "payment_failed" | "payment_idempotency_conflict" | "payment_in_progress" | "payment_method_delete_failed" | "payment_method_delete_unsupported" | "payment_method_not_psp_vaulted" | "payment_method_not_usable" | "payment_method_psp_mismatch" | "payment_method_required" | "payment_method_same_vault" | "payment_method_stale" | "payment_method_update_failed" | "payment_method_update_retry_required" | "payment_method_update_unsupported" | "payment_not_found" | "payment_not_refundable" | "payment_not_retryable" | "payment_option_unavailable" | "payment_provider_rejected" | "permission_required" | "price_change_currency_mismatch" | "price_change_target_archived" | "price_increase_notice_too_short" | "price_key_cadence_conflict" | "price_key_not_found" | "price_migration_not_found" | "price_not_found" | "price_not_sellable" | "product_not_found" | "product_tier_group_conflict" | "product_tier_group_in_use" | "provider_billing_observation_conflict" | "provider_cancel_held" | "provider_operation_conflict" | "provider_operation_has_billing_evidence" | "provider_operation_not_found" | "provider_operation_not_open" | "provider_operation_not_refused" | "provider_operation_refused" | "provider_outcome_unknown" | "psp_claim_requires_proof" | "psp_credentials_rejected" | "psp_exists" | "psp_key_taken" | "psp_last_active" | "psp_not_found" | "purchase_review_resolved" | "quantity_not_allowed" | "rate_card_currency_mismatch" | "rate_card_has_overrides" | "rate_card_product_not_found" | "rate_limit_exceeded" | "rebill_terms_committed" | "refund_failed" | "refund_rail_unavailable" | "refund_unsupported" | "request_body_too_large" | "resource_access_denied" | "resource_conflict" | "resource_not_found" | "revision_mismatch" | "route_not_found" | "scheduled_change_exists" | "sender_proof_required" | "service_credential_customer_scope_denied" | "service_credential_invalid" | "service_credential_merchant_unresolved" | "service_credential_resource_scope_denied" | "service_unavailable" | "solana_rpc_unavailable" | "solana_transaction_refused" | "spend_delegation_not_found" | "step_up_required" | "step_up_unavailable" | "stored_credential_required" | "subscription_change_already_scheduled" | "subscription_change_cadence_unsupported" | "subscription_change_credit_exceeds_price" | "subscription_change_cycle_unknown" | "subscription_change_idempotency_conflict" | "subscription_change_idempotency_key_required" | "subscription_change_in_flight" | "subscription_change_period_unknown" | "subscription_change_provider_conflict" | "subscription_change_refused" | "subscription_change_renewal_due" | "subscription_change_requires_linked_plan" | "subscription_change_target_inactive" | "subscription_change_unsupported_on_rail" | "subscription_not_active" | "subscription_not_found" | "subscription_paid_through" | "subscription_resumable" | "trial_unsupported_on_rail" | "unknown_field" | "unsupported_media_type" | "usage_meter_invalid" | "usage_meter_not_found" | "usage_rate_card_invalid" | "use_dpop_nonce" | "webhook_account_mismatch" | "webhook_invalid" | "widget_generation_invalid";
1
+ export type OpenRailsErrorCode = "admission_captured" | "admission_not_found" | "allowance_meter_not_found" | "allowance_source_in_use" | "allowance_source_invalid" | "already_owned" | "application_required" | "as_of_required" | "authentication_required" | "authentication_unavailable" | "authorization_unavailable" | "billing_archive_integrity" | "billing_archive_invalid_artifact" | "billing_archive_merchant_mismatch" | "billing_archive_not_empty" | "billing_archive_unavailable" | "billing_archive_unsupported_state" | "billing_policy_not_found" | "cancel_unsupported_on_rail" | "captcha_invalid" | "captcha_required" | "card_attempts_blocked" | "card_declined" | "card_not_saved" | "card_requires_https" | "catalog_benefit_overlap" | "catalog_revision_conflict" | "checkout_attempt_closed" | "checkout_attempt_expired" | "checkout_attempts_exhausted" | "checkout_expired" | "checkout_not_found" | "checkout_offer_unavailable" | "checkout_payment_in_progress" | "checkout_request_invalid" | "checkout_session_expired" | "checkout_session_not_found" | "checkout_session_unavailable" | "credential_expired" | "credential_revoked" | "credit_grant_held" | "credit_grant_not_found" | "credit_grant_unavailable" | "csrf_origin_denied" | "currency_unsupported" | "custodian_capture_unavailable" | "customer_action_required" | "customer_email_required" | "customer_not_found" | "customer_payment_unsupported" | "customer_proof_required" | "customer_session_required" | "dashboard_invalid" | "database_busy" | "default_payment_method_invalid" | "default_payment_method_required" | "default_rate_card_not_found" | "default_rate_card_required" | "finding_action_failed" | "finding_not_actionable" | "hold_not_found" | "host_event_not_found" | "host_principal_invalid" | "hosted_checkout_unavailable" | "idempotency_key_in_progress" | "idempotency_key_in_use" | "idempotency_key_required" | "idempotency_key_reused" | "insufficient_credits" | "insufficient_funds" | "internal_error" | "invalid_cursor" | "invalid_customer_id" | "invalid_host_event_request" | "invalid_param" | "invalid_payment_method" | "invalid_psp_reference" | "invalid_query" | "invalid_request_body" | "invalid_settlement_status_request" | "invoice_action_not_allowed" | "invoice_not_retryable" | "invoice_retry_idempotency_conflict" | "invoice_retry_in_progress" | "invoice_retry_outcome_unknown" | "invoker_scoped_principal" | "merchant_binding_mismatch" | "merchant_config_read_only" | "merchant_directory_unavailable" | "merchant_not_found" | "merchant_selector_invalid" | "merchant_unresolved" | "meter_in_use" | "meter_rate_card_conflict" | "method_not_allowed" | "metrics_query_invalid" | "model_unavailable" | "network_account_linked" | "network_link_challenge_invalid" | "network_link_conflict" | "network_link_in_use" | "network_terms_required" | "order_has_recurring_line" | "order_line_unavailable" | "order_not_cancelable" | "order_not_payable" | "order_payment_in_progress" | "order_total_changed" | "payment_duplicate_refused" | "payment_exceeds_due" | "payment_failed" | "payment_idempotency_conflict" | "payment_in_progress" | "payment_method_delete_failed" | "payment_method_delete_unsupported" | "payment_method_not_psp_vaulted" | "payment_method_not_usable" | "payment_method_psp_mismatch" | "payment_method_required" | "payment_method_same_vault" | "payment_method_stale" | "payment_method_update_failed" | "payment_method_update_retry_required" | "payment_method_update_unsupported" | "payment_not_found" | "payment_not_refundable" | "payment_not_retryable" | "payment_option_unavailable" | "payment_provider_rejected" | "permission_required" | "price_change_currency_mismatch" | "price_change_target_archived" | "price_increase_notice_too_short" | "price_key_cadence_conflict" | "price_key_not_found" | "price_migration_not_found" | "price_not_found" | "price_not_sellable" | "product_not_found" | "product_tier_group_conflict" | "product_tier_group_in_use" | "provider_billing_observation_conflict" | "provider_cancel_held" | "provider_operation_conflict" | "provider_operation_has_billing_evidence" | "provider_operation_not_found" | "provider_operation_not_open" | "provider_operation_not_refused" | "provider_operation_refused" | "provider_outcome_unknown" | "psp_claim_requires_proof" | "psp_credentials_rejected" | "psp_exists" | "psp_key_taken" | "psp_last_active" | "psp_not_found" | "purchase_review_resolved" | "quantity_not_allowed" | "rate_card_currency_mismatch" | "rate_card_has_overrides" | "rate_card_product_not_found" | "rate_limit_exceeded" | "rebill_terms_committed" | "refund_failed" | "refund_rail_unavailable" | "refund_unsupported" | "request_body_too_large" | "resource_access_denied" | "resource_conflict" | "resource_not_found" | "revision_mismatch" | "route_not_found" | "scheduled_change_exists" | "service_credential_customer_scope_denied" | "service_unavailable" | "solana_rpc_unavailable" | "solana_transaction_refused" | "step_up_required" | "step_up_unavailable" | "stored_credential_required" | "subscription_change_already_scheduled" | "subscription_change_cadence_unsupported" | "subscription_change_credit_exceeds_price" | "subscription_change_cycle_unknown" | "subscription_change_idempotency_conflict" | "subscription_change_idempotency_key_required" | "subscription_change_in_flight" | "subscription_change_period_unknown" | "subscription_change_provider_conflict" | "subscription_change_refused" | "subscription_change_renewal_due" | "subscription_change_requires_linked_plan" | "subscription_change_target_inactive" | "subscription_change_unsupported_on_rail" | "subscription_not_active" | "subscription_not_found" | "subscription_paid_through" | "subscription_resumable" | "trial_unsupported_on_rail" | "unknown_field" | "unsupported_media_type" | "usage_meter_invalid" | "usage_meter_not_found" | "usage_rate_card_invalid" | "webhook_account_mismatch" | "webhook_invalid" | "widget_generation_invalid";
2
2
  export type OpenRailsErrorType = "api_error" | "authentication_error" | "authorization_error" | "card_error" | "invalid_request_error" | "rate_limit_error";
3
3
  export declare const OPENRAILS_ERROR_CODES: Readonly<Record<OpenRailsErrorCode, {
4
4
  status: number;
@@ -65,7 +65,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
65
65
  readonly responses: {
66
66
  readonly 200: "SupportedTokensResponse";
67
67
  };
68
- readonly errors: readonly ["credential_custody_transition_required", "resource_conflict"];
68
+ readonly errors: readonly ["resource_conflict"];
69
69
  readonly errorSets: readonly ["tier:public", "request"];
70
70
  }, {
71
71
  readonly method: "GET";
@@ -79,7 +79,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
79
79
  readonly responses: {
80
80
  readonly 200: "CheckoutSession";
81
81
  };
82
- readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "checkout_session_not_found", "checkout_session_unavailable", "credential_custody_transition_required", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable", "subscription_paid_through", "subscription_resumable"];
82
+ readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "checkout_session_not_found", "checkout_session_unavailable", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable", "subscription_paid_through", "subscription_resumable"];
83
83
  readonly errorSets: readonly ["tier:checkout_session"];
84
84
  }, {
85
85
  readonly method: "POST";
@@ -93,7 +93,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
93
93
  readonly responses: {
94
94
  readonly 200: "CheckoutSessionPayResult";
95
95
  };
96
- readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "card_requires_https", "checkout_offer_unavailable", "checkout_payment_in_progress", "checkout_request_invalid", "checkout_session_expired", "checkout_session_not_found", "checkout_session_unavailable", "credential_custody_transition_required", "customer_proof_required", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable", "subscription_paid_through", "subscription_resumable"];
96
+ readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "card_requires_https", "checkout_offer_unavailable", "checkout_payment_in_progress", "checkout_request_invalid", "checkout_session_expired", "checkout_session_not_found", "checkout_session_unavailable", "customer_proof_required", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable", "subscription_paid_through", "subscription_resumable"];
97
97
  readonly errorSets: readonly ["tier:checkout_session", "request"];
98
98
  }, {
99
99
  readonly method: "GET";
@@ -149,7 +149,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
149
149
  readonly responses: {
150
150
  readonly 200: "CheckoutSession";
151
151
  };
152
- readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "checkout_session_not_found", "checkout_session_unavailable", "credential_custody_transition_required", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable", "subscription_paid_through", "subscription_resumable"];
152
+ readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "checkout_session_not_found", "checkout_session_unavailable", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable", "subscription_paid_through", "subscription_resumable"];
153
153
  readonly errorSets: readonly ["tier:customer"];
154
154
  }, {
155
155
  readonly method: "POST";
@@ -163,7 +163,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
163
163
  readonly responses: {
164
164
  readonly 200: "CheckoutSessionPayResult";
165
165
  };
166
- readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "card_requires_https", "checkout_offer_unavailable", "checkout_payment_in_progress", "checkout_request_invalid", "checkout_session_expired", "checkout_session_not_found", "checkout_session_unavailable", "credential_custody_transition_required", "customer_action_required", "customer_proof_required", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable", "subscription_paid_through", "subscription_resumable"];
166
+ readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "card_requires_https", "checkout_offer_unavailable", "checkout_payment_in_progress", "checkout_request_invalid", "checkout_session_expired", "checkout_session_not_found", "checkout_session_unavailable", "customer_action_required", "customer_proof_required", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable", "subscription_paid_through", "subscription_resumable"];
167
167
  readonly errorSets: readonly ["tier:customer", "request"];
168
168
  }, {
169
169
  readonly method: "GET";
@@ -201,7 +201,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
201
201
  readonly permission: null;
202
202
  readonly sensitive: false;
203
203
  readonly mountedWhen: null;
204
- readonly request: "PreviewOrderParams";
204
+ readonly request: "PreviewMyOrderParams";
205
205
  readonly responses: {
206
206
  readonly 200: "OrderPreview";
207
207
  };
@@ -215,12 +215,12 @@ export declare const OPENRAILS_ROUTES: readonly [{
215
215
  readonly permission: null;
216
216
  readonly sensitive: false;
217
217
  readonly mountedWhen: null;
218
- readonly request: "CreateOrderParams";
218
+ readonly request: "CreateMyOrderParams";
219
219
  readonly responses: {
220
220
  readonly 200: "Order";
221
221
  readonly 201: "Order";
222
222
  };
223
- readonly errors: readonly ["already_owned", "card_attempts_blocked", "customer_action_required", "idempotency_key_in_use", "idempotency_key_required", "idempotency_key_reused", "invalid_param", "order_line_unavailable", "order_not_payable", "order_payment_in_progress", "order_total_changed", "payment_method_stale", "payment_option_unavailable", "quantity_not_allowed", "resource_conflict", "resource_not_found", "service_unavailable"];
223
+ readonly errors: readonly ["already_owned", "card_attempts_blocked", "card_declined", "customer_action_required", "idempotency_key_in_use", "idempotency_key_required", "idempotency_key_reused", "invalid_param", "order_line_unavailable", "order_not_payable", "order_payment_in_progress", "order_total_changed", "payment_failed", "payment_method_stale", "payment_option_unavailable", "payment_provider_rejected", "quantity_not_allowed", "resource_conflict", "resource_not_found", "service_unavailable"];
224
224
  readonly errorSets: readonly ["tier:customer", "request"];
225
225
  }, {
226
226
  readonly method: "GET";
@@ -234,7 +234,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
234
234
  readonly responses: {
235
235
  readonly 200: "ListPage<Order>";
236
236
  };
237
- readonly errors: readonly ["invalid_cursor", "service_unavailable"];
237
+ readonly errors: readonly ["invalid_cursor", "invalid_query", "service_unavailable"];
238
238
  readonly errorSets: readonly ["tier:customer", "request"];
239
239
  }, {
240
240
  readonly method: "GET";
@@ -262,7 +262,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
262
262
  readonly responses: {
263
263
  readonly 200: "Order";
264
264
  };
265
- readonly errors: readonly ["card_attempts_blocked", "customer_action_required", "idempotency_key_in_use", "idempotency_key_required", "idempotency_key_reused", "invalid_param", "order_not_payable", "order_payment_in_progress", "order_total_changed", "payment_method_stale", "payment_option_unavailable", "resource_conflict", "resource_not_found", "service_unavailable"];
265
+ readonly errors: readonly ["card_attempts_blocked", "card_declined", "customer_action_required", "idempotency_key_in_use", "idempotency_key_required", "idempotency_key_reused", "invalid_param", "order_not_payable", "order_payment_in_progress", "order_total_changed", "payment_failed", "payment_method_stale", "payment_option_unavailable", "payment_provider_rejected", "resource_conflict", "resource_not_found", "service_unavailable"];
266
266
  readonly errorSets: readonly ["tier:customer", "request"];
267
267
  }, {
268
268
  readonly method: "POST";
@@ -276,7 +276,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
276
276
  readonly responses: {
277
277
  readonly 200: "Order";
278
278
  };
279
- readonly errors: readonly ["customer_action_required", "customer_session_required", "resource_conflict", "resource_not_found", "service_unavailable"];
279
+ readonly errors: readonly ["card_declined", "customer_action_required", "customer_session_required", "payment_failed", "resource_conflict", "resource_not_found", "service_unavailable"];
280
280
  readonly errorSets: readonly ["tier:customer"];
281
281
  }, {
282
282
  readonly method: "POST";
@@ -292,6 +292,76 @@ export declare const OPENRAILS_ROUTES: readonly [{
292
292
  };
293
293
  readonly errors: readonly ["order_not_cancelable", "resource_not_found", "service_unavailable"];
294
294
  readonly errorSets: readonly ["tier:customer"];
295
+ }, {
296
+ readonly method: "GET";
297
+ readonly path: "/v1/orders/{id}/solana-pay";
298
+ readonly group: "checkout";
299
+ readonly auth: "public";
300
+ readonly permission: null;
301
+ readonly sensitive: false;
302
+ readonly mountedWhen: "solana";
303
+ readonly request: null;
304
+ readonly responses: {
305
+ readonly 200: "SolanaPayGetResponse";
306
+ };
307
+ readonly errors: readonly ["order_not_payable", "resource_conflict", "resource_not_found", "service_unavailable"];
308
+ readonly errorSets: readonly ["tier:public"];
309
+ }, {
310
+ readonly method: "POST";
311
+ readonly path: "/v1/orders/{id}/solana-pay";
312
+ readonly group: "checkout";
313
+ readonly auth: "public";
314
+ readonly permission: null;
315
+ readonly sensitive: false;
316
+ readonly mountedWhen: "solana";
317
+ readonly request: "SolanaPayPostRequest";
318
+ readonly responses: {
319
+ readonly 200: "SolanaPayPostResponse";
320
+ };
321
+ readonly errors: readonly ["invalid_param", "order_not_payable", "resource_conflict", "resource_not_found", "service_unavailable"];
322
+ readonly errorSets: readonly ["tier:public", "request"];
323
+ }, {
324
+ readonly method: "GET";
325
+ readonly path: "/v1/me/cart";
326
+ readonly group: "customer";
327
+ readonly auth: "customer";
328
+ readonly permission: null;
329
+ readonly sensitive: false;
330
+ readonly mountedWhen: null;
331
+ readonly request: null;
332
+ readonly responses: {
333
+ readonly 200: "Cart";
334
+ };
335
+ readonly errors: readonly ["service_unavailable"];
336
+ readonly errorSets: readonly ["tier:customer"];
337
+ }, {
338
+ readonly method: "PUT";
339
+ readonly path: "/v1/me/cart/lines/{price_id}";
340
+ readonly group: "customer";
341
+ readonly auth: "customer";
342
+ readonly permission: null;
343
+ readonly sensitive: false;
344
+ readonly mountedWhen: null;
345
+ readonly request: "SetCartLineParams";
346
+ readonly responses: {
347
+ readonly 200: "Cart";
348
+ };
349
+ readonly errors: readonly ["invalid_param", "resource_not_found", "service_unavailable"];
350
+ readonly errorSets: readonly ["tier:customer", "request"];
351
+ }, {
352
+ readonly method: "DELETE";
353
+ readonly path: "/v1/me/cart";
354
+ readonly group: "customer";
355
+ readonly auth: "customer";
356
+ readonly permission: null;
357
+ readonly sensitive: false;
358
+ readonly mountedWhen: null;
359
+ readonly request: null;
360
+ readonly responses: {
361
+ readonly 204: null;
362
+ };
363
+ readonly errors: readonly ["service_unavailable"];
364
+ readonly errorSets: readonly ["tier:customer"];
295
365
  }, {
296
366
  readonly method: "GET";
297
367
  readonly path: "/v1/catalog/products";
@@ -304,7 +374,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
304
374
  readonly responses: {
305
375
  readonly 200: "ListPage<Product>";
306
376
  };
307
- readonly errors: readonly [];
377
+ readonly errors: readonly ["invalid_query"];
308
378
  readonly errorSets: readonly ["tier:public", "request"];
309
379
  }, {
310
380
  readonly method: "POST";
@@ -434,34 +504,6 @@ export declare const OPENRAILS_ROUTES: readonly [{
434
504
  };
435
505
  readonly errors: readonly ["authentication_required", "invalid_cursor", "invalid_param", "invalid_query"];
436
506
  readonly errorSets: readonly ["tier:customer", "request"];
437
- }, {
438
- readonly method: "GET";
439
- readonly path: "/v1/me/product-access";
440
- readonly group: "customer";
441
- readonly auth: "customer";
442
- readonly permission: null;
443
- readonly sensitive: false;
444
- readonly mountedWhen: null;
445
- readonly request: null;
446
- readonly responses: {
447
- readonly 200: "ListPage<ProductAccessGrant>";
448
- };
449
- readonly errors: readonly ["authentication_required", "invalid_cursor", "invalid_param", "invalid_query"];
450
- readonly errorSets: readonly ["tier:customer", "request"];
451
- }, {
452
- readonly method: "GET";
453
- readonly path: "/v1/me/spend-limits";
454
- readonly group: "customer";
455
- readonly auth: "customer";
456
- readonly permission: null;
457
- readonly sensitive: false;
458
- readonly mountedWhen: null;
459
- readonly request: null;
460
- readonly responses: {
461
- readonly 200: "SpendLimits";
462
- };
463
- readonly errors: readonly ["currency_unsupported"];
464
- readonly errorSets: readonly ["tier:customer", "request"];
465
507
  }, {
466
508
  readonly method: "GET";
467
509
  readonly path: "/v1/me";
@@ -629,7 +671,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
629
671
  readonly responses: {
630
672
  readonly 201: "PaymentMethod";
631
673
  };
632
- readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "card_requires_https", "credential_custody_transition_required", "invalid_param", "payment_duplicate_refused", "payment_provider_rejected", "provider_outcome_unknown", "service_unavailable"];
674
+ readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "card_requires_https", "invalid_param", "payment_duplicate_refused", "payment_method_stale", "payment_provider_rejected", "provider_outcome_unknown", "service_unavailable"];
633
675
  readonly errorSets: readonly ["tier:customer", "request"];
634
676
  }, {
635
677
  readonly method: "PUT";
@@ -644,7 +686,7 @@ export declare const OPENRAILS_ROUTES: readonly [{
644
686
  readonly 200: "PaymentMethod";
645
687
  readonly 202: null;
646
688
  };
647
- readonly errors: readonly ["card_declined", "card_not_saved", "card_requires_https", "credential_custody_transition_required", "invalid_param", "payment_method_update_failed", "payment_method_update_retry_required", "payment_method_update_unsupported", "payment_provider_rejected", "resource_conflict", "resource_not_found", "service_unavailable"];
689
+ readonly errors: readonly ["card_declined", "card_not_saved", "card_requires_https", "invalid_param", "payment_method_update_failed", "payment_method_update_retry_required", "payment_method_update_unsupported", "payment_provider_rejected", "resource_conflict", "resource_not_found", "service_unavailable"];
648
690
  readonly errorSets: readonly ["tier:customer", "request"];
649
691
  }, {
650
692
  readonly method: "PATCH";
@@ -660,20 +702,6 @@ export declare const OPENRAILS_ROUTES: readonly [{
660
702
  };
661
703
  readonly errors: readonly ["card_requires_https", "invalid_param", "payment_method_not_usable", "payment_method_update_unsupported", "payment_provider_rejected", "provider_outcome_unknown", "resource_not_found", "service_unavailable"];
662
704
  readonly errorSets: readonly ["tier:customer", "request"];
663
- }, {
664
- readonly method: "POST";
665
- readonly path: "/v1/me/payment-methods/{id}/verify";
666
- readonly group: "customer";
667
- readonly auth: "customer";
668
- readonly permission: null;
669
- readonly sensitive: false;
670
- readonly mountedWhen: null;
671
- readonly request: null;
672
- readonly responses: {
673
- readonly 200: "PaymentMethod";
674
- };
675
- readonly errors: readonly ["card_attempts_blocked", "card_declined", "insufficient_funds", "invalid_param", "payment_method_not_usable", "payment_method_update_unsupported", "payment_provider_rejected", "provider_outcome_unknown", "resource_not_found", "service_unavailable"];
676
- readonly errorSets: readonly ["tier:customer"];
677
705
  }, {
678
706
  readonly method: "DELETE";
679
707
  readonly path: "/v1/me/payment-methods/{id}";
@@ -691,35 +719,35 @@ export declare const OPENRAILS_ROUTES: readonly [{
691
719
  readonly errorSets: readonly ["tier:customer"];
692
720
  }, {
693
721
  readonly method: "POST";
694
- readonly path: "/v1/me/payment-method-setups";
722
+ readonly path: "/v1/me/payment-methods/{id}/confirm";
695
723
  readonly group: "customer";
696
724
  readonly auth: "customer";
697
725
  readonly permission: null;
698
726
  readonly sensitive: false;
699
727
  readonly mountedWhen: null;
700
- readonly request: "PaymentMethodSetupParams";
728
+ readonly request: null;
701
729
  readonly responses: {
702
- readonly 200: "PaymentMethodSetup";
730
+ readonly 200: "PaymentMethod";
703
731
  };
704
- readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "custodian_capture_unavailable", "customer_session_required", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable"];
705
- readonly errorSets: readonly ["tier:customer", "request"];
732
+ readonly errors: readonly ["card_declined", "payment_provider_rejected", "resource_not_found", "service_unavailable"];
733
+ readonly errorSets: readonly ["tier:customer"];
706
734
  }, {
707
- readonly method: "GET";
708
- readonly path: "/v1/me/payment-method-setups/{id}";
735
+ readonly method: "POST";
736
+ readonly path: "/v1/me/stripe/billing-portal-sessions";
709
737
  readonly group: "customer";
710
738
  readonly auth: "customer";
711
739
  readonly permission: null;
712
740
  readonly sensitive: false;
713
- readonly mountedWhen: null;
741
+ readonly mountedWhen: "stripe_portal";
714
742
  readonly request: null;
715
743
  readonly responses: {
716
- readonly 200: "PaymentMethodSetup";
744
+ readonly 200: "StripePortalSession";
717
745
  };
718
- readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "custodian_capture_unavailable", "customer_session_required", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable"];
746
+ readonly errors: readonly ["invalid_param", "resource_not_found", "route_not_found"];
719
747
  readonly errorSets: readonly ["tier:customer"];
720
748
  }, {
721
- readonly method: "POST";
722
- readonly path: "/v1/me/payment-method-setups/{id}/confirm";
749
+ readonly method: "GET";
750
+ readonly path: "/v1/me/notifications";
723
751
  readonly group: "customer";
724
752
  readonly auth: "customer";
725
753
  readonly permission: null;
@@ -727,51 +755,52 @@ export declare const OPENRAILS_ROUTES: readonly [{
727
755
  readonly mountedWhen: null;
728
756
  readonly request: null;
729
757
  readonly responses: {
730
- readonly 200: "PaymentMethodSetup";
758
+ readonly 200: "ListPage<Notification>";
731
759
  };
732
- readonly errors: readonly ["card_attempts_blocked", "card_declined", "card_not_saved", "custodian_capture_unavailable", "customer_session_required", "idempotency_key_reused", "insufficient_funds", "invalid_param", "payment_method_required", "payment_method_stale", "payment_provider_rejected", "resource_access_denied", "resource_conflict", "resource_not_found", "service_unavailable"];
733
- readonly errorSets: readonly ["tier:customer"];
760
+ readonly errors: readonly ["invalid_cursor"];
761
+ readonly errorSets: readonly ["tier:customer", "request"];
734
762
  }, {
735
763
  readonly method: "POST";
736
- readonly path: "/v1/me/billing-portal";
764
+ readonly path: "/v1/me/notifications/read";
737
765
  readonly group: "customer";
738
766
  readonly auth: "customer";
739
767
  readonly permission: null;
740
768
  readonly sensitive: false;
741
- readonly mountedWhen: "stripe_portal";
742
- readonly request: null;
769
+ readonly mountedWhen: null;
770
+ readonly request: "MarkNotificationsReadParams";
743
771
  readonly responses: {
744
- readonly 200: "PortalResponse";
772
+ readonly 200: "CustomerNotificationLookup";
745
773
  };
746
- readonly errors: readonly ["invalid_param", "resource_not_found"];
747
- readonly errorSets: readonly ["tier:customer"];
774
+ readonly errors: readonly ["invalid_param"];
775
+ readonly errorSets: readonly ["tier:customer", "request"];
748
776
  }, {
749
- readonly method: "GET";
750
- readonly path: "/v1/me/notifications";
777
+ readonly method: "POST";
778
+ readonly path: "/v1/me/network-link/challenges";
751
779
  readonly group: "customer";
752
780
  readonly auth: "customer";
753
781
  readonly permission: null;
754
782
  readonly sensitive: false;
755
- readonly mountedWhen: null;
783
+ readonly mountedWhen: "customer_network";
756
784
  readonly request: null;
757
785
  readonly responses: {
758
- readonly 200: "ListPage<Notification>";
786
+ readonly 201: "NetworkLinkChallenge";
759
787
  };
760
- readonly errors: readonly ["invalid_cursor"];
761
- readonly errorSets: readonly ["tier:customer", "request"];
788
+ readonly errors: readonly ["service_unavailable"];
789
+ readonly errorSets: readonly ["tier:customer"];
762
790
  }, {
763
791
  readonly method: "POST";
764
- readonly path: "/v1/me/notifications/read";
792
+ readonly path: "/v1/me/network-link";
765
793
  readonly group: "customer";
766
794
  readonly auth: "customer";
767
795
  readonly permission: null;
768
796
  readonly sensitive: false;
769
- readonly mountedWhen: null;
770
- readonly request: "MarkNotificationsReadParams";
797
+ readonly mountedWhen: "customer_network";
798
+ readonly request: "CreateNetworkLinkParams";
771
799
  readonly responses: {
772
- readonly 200: "CustomerNotificationLookup";
800
+ readonly 200: "CustomerLink";
801
+ readonly 201: "CustomerLink";
773
802
  };
774
- readonly errors: readonly ["invalid_param"];
803
+ readonly errors: readonly ["network_account_linked", "network_link_challenge_invalid", "network_link_conflict", "network_terms_required", "service_unavailable"];
775
804
  readonly errorSets: readonly ["tier:customer", "request"];
776
805
  }];
777
806
  export declare const OPENRAILS_ERROR_SETS: Readonly<Record<string, readonly string[]>>;