@payment-kit-js/vanilla 0.5.15 → 0.5.17

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 (82) hide show
  1. package/dist/{airwallex-apple-pay-adapter-Bs8AdQKY.mjs → airwallex-apple-pay-adapter-CPz54c9e.mjs} +1 -1
  2. package/dist/{airwallex-apple-pay-adapter-Bs8AdQKY.mjs.map → airwallex-apple-pay-adapter-CPz54c9e.mjs.map} +1 -1
  3. package/dist/{airwallex-apple-pay-adapter-D8enI9Vq.d.mts → airwallex-apple-pay-adapter-CnnZ7VL6.d.mts} +1 -1
  4. package/dist/{airwallex-apple-pay-adapter-D8enI9Vq.d.mts.map → airwallex-apple-pay-adapter-CnnZ7VL6.d.mts.map} +1 -1
  5. package/dist/{airwallex-google-pay-adapter-C8JTp01q.mjs → airwallex-google-pay-adapter-BvlROwj_.mjs} +1 -1
  6. package/dist/{airwallex-google-pay-adapter-C8JTp01q.mjs.map → airwallex-google-pay-adapter-BvlROwj_.mjs.map} +1 -1
  7. package/dist/{airwallex-google-pay-adapter-adaDktQM.d.mts → airwallex-google-pay-adapter-D-AxVLLq.d.mts} +1 -1
  8. package/dist/{airwallex-google-pay-adapter-adaDktQM.d.mts.map → airwallex-google-pay-adapter-D-AxVLLq.d.mts.map} +1 -1
  9. package/dist/analytics-Blvs2DW7.mjs +333 -0
  10. package/dist/analytics-Blvs2DW7.mjs.map +1 -0
  11. package/dist/{bnpl-shared-B-en2sPr.d.mts → bnpl-shared-BQwCBD45.d.mts} +2 -2
  12. package/dist/{bnpl-shared-B-en2sPr.d.mts.map → bnpl-shared-BQwCBD45.d.mts.map} +1 -1
  13. package/dist/{bnpl-shared-CEAXTL3Q.mjs → bnpl-shared-DGs1YzS9.mjs} +2 -2
  14. package/dist/{bnpl-shared-CEAXTL3Q.mjs.map → bnpl-shared-DGs1YzS9.mjs.map} +1 -1
  15. package/dist/cdn/paymentkit.js +75 -20
  16. package/dist/cdn/paymentkit.js.map +2 -2
  17. package/dist/cdn/paymentkit.min.js +5 -5
  18. package/dist/cdn/paymentkit.min.js.map +3 -3
  19. package/dist/{connect-card-Cra_F1cC.d.mts → connect-card-CZhzK_Tp.d.mts} +1 -1
  20. package/dist/{connect-card-Cra_F1cC.d.mts.map → connect-card-CZhzK_Tp.d.mts.map} +1 -1
  21. package/dist/{connect-card-D3Je4V7p.mjs → connect-card-kXLdSNTL.mjs} +2 -2
  22. package/dist/{connect-card-D3Je4V7p.mjs.map → connect-card-kXLdSNTL.mjs.map} +1 -1
  23. package/dist/{connect-tunnel-x-BhVAej5Q.mjs → connect-tunnel-x-5XOct5Tm.mjs} +2 -2
  24. package/dist/{connect-tunnel-x-BhVAej5Q.mjs.map → connect-tunnel-x-5XOct5Tm.mjs.map} +1 -1
  25. package/dist/{connect-tunnel-x-Wh-JG1O5.d.mts → connect-tunnel-x-BKtMfoGh.d.mts} +1 -1
  26. package/dist/{connect-tunnel-x-Wh-JG1O5.d.mts.map → connect-tunnel-x-BKtMfoGh.d.mts.map} +1 -1
  27. package/dist/index.d.mts +3 -3
  28. package/dist/index.mjs +5 -334
  29. package/dist/index.mjs.map +1 -1
  30. package/dist/{next-action-handlers-BZs04hYb.mjs → next-action-handlers-CLOt1wzO.mjs} +1 -1
  31. package/dist/{next-action-handlers-BZs04hYb.mjs.map → next-action-handlers-CLOt1wzO.mjs.map} +1 -1
  32. package/dist/payment-methods/affirm.d.mts +4 -4
  33. package/dist/payment-methods/affirm.mjs +2 -2
  34. package/dist/payment-methods/afterpay.d.mts +4 -4
  35. package/dist/payment-methods/afterpay.mjs +2 -2
  36. package/dist/payment-methods/airwallex-apple-pay-adapter.d.mts +1 -1
  37. package/dist/payment-methods/airwallex-apple-pay-adapter.mjs +1 -1
  38. package/dist/payment-methods/airwallex-google-pay-adapter.d.mts +1 -1
  39. package/dist/payment-methods/airwallex-google-pay-adapter.mjs +1 -1
  40. package/dist/payment-methods/apple-pay.d.mts +19 -10
  41. package/dist/payment-methods/apple-pay.d.mts.map +1 -1
  42. package/dist/payment-methods/apple-pay.mjs +14 -16
  43. package/dist/payment-methods/apple-pay.mjs.map +1 -1
  44. package/dist/payment-methods/bnpl-shared.d.mts +4 -4
  45. package/dist/payment-methods/bnpl-shared.mjs +2 -2
  46. package/dist/payment-methods/card.d.mts +3 -3
  47. package/dist/payment-methods/card.d.mts.map +1 -1
  48. package/dist/payment-methods/card.mjs +77 -18
  49. package/dist/payment-methods/card.mjs.map +1 -1
  50. package/dist/payment-methods/google-pay.d.mts +5 -5
  51. package/dist/payment-methods/google-pay.mjs +4 -4
  52. package/dist/payment-methods/klarna.d.mts +4 -4
  53. package/dist/payment-methods/klarna.mjs +2 -2
  54. package/dist/payment-methods/next-action-handlers.mjs +1 -1
  55. package/dist/payment-methods/paypal.d.mts +3 -3
  56. package/dist/payment-methods/paypal.mjs +1 -1
  57. package/dist/payment-methods/stripe-apple-pay-adapter.d.mts +1 -1
  58. package/dist/payment-methods/stripe-apple-pay-adapter.mjs +1 -1
  59. package/dist/payment-methods/stripe-google-pay-adapter.d.mts +1 -1
  60. package/dist/payment-methods/stripe-google-pay-adapter.mjs +1 -1
  61. package/dist/payment-methods/vgs-collect-loader.mjs +1 -1
  62. package/dist/penpal/connect-card.d.mts +1 -1
  63. package/dist/penpal/connect-card.mjs +2 -2
  64. package/dist/penpal/connect-tunnel-x.d.mts +1 -1
  65. package/dist/penpal/connect-tunnel-x.mjs +2 -2
  66. package/dist/{penpal-BFKeZTVz.mjs → penpal-CBrj43M5.mjs} +1 -1
  67. package/dist/{penpal-BFKeZTVz.mjs.map → penpal-CBrj43M5.mjs.map} +1 -1
  68. package/dist/{stripe-apple-pay-adapter-BLRjqgDf.mjs → stripe-apple-pay-adapter-7rF6xRIG.mjs} +1 -1
  69. package/dist/{stripe-apple-pay-adapter-BLRjqgDf.mjs.map → stripe-apple-pay-adapter-7rF6xRIG.mjs.map} +1 -1
  70. package/dist/{stripe-apple-pay-adapter-DcuGlQqQ.d.mts → stripe-apple-pay-adapter-D2OJRlAl.d.mts} +1 -1
  71. package/dist/{stripe-apple-pay-adapter-DcuGlQqQ.d.mts.map → stripe-apple-pay-adapter-D2OJRlAl.d.mts.map} +1 -1
  72. package/dist/{stripe-google-pay-adapter-BlQ2jVpE.d.mts → stripe-google-pay-adapter-B330fRiH.d.mts} +1 -1
  73. package/dist/{stripe-google-pay-adapter-BlQ2jVpE.d.mts.map → stripe-google-pay-adapter-B330fRiH.d.mts.map} +1 -1
  74. package/dist/{stripe-google-pay-adapter-CIkgjhw8.mjs → stripe-google-pay-adapter-B346KXt4.mjs} +1 -1
  75. package/dist/{stripe-google-pay-adapter-CIkgjhw8.mjs.map → stripe-google-pay-adapter-B346KXt4.mjs.map} +1 -1
  76. package/dist/{types-CQ8xbgoh.d.mts → types-B3mjYfOm.d.mts} +3 -3
  77. package/dist/{types-CQ8xbgoh.d.mts.map → types-B3mjYfOm.d.mts.map} +1 -1
  78. package/dist/{utils-B70Y8YcZ.mjs → utils-Dc6zwOe1.mjs} +1 -1
  79. package/dist/{utils-B70Y8YcZ.mjs.map → utils-Dc6zwOe1.mjs.map} +1 -1
  80. package/dist/{vgs-collect-loader-l5_Pnmhz.mjs → vgs-collect-loader-CTLSv4qv.mjs} +1 -1
  81. package/dist/{vgs-collect-loader-l5_Pnmhz.mjs.map → vgs-collect-loader-CTLSv4qv.mjs.map} +1 -1
  82. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PaymentKit.js v0.5.15
