@cimplify/sdk 0.103.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.
- package/dist/advanced.d.mts +3 -7
- package/dist/advanced.d.ts +3 -7
- package/dist/advanced.js +23 -23
- package/dist/advanced.mjs +4 -4
- package/dist/{client-DHBwvh7U.d.ts → catalogue-BlQ85Uma.d.mts} +492 -748
- package/dist/{client-BfpNjJ_a.d.mts → catalogue-C8TqOj9K.d.ts} +492 -748
- package/dist/{payment-H5LoIvXU.d.mts → checkout-BqK9XUz5.d.mts} +4338 -1495
- package/dist/{payment-H5LoIvXU.d.ts → checkout-BqK9XUz5.d.ts} +4338 -1495
- package/dist/{chunk-GOHSXBKW.mjs → chunk-33VCYWVL.mjs} +25 -1
- package/dist/{chunk-C2JSNJUC.mjs → chunk-6G3ANKQA.mjs} +1080 -369
- package/dist/{chunk-QOWPGS7Z.js → chunk-BWEIMKLF.js} +572 -17
- package/dist/{chunk-JSWJ4XDE.js → chunk-DQEXY542.js} +1630 -824
- package/dist/{chunk-CNN7Z2IP.js → chunk-EV2EVOYS.js} +27 -0
- package/dist/{chunk-VIL6IQCG.js → chunk-HYFA67A7.js} +1084 -373
- package/dist/{chunk-H7ACMHM3.mjs → chunk-L5SNEU2O.mjs} +553 -16
- package/dist/{chunk-JG5CQNCB.js → chunk-RBNBSQI7.mjs} +221 -19
- package/dist/{chunk-VNPEYLB2.mjs → chunk-SFUJMS5E.js} +265 -2
- package/dist/{chunk-M4URVKHE.mjs → chunk-U54CWUUT.mjs} +11 -2
- package/dist/{chunk-GERXZQSX.mjs → chunk-UFOWPN3D.mjs} +967 -582
- package/dist/{chunk-J6PNHDHL.mjs → chunk-V4457OKB.mjs} +1580 -785
- package/dist/{chunk-R6OLQ33I.js → chunk-WXREIBFW.js} +1041 -654
- package/dist/{chunk-NNG6IFFX.js → chunk-XAUSDMMZ.js} +13 -3
- package/dist/{client-DpqRobY9.d.mts → client-DhXeiUrf.d.ts} +2 -2
- package/dist/{client-Dqg2mc-7.d.ts → client-mXiUrV4X.d.mts} +2 -2
- package/dist/{index-C8uDqLwJ.d.ts → index-B0AdZvrM.d.mts} +9 -4
- package/dist/{index-e2y6AK70.d.mts → index-CK8Nk5uQ.d.ts} +9 -4
- package/dist/index-DPWI5XcU.d.ts +8 -0
- package/dist/index-DVfUh-ci.d.mts +8 -0
- package/dist/index.d.mts +34 -15
- package/dist/index.d.ts +34 -15
- package/dist/index.js +306 -133
- package/dist/index.mjs +7 -6
- package/dist/mock/cli.mjs +1494 -395
- package/dist/mock/library.js +1220 -361
- package/dist/mock/library.mjs +1220 -361
- package/dist/mock/msw.js +1220 -361
- package/dist/mock/msw.mjs +1220 -361
- package/dist/{price-C2RqscMY.d.ts → price-6hQIIac9.d.ts} +1 -1
- package/dist/{price-BvePgDXe.d.mts → price-BUDv1rI7.d.mts} +1 -1
- package/dist/react.d.mts +10 -5
- package/dist/react.d.ts +10 -5
- package/dist/react.js +279 -225
- package/dist/react.mjs +140 -86
- package/dist/{server-DoXIpSd7.d.ts → server-DJ0mSs9i.d.mts} +33 -57
- package/dist/{server-C7FyLdrz.d.mts → server-DSTX76Ki.d.ts} +33 -57
- package/dist/server.d.mts +3 -4
- package/dist/server.d.ts +3 -4
- package/dist/server.js +12 -11
- package/dist/server.mjs +6 -5
- package/dist/styles.css +2 -2
- package/dist/testing/msw.d.mts +2 -2
- package/dist/testing/msw.d.ts +2 -2
- package/dist/testing/msw.js +4 -4
- package/dist/testing/msw.mjs +3 -3
- package/dist/testing/suite.d.mts +5 -6
- package/dist/testing/suite.d.ts +5 -6
- package/dist/testing/suite.js +29 -28
- package/dist/testing/suite.mjs +10 -9
- package/dist/testing.d.mts +2217 -14
- package/dist/testing.d.ts +2217 -14
- package/dist/testing.js +173 -83
- package/dist/testing.mjs +28 -10
- package/dist/utils.d.mts +3 -4
- package/dist/utils.d.ts +3 -4
- package/dist/utils.js +35 -31
- package/dist/utils.mjs +2 -2
- package/package.json +9 -9
- package/registry/chat-widget.json +1 -1
- package/registry/order-history.json +1 -1
- package/registry/order-summary.json +1 -1
- package/dist/link-cuNVYc2s.d.mts +0 -297
- package/dist/link-cuNVYc2s.d.ts +0 -297
|
@@ -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;
|
|
@@ -107,8 +105,38 @@ var ErrorCode = {
|
|
|
107
105
|
CARD_DECLINED: "CARD_DECLINED",
|
|
108
106
|
INVALID_OTP: "INVALID_OTP",
|
|
109
107
|
OTP_EXPIRED: "OTP_EXPIRED",
|
|
108
|
+
OTP_CHALLENGE_EXHAUSTED: "OTP_CHALLENGE_EXHAUSTED",
|
|
109
|
+
OTP_CHALLENGE_CONSUMED: "OTP_CHALLENGE_CONSUMED",
|
|
110
110
|
AUTHORIZATION_FAILED: "AUTHORIZATION_FAILED",
|
|
111
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",
|
|
112
140
|
SLOT_UNAVAILABLE: "SLOT_UNAVAILABLE",
|
|
113
141
|
BOOKING_CONFLICT: "BOOKING_CONFLICT",
|
|
114
142
|
SERVICE_NOT_FOUND: "SERVICE_NOT_FOUND",
|
|
@@ -152,6 +180,8 @@ var ERROR_SUGGESTIONS = {
|
|
|
152
180
|
CARD_DECLINED: "Card was declined. Ask shopper to retry or switch payment method.",
|
|
153
181
|
INVALID_OTP: "Authorization code is invalid. Let shopper re-enter OTP/PIN and retry.",
|
|
154
182
|
OTP_EXPIRED: "Authorization code expired. Request a new OTP and re-submit authorization.",
|
|
183
|
+
OTP_CHALLENGE_EXHAUSTED: "This verification challenge has no attempts left. Continue checkout without saved details or request a fresh challenge.",
|
|
184
|
+
OTP_CHALLENGE_CONSUMED: "This verification challenge has already been used. Continue with the established session or request a fresh challenge.",
|
|
155
185
|
AUTHORIZATION_FAILED: "Additional payment authorization failed. Retry authorization or change payment method.",
|
|
156
186
|
PAYMENT_ACTION_NOT_COMPLETED: "Required payment action was not completed. Resume provider flow and poll for status.",
|
|
157
187
|
SLOT_UNAVAILABLE: "Selected schedule slot is unavailable. Refresh available slots and ask shopper to reselect.",
|
|
@@ -170,6 +200,10 @@ var ERROR_SUGGESTIONS = {
|
|
|
170
200
|
CHECKOUT_NOT_READY: "Checkout elements are still initializing. Wait for readiness before submit.",
|
|
171
201
|
CANCELLED: "Checkout was cancelled. Preserve cart state and allow shopper to retry.",
|
|
172
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.",
|
|
173
207
|
POPUP_BLOCKED: "Browser blocked provider popup. Ask shopper to enable popups and retry.",
|
|
174
208
|
FX_QUOTE_FAILED: "Failed to lock FX quote. Retry currency quote or fallback to base currency."
|
|
175
209
|
};
|
|
@@ -197,7 +231,7 @@ var CimplifyError = class extends Error {
|
|
|
197
231
|
};
|
|
198
232
|
var IdempotencyMismatchError = class extends CimplifyError {
|
|
199
233
|
constructor(message, originalCreatedAt) {
|
|
200
|
-
super(
|
|
234
|
+
super(ErrorCode.IDEMPOTENCY_MISMATCH, message, false);
|
|
201
235
|
this.originalCreatedAt = originalCreatedAt;
|
|
202
236
|
this.name = "IdempotencyMismatchError";
|
|
203
237
|
}
|
|
@@ -255,19 +289,187 @@ function isRetryableError(error) {
|
|
|
255
289
|
return false;
|
|
256
290
|
}
|
|
257
291
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
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;
|
|
@@ -105,8 +107,38 @@ var ErrorCode = {
|
|
|
105
107
|
CARD_DECLINED: "CARD_DECLINED",
|
|
106
108
|
INVALID_OTP: "INVALID_OTP",
|
|
107
109
|
OTP_EXPIRED: "OTP_EXPIRED",
|
|
110
|
+
OTP_CHALLENGE_EXHAUSTED: "OTP_CHALLENGE_EXHAUSTED",
|
|
111
|
+
OTP_CHALLENGE_CONSUMED: "OTP_CHALLENGE_CONSUMED",
|
|
108
112
|
AUTHORIZATION_FAILED: "AUTHORIZATION_FAILED",
|
|
109
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",
|
|
110
142
|
SLOT_UNAVAILABLE: "SLOT_UNAVAILABLE",
|
|
111
143
|
BOOKING_CONFLICT: "BOOKING_CONFLICT",
|
|
112
144
|
SERVICE_NOT_FOUND: "SERVICE_NOT_FOUND",
|
|
@@ -150,6 +182,8 @@ var ERROR_SUGGESTIONS = {
|
|
|
150
182
|
CARD_DECLINED: "Card was declined. Ask shopper to retry or switch payment method.",
|
|
151
183
|
INVALID_OTP: "Authorization code is invalid. Let shopper re-enter OTP/PIN and retry.",
|
|
152
184
|
OTP_EXPIRED: "Authorization code expired. Request a new OTP and re-submit authorization.",
|
|
185
|
+
OTP_CHALLENGE_EXHAUSTED: "This verification challenge has no attempts left. Continue checkout without saved details or request a fresh challenge.",
|
|
186
|
+
OTP_CHALLENGE_CONSUMED: "This verification challenge has already been used. Continue with the established session or request a fresh challenge.",
|
|
153
187
|
AUTHORIZATION_FAILED: "Additional payment authorization failed. Retry authorization or change payment method.",
|
|
154
188
|
PAYMENT_ACTION_NOT_COMPLETED: "Required payment action was not completed. Resume provider flow and poll for status.",
|
|
155
189
|
SLOT_UNAVAILABLE: "Selected schedule slot is unavailable. Refresh available slots and ask shopper to reselect.",
|
|
@@ -168,6 +202,10 @@ var ERROR_SUGGESTIONS = {
|
|
|
168
202
|
CHECKOUT_NOT_READY: "Checkout elements are still initializing. Wait for readiness before submit.",
|
|
169
203
|
CANCELLED: "Checkout was cancelled. Preserve cart state and allow shopper to retry.",
|
|
170
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.",
|
|
171
209
|
POPUP_BLOCKED: "Browser blocked provider popup. Ask shopper to enable popups and retry.",
|
|
172
210
|
FX_QUOTE_FAILED: "Failed to lock FX quote. Retry currency quote or fallback to base currency."
|
|
173
211
|
};
|
|
@@ -195,7 +233,7 @@ var CimplifyError = class extends Error {
|
|
|
195
233
|
};
|
|
196
234
|
var IdempotencyMismatchError = class extends CimplifyError {
|
|
197
235
|
constructor(message, originalCreatedAt) {
|
|
198
|
-
super(
|
|
236
|
+
super(ErrorCode.IDEMPOTENCY_MISMATCH, message, false);
|
|
199
237
|
this.originalCreatedAt = originalCreatedAt;
|
|
200
238
|
this.name = "IdempotencyMismatchError";
|
|
201
239
|
}
|
|
@@ -253,4 +291,229 @@ function isRetryableError(error) {
|
|
|
253
291
|
return false;
|
|
254
292
|
}
|
|
255
293
|
|
|
256
|
-
|
|
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-
|
|
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 };
|