@cimplify/sdk 0.104.0 → 0.104.1

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 (71) hide show
  1. package/dist/advanced.d.mts +3 -7
  2. package/dist/advanced.d.ts +3 -7
  3. package/dist/advanced.js +23 -23
  4. package/dist/advanced.mjs +4 -4
  5. package/dist/{client-BuLcOWLv.d.ts → catalogue-BlQ85Uma.d.mts} +415 -763
  6. package/dist/{client-D5AoobFc.d.mts → catalogue-C8TqOj9K.d.ts} +415 -763
  7. package/dist/{payment-g0HFkEDU.d.mts → checkout-BqK9XUz5.d.mts} +3824 -1446
  8. package/dist/{payment-g0HFkEDU.d.ts → checkout-BqK9XUz5.d.ts} +3824 -1446
  9. package/dist/{chunk-GOHSXBKW.mjs → chunk-33VCYWVL.mjs} +25 -1
  10. package/dist/{chunk-2WPVUIHX.mjs → chunk-6G3ANKQA.mjs} +1030 -360
  11. package/dist/{chunk-E4K2VQDD.js → chunk-BWEIMKLF.js} +541 -16
  12. package/dist/{chunk-IQFFSKE2.js → chunk-DQEXY542.js} +1345 -746
  13. package/dist/{chunk-CNN7Z2IP.js → chunk-EV2EVOYS.js} +27 -0
  14. package/dist/{chunk-YVAEY3VC.js → chunk-HYFA67A7.js} +1034 -364
  15. package/dist/{chunk-5RT4HYMP.mjs → chunk-L5SNEU2O.mjs} +524 -15
  16. package/dist/{chunk-4BKOKHE3.js → chunk-RBNBSQI7.mjs} +217 -19
  17. package/dist/{chunk-H3RATH4B.mjs → chunk-SFUJMS5E.js} +261 -2
  18. package/dist/{chunk-DYIAX3WI.mjs → chunk-U54CWUUT.mjs} +11 -2
  19. package/dist/{chunk-OKADBZAI.mjs → chunk-UFOWPN3D.mjs} +808 -574
  20. package/dist/{chunk-OCCNG6MO.mjs → chunk-V4457OKB.mjs} +1310 -722
  21. package/dist/{chunk-5BDYDZ4U.js → chunk-WXREIBFW.js} +892 -657
  22. package/dist/{chunk-7PDEX54K.js → chunk-XAUSDMMZ.js} +13 -3
  23. package/dist/{client-BVNWjk6W.d.ts → client-DhXeiUrf.d.ts} +2 -2
  24. package/dist/{client-fM716k7G.d.mts → client-mXiUrV4X.d.mts} +2 -2
  25. package/dist/{index-BtcoqrY1.d.ts → index-B0AdZvrM.d.mts} +9 -4
  26. package/dist/{index-D7Tf3v7c.d.mts → index-CK8Nk5uQ.d.ts} +9 -4
  27. package/dist/index-DPWI5XcU.d.ts +8 -0
  28. package/dist/index-DVfUh-ci.d.mts +8 -0
  29. package/dist/index.d.mts +31 -14
  30. package/dist/index.d.ts +31 -14
  31. package/dist/index.js +305 -133
  32. package/dist/index.mjs +6 -6
  33. package/dist/mock/cli.mjs +1442 -386
  34. package/dist/mock/library.js +1168 -352
  35. package/dist/mock/library.mjs +1168 -352
  36. package/dist/mock/msw.js +1168 -352
  37. package/dist/mock/msw.mjs +1168 -352
  38. package/dist/{price-BLIeAb8K.d.ts → price-6hQIIac9.d.ts} +1 -1
  39. package/dist/{price-Czq_cTC_.d.mts → price-BUDv1rI7.d.mts} +1 -1
  40. package/dist/react.d.mts +10 -5
  41. package/dist/react.d.ts +10 -5
  42. package/dist/react.js +227 -197
  43. package/dist/react.mjs +90 -60
  44. package/dist/{server-DKK_D-PP.d.ts → server-DJ0mSs9i.d.mts} +31 -57
  45. package/dist/{server-BkVhOIwn.d.mts → server-DSTX76Ki.d.ts} +31 -57
  46. package/dist/server.d.mts +3 -4
  47. package/dist/server.d.ts +3 -4
  48. package/dist/server.js +11 -11
  49. package/dist/server.mjs +5 -5
  50. package/dist/styles.css +2 -2
  51. package/dist/testing/msw.d.mts +2 -2
  52. package/dist/testing/msw.d.ts +2 -2
  53. package/dist/testing/msw.js +4 -4
  54. package/dist/testing/msw.mjs +3 -3
  55. package/dist/testing/suite.d.mts +5 -6
  56. package/dist/testing/suite.d.ts +5 -6
  57. package/dist/testing/suite.js +29 -28
  58. package/dist/testing/suite.mjs +10 -9
  59. package/dist/testing.d.mts +2177 -14
  60. package/dist/testing.d.ts +2177 -14
  61. package/dist/testing.js +167 -89
  62. package/dist/testing.mjs +24 -10
  63. package/dist/utils.d.mts +3 -4
  64. package/dist/utils.d.ts +3 -4
  65. package/dist/utils.js +35 -31
  66. package/dist/utils.mjs +2 -2
  67. package/package.json +9 -9
  68. package/registry/order-history.json +1 -1
  69. package/registry/order-summary.json +1 -1
  70. package/dist/link-D9iSVxt5.d.mts +0 -308
  71. package/dist/link-D9iSVxt5.d.ts +0 -308
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  // src/types/common.ts
4
2
  function money(value) {
5
3
  return typeof value === "string" ? parseFloat(value) || 0 : value;
@@ -111,6 +109,34 @@ var ErrorCode = {
111
109
  OTP_CHALLENGE_CONSUMED: "OTP_CHALLENGE_CONSUMED",
112
110
  AUTHORIZATION_FAILED: "AUTHORIZATION_FAILED",
113
111
  PAYMENT_ACTION_NOT_COMPLETED: "PAYMENT_ACTION_NOT_COMPLETED",
112
+ CHECKOUT_TERMS_UNAVAILABLE: "CHECKOUT_TERMS_UNAVAILABLE",
113
+ CHECKOUT_FAILED: "CHECKOUT_FAILED",
114
+ CHECKOUT_AUTHORITY_REQUIRED: "CHECKOUT_AUTHORITY_REQUIRED",
115
+ CHECKOUT_NOT_READY: "CHECKOUT_NOT_READY",
116
+ BUSINESS_ID_REQUIRED: "BUSINESS_ID_REQUIRED",
117
+ ORDER_TYPE_REQUIRED: "ORDER_TYPE_REQUIRED",
118
+ NO_PAYMENT_ELEMENT: "NO_PAYMENT_ELEMENT",
119
+ PAYMENT_NOT_MOUNTED: "PAYMENT_NOT_MOUNTED",
120
+ AUTH_INCOMPLETE: "AUTH_INCOMPLETE",
121
+ AUTH_LOST: "AUTH_LOST",
122
+ ALREADY_PROCESSING: "ALREADY_PROCESSING",
123
+ AUTH_CONFIG_REQUIRED: "AUTH_CONFIG_REQUIRED",
124
+ AUTH_CALLBACK_MISSING_TOKEN: "AUTH_CALLBACK_MISSING_TOKEN",
125
+ AUTH_START_FAILED: "AUTH_START_FAILED",
126
+ SERVER_ERROR: "SERVER_ERROR",
127
+ API_ERROR: "API_ERROR",
128
+ IDEMPOTENCY_MISMATCH: "IDEMPOTENCY_MISMATCH",
129
+ INVALID_CUSTOMER_NAME: "INVALID_CUSTOMER_NAME",
130
+ INVALID_PAYMENT_METHOD: "INVALID_PAYMENT_METHOD",
131
+ INVALID_CART: "INVALID_CART",
132
+ PAYMENT_OUTCOME_UNKNOWN: "PAYMENT_OUTCOME_UNKNOWN",
133
+ REDIRECT_REQUIRED: "REDIRECT_REQUIRED",
134
+ PROVIDER_UNAVAILABLE: "PROVIDER_UNAVAILABLE",
135
+ AUTHORIZATION_REQUIRED: "AUTHORIZATION_REQUIRED",
136
+ CANCELLED: "CANCELLED",
137
+ POPUP_BLOCKED: "POPUP_BLOCKED",
138
+ FX_QUOTE_FAILED: "FX_QUOTE_FAILED",
139
+ NOT_IMPLEMENTED: "NOT_IMPLEMENTED",
114
140
  SLOT_UNAVAILABLE: "SLOT_UNAVAILABLE",
115
141
  BOOKING_CONFLICT: "BOOKING_CONFLICT",
116
142
  SERVICE_NOT_FOUND: "SERVICE_NOT_FOUND",
@@ -174,6 +200,10 @@ var ERROR_SUGGESTIONS = {
174
200
  CHECKOUT_NOT_READY: "Checkout elements are still initializing. Wait for readiness before submit.",
175
201
  CANCELLED: "Checkout was cancelled. Preserve cart state and allow shopper to retry.",
176
202
  REQUEST_TIMEOUT: "Provider call timed out. Poll payment/order status before issuing another charge attempt.",
203
+ CHECKOUT_AUTHORITY_REQUIRED: "Provide an exact cart or purchase-intent authority before starting checkout.",
204
+ AUTH_CONFIG_REQUIRED: "Configure the OAuth client and redirect URI before mounting embedded authentication.",
205
+ AUTH_CALLBACK_MISSING_TOKEN: "The authentication callback returned no access token. Restart sign-in before checkout.",
206
+ AUTH_START_FAILED: "Embedded authentication could not start. Verify the OAuth configuration and retry.",
177
207
  POPUP_BLOCKED: "Browser blocked provider popup. Ask shopper to enable popups and retry.",
178
208
  FX_QUOTE_FAILED: "Failed to lock FX quote. Retry currency quote or fallback to base currency."
179
209
  };
@@ -201,7 +231,7 @@ var CimplifyError = class extends Error {
201
231
  };
202
232
  var IdempotencyMismatchError = class extends CimplifyError {
203
233
  constructor(message, originalCreatedAt) {
204
- super("IDEMPOTENCY_MISMATCH", message, false);
234
+ super(ErrorCode.IDEMPOTENCY_MISMATCH, message, false);
205
235
  this.originalCreatedAt = originalCreatedAt;
206
236
  this.name = "IdempotencyMismatchError";
207
237
  }
@@ -259,19 +289,187 @@ function isRetryableError(error) {
259
289
  return false;
260
290
  }
261
291
 
262
- exports.CimplifyError = CimplifyError;
263
- exports.ERROR_HINTS = ERROR_HINTS;
264
- exports.ErrorCode = ErrorCode;
265
- exports.IdempotencyMismatchError = IdempotencyMismatchError;
266
- exports.ZERO = ZERO;
267
- exports.currencyCode = currencyCode;
268
- exports.enrichError = enrichError;
269
- exports.getErrorHint = getErrorHint;
270
- exports.isCimplifyError = isCimplifyError;
271
- exports.isIdempotencyMismatchError = isIdempotencyMismatchError;
272
- exports.isQuoteConflictRequiringConsent = isQuoteConflictRequiringConsent;
273
- exports.isQuoteError = isQuoteError;
274
- exports.isRetryableError = isRetryableError;
275
- exports.isSupportedCurrency = isSupportedCurrency;
276
- exports.money = money;
277
- exports.moneyFromNumber = moneyFromNumber;
292
+ // src/types/purchase-intent.ts
293
+ var PURCHASE_INTENT_SOURCE_KIND = {
294
+ PRODUCT: "product",
295
+ COLLECTION: "collection",
296
+ SALE: "sale",
297
+ POST: "post",
298
+ LIVE: "live",
299
+ CART: "cart",
300
+ CHAT: "chat",
301
+ MANUAL: "manual"
302
+ };
303
+ var PURCHASING_PRINCIPAL_KIND = {
304
+ ACCOUNT: "account",
305
+ BUSINESS: "business",
306
+ GUEST: "guest",
307
+ RECOGNISED: "recognised"
308
+ };
309
+ var PURCHASE_INTENT_STATUS = {
310
+ DRAFT: "draft",
311
+ OPEN: "open",
312
+ CONVERTED: "converted",
313
+ CANCELLED: "cancelled",
314
+ EXPIRED: "expired"
315
+ };
316
+ var PURCHASE_INTENT_SELLABLE_KIND = {
317
+ PRODUCT: "product",
318
+ VARIANT: "variant"
319
+ };
320
+ var PURCHASE_INTENT_OFFER_KIND = {
321
+ CATALOGUE: "catalogue",
322
+ SALE: "sale",
323
+ RAPID: "rapid"
324
+ };
325
+ var PURCHASE_INTENT_LINE_CONFIGURATION_KIND = {
326
+ SIMPLE: "simple",
327
+ CART: "cart"
328
+ };
329
+ var MOBILE_MONEY_TENDER_AUTHORITY_KIND = {
330
+ TRANSIENT: "transient",
331
+ SAVED_REFERENCE: "saved_reference"
332
+ };
333
+ var PURCHASE_INTENT_MOBILE_MONEY_NETWORK = {
334
+ MTN: "mtn",
335
+ TELECEL: "telecel",
336
+ AIRTEL: "airtel"
337
+ };
338
+ var CHECKOUT_COMPLIANCE_LANE = {
339
+ COMMERCE_CORE: "commerce_core",
340
+ NATIVE: "native",
341
+ STORE_KIT: "store_kit",
342
+ PERMITTED_EXTERNAL: "permitted_external",
343
+ BROWSE_ONLY: "browse_only"
344
+ };
345
+ var CHECKOUT_COMPLIANCE_REASON = {
346
+ COMMERCE_CORE: "commerce_core",
347
+ PHYSICAL_GOODS_NATIVE: "physical_goods_native",
348
+ STORE_KIT_REQUIRED: "store_kit_required",
349
+ PERMITTED_EXTERNAL_PURCHASE: "permitted_external_purchase",
350
+ DISTRIBUTION_AUTHORITY_UNVERIFIED: "distribution_authority_unverified",
351
+ PRODUCT_POLICY_UNRESOLVED: "product_policy_unresolved",
352
+ MIXED_LANE_UNSUPPORTED: "mixed_lane_unsupported"
353
+ };
354
+ var PAYMENT_INSTRUMENT_DISPLAY_KIND = {
355
+ CARD: "card",
356
+ MOBILE_MONEY: "mobile_money",
357
+ ERASED: "erased"
358
+ };
359
+ var PURCHASE_INTENT_PAYMENT_METHOD = {
360
+ CARD: "card",
361
+ MOBILE_MONEY: "mobile_money",
362
+ OFFLINE: "offline"
363
+ };
364
+ var PAYMENT_COLLECTION_MODE = {
365
+ REQUEST_TO_PAY: "request_to_pay",
366
+ MANDATE_DEBIT: "mandate_debit",
367
+ CREDENTIAL_CHARGE: "credential_charge",
368
+ OFFLINE_TENDER: "offline_tender"
369
+ };
370
+ var PURCHASE_INTENT_PAYMENT_PROVIDER = {
371
+ STRIPE: "stripe",
372
+ PAYSTACK: "paystack",
373
+ CELLULANT: "cellulant",
374
+ MTN_MOMO: "mtn_momo"
375
+ };
376
+ var PAYMENT_OPTION_STATUS = {
377
+ ELIGIBLE: "eligible",
378
+ INELIGIBLE: "ineligible",
379
+ EXPIRED: "expired"
380
+ };
381
+ var PAYMENT_OPTION_NEXT_ACTION = {
382
+ NONE: "none",
383
+ PROVIDER_APPROVAL: "provider_approval",
384
+ STEP_UP: "step_up"
385
+ };
386
+ var LEGACY_CHECKOUT_PAYMENT_METHOD_ALIAS = {
387
+ CASH: "cash",
388
+ /** Compatibility form value only; maps to funding allocation, never an option. */
389
+ STORE_CREDIT: "store_credit"
390
+ };
391
+ var LEGACY_CHECKOUT_PAYMENT_STATUS = {
392
+ SUCCEEDED: "succeeded",
393
+ PROCESSING: "processing",
394
+ UNKNOWN: "unknown",
395
+ REQUIRES_ACTION: "requires_action"
396
+ };
397
+ var CHECKOUT_TERMS_COMPONENT = {
398
+ SUBTOTAL: "subtotal",
399
+ DISCOUNT_TOTAL: "discount_total",
400
+ TAX_TOTAL: "tax_total",
401
+ DELIVERY_TOTAL: "delivery_total",
402
+ STATUTORY_TOTAL: "statutory_total",
403
+ TOTAL_OBLIGATION: "total_obligation",
404
+ DUE_NOW: "due_now",
405
+ RAIL_AMOUNT: "rail_amount",
406
+ STORE_CREDIT_CONSUMED: "store_credit_consumed",
407
+ VOUCHER_CREDIT_CONSUMED: "voucher_credit_consumed"
408
+ };
409
+ var CHECKOUT_MATERIAL_TERMS_COMPONENT = {
410
+ LINES: "lines",
411
+ DESTINATION: "destination",
412
+ DELIVERY_PROMISE: "delivery_promise",
413
+ ENTITLEMENT: "entitlement",
414
+ CANCELLATION_TERMS: "cancellation_terms",
415
+ COMPLIANCE: "compliance",
416
+ CURRENCY: "currency"
417
+ };
418
+ var CHECKOUT_TERMS_DELTA_KIND = {
419
+ MONEY: "money",
420
+ MATERIAL: "material",
421
+ PAYMENT_OPTION: "payment_option"
422
+ };
423
+ var CHECKOUT_INVALIDATION_REASON = {
424
+ SOURCE_UNAVAILABLE: "source_unavailable",
425
+ OFFER_ENDED: "offer_ended",
426
+ OFFER_CHANGED: "offer_changed",
427
+ SELLABLE_UNAVAILABLE: "sellable_unavailable",
428
+ COMPLIANCE_CHANGED: "compliance_changed",
429
+ PAYMENT_OPTION_CHANGED: "payment_option_changed"
430
+ };
431
+ var PURCHASE_INTENT_CONFIRM_STATUS = {
432
+ ORDER_CREATED: "order_created",
433
+ COLLECTION_PROCESSING: "collection_processing",
434
+ PAYMENT_OUTCOME_UNKNOWN: "payment_outcome_unknown",
435
+ PAYMENT_FAILED: "payment_failed",
436
+ REDIRECT_REQUIRED: "redirect_required",
437
+ CARD_POPUP_REQUIRED: "card_popup_required",
438
+ AUTHORIZATION_REQUIRED: "authorization_required",
439
+ TERMS_CHANGED: "terms_changed",
440
+ SELECTION_UNAVAILABLE: "selection_unavailable",
441
+ OFFER_ENDED: "offer_ended",
442
+ SOURCE_UNAVAILABLE: "source_unavailable"
443
+ };
444
+ var PURCHASE_INTENT_RESOLUTION_KIND = {
445
+ COMPLETED: "completed",
446
+ FAILED: "failed",
447
+ ACTION_REQUIRED: "action_required",
448
+ REVIEW_REQUIRED: "review_required",
449
+ OUTCOME_UNKNOWN: "outcome_unknown",
450
+ TIMED_OUT: "timed_out"
451
+ };
452
+ var PURCHASE_INTENT_ACTION_DECISION = {
453
+ CONTINUE: "continue",
454
+ STOP: "stop",
455
+ SUBMIT: "submit"
456
+ };
457
+ var PURCHASE_INTENT_RESOLVE_STATUS = {
458
+ CONFIRMING: "confirming",
459
+ POLLING: "polling",
460
+ AWAITING_ACTION: "awaiting_action",
461
+ REVIEWING_TERMS: "reviewing_terms",
462
+ COMPLETED: "completed",
463
+ FAILED: "failed",
464
+ OUTCOME_UNKNOWN: "outcome_unknown"
465
+ };
466
+ var PURCHASE_INTENT_ERROR_CODE = {
467
+ ACTION_UNSUPPORTED: "PURCHASE_INTENT_ACTION_UNSUPPORTED",
468
+ PAYMENT_FAILED: "PAYMENT_FAILED",
469
+ TERMS_CHANGED: "TERMS_CHANGED",
470
+ SELECTION_UNAVAILABLE: "SELECTION_UNAVAILABLE",
471
+ OFFER_ENDED: "OFFER_ENDED",
472
+ SOURCE_UNAVAILABLE: "SOURCE_UNAVAILABLE"
473
+ };
474
+
475
+ export { CHECKOUT_COMPLIANCE_LANE, CHECKOUT_COMPLIANCE_REASON, CHECKOUT_INVALIDATION_REASON, CHECKOUT_MATERIAL_TERMS_COMPONENT, CHECKOUT_TERMS_COMPONENT, CHECKOUT_TERMS_DELTA_KIND, CimplifyError, ERROR_HINTS, ErrorCode, IdempotencyMismatchError, LEGACY_CHECKOUT_PAYMENT_METHOD_ALIAS, LEGACY_CHECKOUT_PAYMENT_STATUS, MOBILE_MONEY_TENDER_AUTHORITY_KIND, PAYMENT_COLLECTION_MODE, PAYMENT_INSTRUMENT_DISPLAY_KIND, PAYMENT_OPTION_NEXT_ACTION, PAYMENT_OPTION_STATUS, PURCHASE_INTENT_ACTION_DECISION, PURCHASE_INTENT_CONFIRM_STATUS, PURCHASE_INTENT_ERROR_CODE, PURCHASE_INTENT_LINE_CONFIGURATION_KIND, PURCHASE_INTENT_MOBILE_MONEY_NETWORK, PURCHASE_INTENT_OFFER_KIND, PURCHASE_INTENT_PAYMENT_METHOD, PURCHASE_INTENT_PAYMENT_PROVIDER, PURCHASE_INTENT_RESOLUTION_KIND, PURCHASE_INTENT_RESOLVE_STATUS, PURCHASE_INTENT_SELLABLE_KIND, PURCHASE_INTENT_SOURCE_KIND, PURCHASE_INTENT_STATUS, PURCHASING_PRINCIPAL_KIND, ZERO, currencyCode, enrichError, getErrorHint, isCimplifyError, isIdempotencyMismatchError, isQuoteConflictRequiringConsent, isQuoteError, isRetryableError, isSupportedCurrency, money, moneyFromNumber };
@@ -1,3 +1,5 @@
1
+ 'use strict';
2
+
1
3
  // src/types/common.ts
2
4
  function money(value) {
3
5
  return typeof value === "string" ? parseFloat(value) || 0 : value;
@@ -109,6 +111,34 @@ var ErrorCode = {
109
111
  OTP_CHALLENGE_CONSUMED: "OTP_CHALLENGE_CONSUMED",
110
112
  AUTHORIZATION_FAILED: "AUTHORIZATION_FAILED",
111
113
  PAYMENT_ACTION_NOT_COMPLETED: "PAYMENT_ACTION_NOT_COMPLETED",
114
+ CHECKOUT_TERMS_UNAVAILABLE: "CHECKOUT_TERMS_UNAVAILABLE",
115
+ CHECKOUT_FAILED: "CHECKOUT_FAILED",
116
+ CHECKOUT_AUTHORITY_REQUIRED: "CHECKOUT_AUTHORITY_REQUIRED",
117
+ CHECKOUT_NOT_READY: "CHECKOUT_NOT_READY",
118
+ BUSINESS_ID_REQUIRED: "BUSINESS_ID_REQUIRED",
119
+ ORDER_TYPE_REQUIRED: "ORDER_TYPE_REQUIRED",
120
+ NO_PAYMENT_ELEMENT: "NO_PAYMENT_ELEMENT",
121
+ PAYMENT_NOT_MOUNTED: "PAYMENT_NOT_MOUNTED",
122
+ AUTH_INCOMPLETE: "AUTH_INCOMPLETE",
123
+ AUTH_LOST: "AUTH_LOST",
124
+ ALREADY_PROCESSING: "ALREADY_PROCESSING",
125
+ AUTH_CONFIG_REQUIRED: "AUTH_CONFIG_REQUIRED",
126
+ AUTH_CALLBACK_MISSING_TOKEN: "AUTH_CALLBACK_MISSING_TOKEN",
127
+ AUTH_START_FAILED: "AUTH_START_FAILED",
128
+ SERVER_ERROR: "SERVER_ERROR",
129
+ API_ERROR: "API_ERROR",
130
+ IDEMPOTENCY_MISMATCH: "IDEMPOTENCY_MISMATCH",
131
+ INVALID_CUSTOMER_NAME: "INVALID_CUSTOMER_NAME",
132
+ INVALID_PAYMENT_METHOD: "INVALID_PAYMENT_METHOD",
133
+ INVALID_CART: "INVALID_CART",
134
+ PAYMENT_OUTCOME_UNKNOWN: "PAYMENT_OUTCOME_UNKNOWN",
135
+ REDIRECT_REQUIRED: "REDIRECT_REQUIRED",
136
+ PROVIDER_UNAVAILABLE: "PROVIDER_UNAVAILABLE",
137
+ AUTHORIZATION_REQUIRED: "AUTHORIZATION_REQUIRED",
138
+ CANCELLED: "CANCELLED",
139
+ POPUP_BLOCKED: "POPUP_BLOCKED",
140
+ FX_QUOTE_FAILED: "FX_QUOTE_FAILED",
141
+ NOT_IMPLEMENTED: "NOT_IMPLEMENTED",
112
142
  SLOT_UNAVAILABLE: "SLOT_UNAVAILABLE",
113
143
  BOOKING_CONFLICT: "BOOKING_CONFLICT",
114
144
  SERVICE_NOT_FOUND: "SERVICE_NOT_FOUND",
@@ -172,6 +202,10 @@ var ERROR_SUGGESTIONS = {
172
202
  CHECKOUT_NOT_READY: "Checkout elements are still initializing. Wait for readiness before submit.",
173
203
  CANCELLED: "Checkout was cancelled. Preserve cart state and allow shopper to retry.",
174
204
  REQUEST_TIMEOUT: "Provider call timed out. Poll payment/order status before issuing another charge attempt.",
205
+ CHECKOUT_AUTHORITY_REQUIRED: "Provide an exact cart or purchase-intent authority before starting checkout.",
206
+ AUTH_CONFIG_REQUIRED: "Configure the OAuth client and redirect URI before mounting embedded authentication.",
207
+ AUTH_CALLBACK_MISSING_TOKEN: "The authentication callback returned no access token. Restart sign-in before checkout.",
208
+ AUTH_START_FAILED: "Embedded authentication could not start. Verify the OAuth configuration and retry.",
175
209
  POPUP_BLOCKED: "Browser blocked provider popup. Ask shopper to enable popups and retry.",
176
210
  FX_QUOTE_FAILED: "Failed to lock FX quote. Retry currency quote or fallback to base currency."
177
211
  };
@@ -199,7 +233,7 @@ var CimplifyError = class extends Error {
199
233
  };
200
234
  var IdempotencyMismatchError = class extends CimplifyError {
201
235
  constructor(message, originalCreatedAt) {
202
- super("IDEMPOTENCY_MISMATCH", message, false);
236
+ super(ErrorCode.IDEMPOTENCY_MISMATCH, message, false);
203
237
  this.originalCreatedAt = originalCreatedAt;
204
238
  this.name = "IdempotencyMismatchError";
205
239
  }
@@ -257,4 +291,229 @@ function isRetryableError(error) {
257
291
  return false;
258
292
  }
259
293
 
260
- export { CimplifyError, ERROR_HINTS, ErrorCode, IdempotencyMismatchError, ZERO, currencyCode, enrichError, getErrorHint, isCimplifyError, isIdempotencyMismatchError, isQuoteConflictRequiringConsent, isQuoteError, isRetryableError, isSupportedCurrency, money, moneyFromNumber };
294
+ // src/types/purchase-intent.ts
295
+ var PURCHASE_INTENT_SOURCE_KIND = {
296
+ PRODUCT: "product",
297
+ COLLECTION: "collection",
298
+ SALE: "sale",
299
+ POST: "post",
300
+ LIVE: "live",
301
+ CART: "cart",
302
+ CHAT: "chat",
303
+ MANUAL: "manual"
304
+ };
305
+ var PURCHASING_PRINCIPAL_KIND = {
306
+ ACCOUNT: "account",
307
+ BUSINESS: "business",
308
+ GUEST: "guest",
309
+ RECOGNISED: "recognised"
310
+ };
311
+ var PURCHASE_INTENT_STATUS = {
312
+ DRAFT: "draft",
313
+ OPEN: "open",
314
+ CONVERTED: "converted",
315
+ CANCELLED: "cancelled",
316
+ EXPIRED: "expired"
317
+ };
318
+ var PURCHASE_INTENT_SELLABLE_KIND = {
319
+ PRODUCT: "product",
320
+ VARIANT: "variant"
321
+ };
322
+ var PURCHASE_INTENT_OFFER_KIND = {
323
+ CATALOGUE: "catalogue",
324
+ SALE: "sale",
325
+ RAPID: "rapid"
326
+ };
327
+ var PURCHASE_INTENT_LINE_CONFIGURATION_KIND = {
328
+ SIMPLE: "simple",
329
+ CART: "cart"
330
+ };
331
+ var MOBILE_MONEY_TENDER_AUTHORITY_KIND = {
332
+ TRANSIENT: "transient",
333
+ SAVED_REFERENCE: "saved_reference"
334
+ };
335
+ var PURCHASE_INTENT_MOBILE_MONEY_NETWORK = {
336
+ MTN: "mtn",
337
+ TELECEL: "telecel",
338
+ AIRTEL: "airtel"
339
+ };
340
+ var CHECKOUT_COMPLIANCE_LANE = {
341
+ COMMERCE_CORE: "commerce_core",
342
+ NATIVE: "native",
343
+ STORE_KIT: "store_kit",
344
+ PERMITTED_EXTERNAL: "permitted_external",
345
+ BROWSE_ONLY: "browse_only"
346
+ };
347
+ var CHECKOUT_COMPLIANCE_REASON = {
348
+ COMMERCE_CORE: "commerce_core",
349
+ PHYSICAL_GOODS_NATIVE: "physical_goods_native",
350
+ STORE_KIT_REQUIRED: "store_kit_required",
351
+ PERMITTED_EXTERNAL_PURCHASE: "permitted_external_purchase",
352
+ DISTRIBUTION_AUTHORITY_UNVERIFIED: "distribution_authority_unverified",
353
+ PRODUCT_POLICY_UNRESOLVED: "product_policy_unresolved",
354
+ MIXED_LANE_UNSUPPORTED: "mixed_lane_unsupported"
355
+ };
356
+ var PAYMENT_INSTRUMENT_DISPLAY_KIND = {
357
+ CARD: "card",
358
+ MOBILE_MONEY: "mobile_money",
359
+ ERASED: "erased"
360
+ };
361
+ var PURCHASE_INTENT_PAYMENT_METHOD = {
362
+ CARD: "card",
363
+ MOBILE_MONEY: "mobile_money",
364
+ OFFLINE: "offline"
365
+ };
366
+ var PAYMENT_COLLECTION_MODE = {
367
+ REQUEST_TO_PAY: "request_to_pay",
368
+ MANDATE_DEBIT: "mandate_debit",
369
+ CREDENTIAL_CHARGE: "credential_charge",
370
+ OFFLINE_TENDER: "offline_tender"
371
+ };
372
+ var PURCHASE_INTENT_PAYMENT_PROVIDER = {
373
+ STRIPE: "stripe",
374
+ PAYSTACK: "paystack",
375
+ CELLULANT: "cellulant",
376
+ MTN_MOMO: "mtn_momo"
377
+ };
378
+ var PAYMENT_OPTION_STATUS = {
379
+ ELIGIBLE: "eligible",
380
+ INELIGIBLE: "ineligible",
381
+ EXPIRED: "expired"
382
+ };
383
+ var PAYMENT_OPTION_NEXT_ACTION = {
384
+ NONE: "none",
385
+ PROVIDER_APPROVAL: "provider_approval",
386
+ STEP_UP: "step_up"
387
+ };
388
+ var LEGACY_CHECKOUT_PAYMENT_METHOD_ALIAS = {
389
+ CASH: "cash",
390
+ /** Compatibility form value only; maps to funding allocation, never an option. */
391
+ STORE_CREDIT: "store_credit"
392
+ };
393
+ var LEGACY_CHECKOUT_PAYMENT_STATUS = {
394
+ SUCCEEDED: "succeeded",
395
+ PROCESSING: "processing",
396
+ UNKNOWN: "unknown",
397
+ REQUIRES_ACTION: "requires_action"
398
+ };
399
+ var CHECKOUT_TERMS_COMPONENT = {
400
+ SUBTOTAL: "subtotal",
401
+ DISCOUNT_TOTAL: "discount_total",
402
+ TAX_TOTAL: "tax_total",
403
+ DELIVERY_TOTAL: "delivery_total",
404
+ STATUTORY_TOTAL: "statutory_total",
405
+ TOTAL_OBLIGATION: "total_obligation",
406
+ DUE_NOW: "due_now",
407
+ RAIL_AMOUNT: "rail_amount",
408
+ STORE_CREDIT_CONSUMED: "store_credit_consumed",
409
+ VOUCHER_CREDIT_CONSUMED: "voucher_credit_consumed"
410
+ };
411
+ var CHECKOUT_MATERIAL_TERMS_COMPONENT = {
412
+ LINES: "lines",
413
+ DESTINATION: "destination",
414
+ DELIVERY_PROMISE: "delivery_promise",
415
+ ENTITLEMENT: "entitlement",
416
+ CANCELLATION_TERMS: "cancellation_terms",
417
+ COMPLIANCE: "compliance",
418
+ CURRENCY: "currency"
419
+ };
420
+ var CHECKOUT_TERMS_DELTA_KIND = {
421
+ MONEY: "money",
422
+ MATERIAL: "material",
423
+ PAYMENT_OPTION: "payment_option"
424
+ };
425
+ var CHECKOUT_INVALIDATION_REASON = {
426
+ SOURCE_UNAVAILABLE: "source_unavailable",
427
+ OFFER_ENDED: "offer_ended",
428
+ OFFER_CHANGED: "offer_changed",
429
+ SELLABLE_UNAVAILABLE: "sellable_unavailable",
430
+ COMPLIANCE_CHANGED: "compliance_changed",
431
+ PAYMENT_OPTION_CHANGED: "payment_option_changed"
432
+ };
433
+ var PURCHASE_INTENT_CONFIRM_STATUS = {
434
+ ORDER_CREATED: "order_created",
435
+ COLLECTION_PROCESSING: "collection_processing",
436
+ PAYMENT_OUTCOME_UNKNOWN: "payment_outcome_unknown",
437
+ PAYMENT_FAILED: "payment_failed",
438
+ REDIRECT_REQUIRED: "redirect_required",
439
+ CARD_POPUP_REQUIRED: "card_popup_required",
440
+ AUTHORIZATION_REQUIRED: "authorization_required",
441
+ TERMS_CHANGED: "terms_changed",
442
+ SELECTION_UNAVAILABLE: "selection_unavailable",
443
+ OFFER_ENDED: "offer_ended",
444
+ SOURCE_UNAVAILABLE: "source_unavailable"
445
+ };
446
+ var PURCHASE_INTENT_RESOLUTION_KIND = {
447
+ COMPLETED: "completed",
448
+ FAILED: "failed",
449
+ ACTION_REQUIRED: "action_required",
450
+ REVIEW_REQUIRED: "review_required",
451
+ OUTCOME_UNKNOWN: "outcome_unknown",
452
+ TIMED_OUT: "timed_out"
453
+ };
454
+ var PURCHASE_INTENT_ACTION_DECISION = {
455
+ CONTINUE: "continue",
456
+ STOP: "stop",
457
+ SUBMIT: "submit"
458
+ };
459
+ var PURCHASE_INTENT_RESOLVE_STATUS = {
460
+ CONFIRMING: "confirming",
461
+ POLLING: "polling",
462
+ AWAITING_ACTION: "awaiting_action",
463
+ REVIEWING_TERMS: "reviewing_terms",
464
+ COMPLETED: "completed",
465
+ FAILED: "failed",
466
+ OUTCOME_UNKNOWN: "outcome_unknown"
467
+ };
468
+ var PURCHASE_INTENT_ERROR_CODE = {
469
+ ACTION_UNSUPPORTED: "PURCHASE_INTENT_ACTION_UNSUPPORTED",
470
+ PAYMENT_FAILED: "PAYMENT_FAILED",
471
+ TERMS_CHANGED: "TERMS_CHANGED",
472
+ SELECTION_UNAVAILABLE: "SELECTION_UNAVAILABLE",
473
+ OFFER_ENDED: "OFFER_ENDED",
474
+ SOURCE_UNAVAILABLE: "SOURCE_UNAVAILABLE"
475
+ };
476
+
477
+ exports.CHECKOUT_COMPLIANCE_LANE = CHECKOUT_COMPLIANCE_LANE;
478
+ exports.CHECKOUT_COMPLIANCE_REASON = CHECKOUT_COMPLIANCE_REASON;
479
+ exports.CHECKOUT_INVALIDATION_REASON = CHECKOUT_INVALIDATION_REASON;
480
+ exports.CHECKOUT_MATERIAL_TERMS_COMPONENT = CHECKOUT_MATERIAL_TERMS_COMPONENT;
481
+ exports.CHECKOUT_TERMS_COMPONENT = CHECKOUT_TERMS_COMPONENT;
482
+ exports.CHECKOUT_TERMS_DELTA_KIND = CHECKOUT_TERMS_DELTA_KIND;
483
+ exports.CimplifyError = CimplifyError;
484
+ exports.ERROR_HINTS = ERROR_HINTS;
485
+ exports.ErrorCode = ErrorCode;
486
+ exports.IdempotencyMismatchError = IdempotencyMismatchError;
487
+ exports.LEGACY_CHECKOUT_PAYMENT_METHOD_ALIAS = LEGACY_CHECKOUT_PAYMENT_METHOD_ALIAS;
488
+ exports.LEGACY_CHECKOUT_PAYMENT_STATUS = LEGACY_CHECKOUT_PAYMENT_STATUS;
489
+ exports.MOBILE_MONEY_TENDER_AUTHORITY_KIND = MOBILE_MONEY_TENDER_AUTHORITY_KIND;
490
+ exports.PAYMENT_COLLECTION_MODE = PAYMENT_COLLECTION_MODE;
491
+ exports.PAYMENT_INSTRUMENT_DISPLAY_KIND = PAYMENT_INSTRUMENT_DISPLAY_KIND;
492
+ exports.PAYMENT_OPTION_NEXT_ACTION = PAYMENT_OPTION_NEXT_ACTION;
493
+ exports.PAYMENT_OPTION_STATUS = PAYMENT_OPTION_STATUS;
494
+ exports.PURCHASE_INTENT_ACTION_DECISION = PURCHASE_INTENT_ACTION_DECISION;
495
+ exports.PURCHASE_INTENT_CONFIRM_STATUS = PURCHASE_INTENT_CONFIRM_STATUS;
496
+ exports.PURCHASE_INTENT_ERROR_CODE = PURCHASE_INTENT_ERROR_CODE;
497
+ exports.PURCHASE_INTENT_LINE_CONFIGURATION_KIND = PURCHASE_INTENT_LINE_CONFIGURATION_KIND;
498
+ exports.PURCHASE_INTENT_MOBILE_MONEY_NETWORK = PURCHASE_INTENT_MOBILE_MONEY_NETWORK;
499
+ exports.PURCHASE_INTENT_OFFER_KIND = PURCHASE_INTENT_OFFER_KIND;
500
+ exports.PURCHASE_INTENT_PAYMENT_METHOD = PURCHASE_INTENT_PAYMENT_METHOD;
501
+ exports.PURCHASE_INTENT_PAYMENT_PROVIDER = PURCHASE_INTENT_PAYMENT_PROVIDER;
502
+ exports.PURCHASE_INTENT_RESOLUTION_KIND = PURCHASE_INTENT_RESOLUTION_KIND;
503
+ exports.PURCHASE_INTENT_RESOLVE_STATUS = PURCHASE_INTENT_RESOLVE_STATUS;
504
+ exports.PURCHASE_INTENT_SELLABLE_KIND = PURCHASE_INTENT_SELLABLE_KIND;
505
+ exports.PURCHASE_INTENT_SOURCE_KIND = PURCHASE_INTENT_SOURCE_KIND;
506
+ exports.PURCHASE_INTENT_STATUS = PURCHASE_INTENT_STATUS;
507
+ exports.PURCHASING_PRINCIPAL_KIND = PURCHASING_PRINCIPAL_KIND;
508
+ exports.ZERO = ZERO;
509
+ exports.currencyCode = currencyCode;
510
+ exports.enrichError = enrichError;
511
+ exports.getErrorHint = getErrorHint;
512
+ exports.isCimplifyError = isCimplifyError;
513
+ exports.isIdempotencyMismatchError = isIdempotencyMismatchError;
514
+ exports.isQuoteConflictRequiringConsent = isQuoteConflictRequiringConsent;
515
+ exports.isQuoteError = isQuoteError;
516
+ exports.isRetryableError = isRetryableError;
517
+ exports.isSupportedCurrency = isSupportedCurrency;
518
+ exports.money = money;
519
+ exports.moneyFromNumber = moneyFromNumber;
@@ -1,4 +1,4 @@
1
- import { moneyFromNumber, money } from './chunk-H3RATH4B.mjs';
1
+ import { PURCHASE_INTENT_MOBILE_MONEY_NETWORK, moneyFromNumber, money } from './chunk-RBNBSQI7.mjs';
2
2
 
3
3
  // src/utils/price.ts
4
4
  var CURRENCY_SYMBOLS = {
@@ -511,6 +511,15 @@ function canonicalMobileMoneyProvider(provider) {
511
511
  const normalized = provider.trim().toLowerCase().replace(/[\s_-]+/g, "");
512
512
  return MOBILE_MONEY_PROVIDER_ALIASES[normalized] ?? null;
513
513
  }
514
+ var PURCHASE_INTENT_NETWORK_BY_PROVIDER = {
515
+ mtn: PURCHASE_INTENT_MOBILE_MONEY_NETWORK.MTN,
516
+ telecel: PURCHASE_INTENT_MOBILE_MONEY_NETWORK.TELECEL,
517
+ airteltigo: PURCHASE_INTENT_MOBILE_MONEY_NETWORK.AIRTEL
518
+ };
519
+ function purchaseIntentMobileMoneyNetwork(provider) {
520
+ const canonical = canonicalMobileMoneyProvider(provider);
521
+ return canonical ? PURCHASE_INTENT_NETWORK_BY_PROVIDER[canonical] ?? null : null;
522
+ }
514
523
  var LOOPBACK_AUTHORIZATION_HOSTS = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "[::1]"]);
515
524
  function paymentAuthorizationUrl(value) {
516
525
  if (typeof value !== "string" || !value.trim()) return null;
@@ -535,4 +544,4 @@ function detectMobileMoneyProvider(phoneNumber) {
535
544
  return null;
536
545
  }
537
546
 
538
- export { CURRENCY_SYMBOLS, MOBILE_MONEY_PROVIDERS, PAYMENT_TERMINAL_FAILURE_STATUSES, canonicalMobileMoneyProvider, categorizePaymentError, detectMobileMoneyProvider, formatMoney, formatNumberCompact, formatPrice, formatPriceAdjustment, formatPriceCompact, formatPriceRange, formatPriceWithTax, formatProductPrice, getBasePrice, getCurrencySymbol, getDiscountPercentage, getDisplayPrice, getMarkupPercentage, getPriceRange, getProductCurrency, getTaxAmount, getUnitPriceAtQuantity, getVariantUnitPrice, hasTaxInfo, isOnSale, isPaymentStatusFailure, isPaymentStatusRequiresAction, isPaymentStatusSuccess, isTaxInclusive, normalizePaymentResponse, normalizeStatusResponse, parsePrice, paymentAuthorizationUrl };
547
+ export { CURRENCY_SYMBOLS, MOBILE_MONEY_PROVIDERS, PAYMENT_TERMINAL_FAILURE_STATUSES, canonicalMobileMoneyProvider, categorizePaymentError, detectMobileMoneyProvider, formatMoney, formatNumberCompact, formatPrice, formatPriceAdjustment, formatPriceCompact, formatPriceRange, formatPriceWithTax, formatProductPrice, getBasePrice, getCurrencySymbol, getDiscountPercentage, getDisplayPrice, getMarkupPercentage, getPriceRange, getProductCurrency, getTaxAmount, getUnitPriceAtQuantity, getVariantUnitPrice, hasTaxInfo, isOnSale, isPaymentStatusFailure, isPaymentStatusRequiresAction, isPaymentStatusSuccess, isTaxInclusive, normalizePaymentResponse, normalizeStatusResponse, parsePrice, paymentAuthorizationUrl, purchaseIntentMobileMoneyNetwork };