2
+ * PaymentKit.js v0.5.17
3
3
  * https://paymentkit.com
4
4
  *
5
5
  * @license MIT
@@ -42,7 +42,7 @@ var PaymentKit = (() => {
42
42
  });
43
43
 
44
44
  // package.json
45
- var version = "0.5.15";
45
+ var version = "0.5.17";
46
46
 
47
47
  // src/analytics/mock-adapter.ts
48
48
  var MockAnalyticsAdapter = class {
@@ -7527,17 +7527,14 @@ var PaymentKit = (() => {
7527
7527
  function getMockScenarioStr(mockScenario) {
7528
7528
  return mockScenario && mockScenario !== "none" /* None */ ? mockScenario : void 0;
7529
7529
  }
7530
- async function callStripeStartEndpoint(apiBaseUrl, secureToken, options, mockScenarioStr, checkoutRequestId) {
7530
+ async function callStripeStartEndpoint(apiBaseUrl, secureToken, options, checkoutRequestId) {
7531
7531
  return apiCall(
7532
7532
  `${apiBaseUrl}/api/checkout/${secureToken}/apple-pay/start`,
7533
7533
  {
7534
7534
  method: "POST",
7535
7535
  headers: { "Content-Type": "application/json" },
7536
7536
  body: JSON.stringify({
7537
- processor_id: options.processorId,
7538
- customer_info: options.customerInfo,
7539
- fraud_metadata: collectFraudMetadata(),
7540
- mock_scenario: mockScenarioStr
7537
+ processor_id: options.processorId
7541
7538
  })
7542
7539
  },
7543
7540
  checkoutRequestId
@@ -7550,13 +7547,16 @@ var PaymentKit = (() => {
7550
7547
  }
7551
7548
  return { adapter };
7552
7549
  }
7553
- async function callStripeConfirmEndpoint(apiBaseUrl, secureToken, paymentMethodId, mockScenarioStr, checkoutRequestId, payerEmail) {
7550
+ async function callStripeConfirmEndpoint(apiBaseUrl, secureToken, options, paymentMethodId, mockScenarioStr, checkoutRequestId, payerEmail) {
7554
7551
  const result = await apiCall(
7555
7552
  `${apiBaseUrl}/api/checkout/${secureToken}/apple-pay/confirm`,
7556
7553
  {
7557
7554
  method: "POST",
7558
7555
  headers: { "Content-Type": "application/json" },
7559
7556
  body: JSON.stringify({
7557
+ processor_id: options.processorId,
7558
+ customer_info: options.customerInfo,
7559
+ fraud_metadata: collectFraudMetadata(),
7560
7560
  payment_method_id: paymentMethodId,
7561
7561
  payer_email: payerEmail,
7562
7562
  mock_scenario: mockScenarioStr
@@ -7647,7 +7647,6 @@ var PaymentKit = (() => {
7647
7647
  apiBaseUrl,
7648
7648
  secureToken,
7649
7649
  options,
7650
- mockScenarioStr,
7651
7650
  checkoutRequestId
7652
7651
  );
7653
7652
  if (startResult.error || !startResult.data) {
@@ -7952,6 +7951,7 @@ var PaymentKit = (() => {
7952
7951
  const confirmResult2 = await callStripeConfirmEndpoint(
7953
7952
  apiBaseUrl,
7954
7953
  secureToken,
7954
+ applePayOptions,
7955
7955
  paymentMethodId2,
7956
7956
  mockScenarioStr,
7957
7957
  preparedStripeState.checkoutRequestId,
@@ -7985,7 +7985,6 @@ var PaymentKit = (() => {
7985
7985
  apiBaseUrl,
7986
7986
  secureToken,
7987
7987
  applePayOptions,
7988
- mockScenarioStr,
7989
7988
  checkoutRequestId
7990
7989
  );
7991
7990
  if (startResult.error || !startResult.data) {
@@ -8023,6 +8022,7 @@ var PaymentKit = (() => {
8023
8022
  const confirmResult = await callStripeConfirmEndpoint(
8024
8023
  apiBaseUrl,
8025
8024
  secureToken,
8025
+ applePayOptions,
8026
8026
  paymentMethodId,
8027
8027
  mockScenarioStr,
8028
8028
  checkoutRequestId,
@@ -8653,16 +8653,24 @@ var PaymentKit = (() => {
8653
8653
  };
8654
8654
  return submitPayment;
8655
8655
  };
8656
+ var FETCH_COLLECT_TOKEN_TIMEOUT_MS = 1e4;
8656
8657
  var fetchCollectToken = async (apiBaseUrl, secureToken) => {
8657
- const resp = await fetch(`${apiBaseUrl}/api/card-setup-intents/${secureToken}/collect-token`, {
8658
- method: "POST",
8659
- headers: { "Content-Type": "application/json" }
8660
- });
8661
- if (!resp.ok) {
8662
- throw new Error(`Failed to get collect token: ${resp.status}`);
8658
+ const controller = new AbortController();
8659
+ const timeoutId = setTimeout(() => controller.abort(), FETCH_COLLECT_TOKEN_TIMEOUT_MS);
8660
+ try {
8661
+ const resp = await fetch(`${apiBaseUrl}/api/card-setup-intents/${secureToken}/collect-token`, {
8662
+ method: "POST",
8663
+ headers: { "Content-Type": "application/json" },
8664
+ signal: controller.signal
8665
+ });
8666
+ if (!resp.ok) {
8667
+ throw new Error(`Failed to get collect token: ${resp.status}`);
8668
+ }
8669
+ const data = await resp.json();
8670
+ return data.access_token;
8671
+ } finally {
8672
+ clearTimeout(timeoutId);
8663
8673
  }
8664
- const data = await resp.json();
8665
- return data.access_token;
8666
8674
  };
8667
8675
  var VGS_FIELD_MAP = {
8668
8676
  // Actual VGS CMP error keys (verified empirically)
@@ -8695,15 +8703,33 @@ var PaymentKit = (() => {
8695
8703
  return { errors, isSuccess: false };
8696
8704
  }
8697
8705
  let accessToken;
8706
+ const collectTokenStart = performance.now();
8698
8707
  try {
8699
8708
  accessToken = await fetchCollectToken(apiBaseUrl, secureToken);
8709
+ const collectTokenDuration = Math.round(performance.now() - collectTokenStart);
8710
+ AnalyticsService.capture("vgs_collect_token_timing", {
8711
+ checkout_session_id: secureToken,
8712
+ request_id: checkoutRequestId,
8713
+ duration_ms: collectTokenDuration,
8714
+ success: true
8715
+ });
8700
8716
  } catch (err) {
8717
+ const collectTokenDuration = Math.round(performance.now() - collectTokenStart);
8718
+ const isAbortError = err instanceof DOMException && err.name === "AbortError";
8719
+ AnalyticsService.capture("vgs_collect_token_timing", {
8720
+ checkout_session_id: secureToken,
8721
+ request_id: checkoutRequestId,
8722
+ duration_ms: collectTokenDuration,
8723
+ success: false,
8724
+ error_type: isAbortError ? "FETCH_TIMEOUT" : "FETCH_ERROR"
8725
+ });
8701
8726
  console.error(`${logPrefix} VGS auth token fetch failed:`, stringifyError(err));
8702
- errors.root = "Card authentication failed \u2014 please try again";
8727
+ errors.root = isAbortError ? "Card authentication timed out \u2014 please try again" : "Card authentication failed \u2014 please try again";
8703
8728
  return { errors, isSuccess: false };
8704
8729
  }
8705
8730
  let cardResult;
8706
- const VGS_CREATE_CARD_TIMEOUT_MS = 3e4;
8731
+ const VGS_CREATE_CARD_TIMEOUT_MS = 12e4;
8732
+ const createCardStart = performance.now();
8707
8733
  try {
8708
8734
  let createCardTimeoutId;
8709
8735
  cardResult = await Promise.race([
@@ -8721,10 +8747,25 @@ var PaymentKit = (() => {
8721
8747
  createCardTimeoutId = setTimeout(() => reject(new Error("VGS_TIMEOUT")), VGS_CREATE_CARD_TIMEOUT_MS);
8722
8748
  })
8723
8749
  ]).finally(() => clearTimeout(createCardTimeoutId));
8750
+ const createCardDuration = Math.round(performance.now() - createCardStart);
8751
+ AnalyticsService.capture("vgs_create_card_timing", {
8752
+ checkout_session_id: secureToken,
8753
+ request_id: checkoutRequestId,
8754
+ duration_ms: createCardDuration,
8755
+ success: true
8756
+ });
8724
8757
  } catch (err) {
8758
+ const createCardDuration = Math.round(performance.now() - createCardStart);
8725
8759
  const errStr = stringifyError(err);
8726
8760
  console.error(`${logPrefix} VGS createCard failed:`, errStr);
8727
8761
  if (err instanceof Error && err.message === "VGS_TIMEOUT") {
8762
+ AnalyticsService.capture("vgs_create_card_timing", {
8763
+ checkout_session_id: secureToken,
8764
+ request_id: checkoutRequestId,
8765
+ duration_ms: createCardDuration,
8766
+ success: false,
8767
+ error_type: "VGS_TIMEOUT"
8768
+ });
8728
8769
  errors.root = "Card processing timed out \u2014 please try again";
8729
8770
  return { errors, isSuccess: false };
8730
8771
  }
@@ -8738,9 +8779,23 @@ var PaymentKit = (() => {
8738
8779
  }
8739
8780
  }
8740
8781
  if (Object.keys(errors).length > 0) {
8782
+ AnalyticsService.capture("vgs_create_card_timing", {
8783
+ checkout_session_id: secureToken,
8784
+ request_id: checkoutRequestId,
8785
+ duration_ms: createCardDuration,
8786
+ success: false,
8787
+ error_type: "VGS_VALIDATION_ERROR"
8788
+ });
8741
8789
  return { errors, isSuccess: false };
8742
8790
  }
8743
8791
  }
8792
+ AnalyticsService.capture("vgs_create_card_timing", {
8793
+ checkout_session_id: secureToken,
8794
+ request_id: checkoutRequestId,
8795
+ duration_ms: createCardDuration,
8796
+ success: false,
8797
+ error_type: "VGS_ERROR"
8798
+ });
8744
8799
  errors.root = "Card validation failed \u2014 please check your card details and try again";
8745
8800
  return { errors, isSuccess: false };
8746
8801
  }