@payment-kit-js/vanilla 0.5.14 → 0.5.16
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/{airwallex-apple-pay-adapter-CHAnLP_x.mjs → airwallex-apple-pay-adapter-CPz54c9e.mjs} +8 -2
- package/dist/airwallex-apple-pay-adapter-CPz54c9e.mjs.map +1 -0
- package/dist/{airwallex-apple-pay-adapter-Bb0CreWN.d.mts → airwallex-apple-pay-adapter-CnnZ7VL6.d.mts} +3 -1
- package/dist/airwallex-apple-pay-adapter-CnnZ7VL6.d.mts.map +1 -0
- package/dist/{airwallex-google-pay-adapter-C8JTp01q.mjs → airwallex-google-pay-adapter-BvlROwj_.mjs} +1 -1
- package/dist/{airwallex-google-pay-adapter-C8JTp01q.mjs.map → airwallex-google-pay-adapter-BvlROwj_.mjs.map} +1 -1
- package/dist/{airwallex-google-pay-adapter-adaDktQM.d.mts → airwallex-google-pay-adapter-D-AxVLLq.d.mts} +1 -1
- package/dist/{airwallex-google-pay-adapter-adaDktQM.d.mts.map → airwallex-google-pay-adapter-D-AxVLLq.d.mts.map} +1 -1
- package/dist/analytics-Blvs2DW7.mjs +333 -0
- package/dist/analytics-Blvs2DW7.mjs.map +1 -0
- package/dist/{bnpl-shared-B-en2sPr.d.mts → bnpl-shared-BQwCBD45.d.mts} +2 -2
- package/dist/{bnpl-shared-B-en2sPr.d.mts.map → bnpl-shared-BQwCBD45.d.mts.map} +1 -1
- package/dist/{bnpl-shared-CEAXTL3Q.mjs → bnpl-shared-DGs1YzS9.mjs} +2 -2
- package/dist/{bnpl-shared-CEAXTL3Q.mjs.map → bnpl-shared-DGs1YzS9.mjs.map} +1 -1
- package/dist/cdn/paymentkit.js +82 -17
- package/dist/cdn/paymentkit.js.map +2 -2
- package/dist/cdn/paymentkit.min.js +9 -9
- package/dist/cdn/paymentkit.min.js.map +3 -3
- package/dist/{connect-card-Cra_F1cC.d.mts → connect-card-CZhzK_Tp.d.mts} +1 -1
- package/dist/{connect-card-Cra_F1cC.d.mts.map → connect-card-CZhzK_Tp.d.mts.map} +1 -1
- package/dist/{connect-card-D3Je4V7p.mjs → connect-card-kXLdSNTL.mjs} +2 -2
- package/dist/{connect-card-D3Je4V7p.mjs.map → connect-card-kXLdSNTL.mjs.map} +1 -1
- package/dist/{connect-tunnel-x-BhVAej5Q.mjs → connect-tunnel-x-5XOct5Tm.mjs} +2 -2
- package/dist/{connect-tunnel-x-BhVAej5Q.mjs.map → connect-tunnel-x-5XOct5Tm.mjs.map} +1 -1
- package/dist/{connect-tunnel-x-Wh-JG1O5.d.mts → connect-tunnel-x-BKtMfoGh.d.mts} +1 -1
- package/dist/{connect-tunnel-x-Wh-JG1O5.d.mts.map → connect-tunnel-x-BKtMfoGh.d.mts.map} +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +5 -334
- package/dist/index.mjs.map +1 -1
- package/dist/{next-action-handlers-BZs04hYb.mjs → next-action-handlers-CLOt1wzO.mjs} +1 -1
- package/dist/{next-action-handlers-BZs04hYb.mjs.map → next-action-handlers-CLOt1wzO.mjs.map} +1 -1
- package/dist/payment-methods/affirm.d.mts +4 -4
- package/dist/payment-methods/affirm.mjs +2 -2
- package/dist/payment-methods/afterpay.d.mts +4 -4
- package/dist/payment-methods/afterpay.mjs +2 -2
- package/dist/payment-methods/airwallex-apple-pay-adapter.d.mts +1 -1
- package/dist/payment-methods/airwallex-apple-pay-adapter.mjs +1 -1
- package/dist/payment-methods/airwallex-google-pay-adapter.d.mts +1 -1
- package/dist/payment-methods/airwallex-google-pay-adapter.mjs +1 -1
- package/dist/payment-methods/apple-pay.d.mts +7 -5
- package/dist/payment-methods/apple-pay.d.mts.map +1 -1
- package/dist/payment-methods/apple-pay.mjs +9 -7
- package/dist/payment-methods/apple-pay.mjs.map +1 -1
- package/dist/payment-methods/bnpl-shared.d.mts +4 -4
- package/dist/payment-methods/bnpl-shared.mjs +2 -2
- package/dist/payment-methods/card.d.mts +3 -3
- package/dist/payment-methods/card.d.mts.map +1 -1
- package/dist/payment-methods/card.mjs +77 -18
- package/dist/payment-methods/card.mjs.map +1 -1
- package/dist/payment-methods/google-pay.d.mts +5 -5
- package/dist/payment-methods/google-pay.mjs +4 -4
- package/dist/payment-methods/klarna.d.mts +4 -4
- package/dist/payment-methods/klarna.mjs +2 -2
- package/dist/payment-methods/next-action-handlers.mjs +1 -1
- package/dist/payment-methods/paypal.d.mts +3 -3
- package/dist/payment-methods/paypal.mjs +1 -1
- package/dist/payment-methods/stripe-apple-pay-adapter.d.mts +1 -1
- package/dist/payment-methods/stripe-apple-pay-adapter.mjs +1 -1
- package/dist/payment-methods/stripe-google-pay-adapter.d.mts +1 -1
- package/dist/payment-methods/stripe-google-pay-adapter.mjs +1 -1
- package/dist/payment-methods/vgs-collect-loader.mjs +1 -1
- package/dist/penpal/connect-card.d.mts +1 -1
- package/dist/penpal/connect-card.mjs +2 -2
- package/dist/penpal/connect-tunnel-x.d.mts +1 -1
- package/dist/penpal/connect-tunnel-x.mjs +2 -2
- package/dist/{penpal-BFKeZTVz.mjs → penpal-CBrj43M5.mjs} +1 -1
- package/dist/{penpal-BFKeZTVz.mjs.map → penpal-CBrj43M5.mjs.map} +1 -1
- package/dist/{stripe-apple-pay-adapter-BLRjqgDf.mjs → stripe-apple-pay-adapter-7rF6xRIG.mjs} +1 -1
- package/dist/{stripe-apple-pay-adapter-BLRjqgDf.mjs.map → stripe-apple-pay-adapter-7rF6xRIG.mjs.map} +1 -1
- package/dist/{stripe-apple-pay-adapter-DcuGlQqQ.d.mts → stripe-apple-pay-adapter-D2OJRlAl.d.mts} +1 -1
- package/dist/{stripe-apple-pay-adapter-DcuGlQqQ.d.mts.map → stripe-apple-pay-adapter-D2OJRlAl.d.mts.map} +1 -1
- package/dist/{stripe-google-pay-adapter-BlQ2jVpE.d.mts → stripe-google-pay-adapter-B330fRiH.d.mts} +1 -1
- package/dist/{stripe-google-pay-adapter-BlQ2jVpE.d.mts.map → stripe-google-pay-adapter-B330fRiH.d.mts.map} +1 -1
- package/dist/{stripe-google-pay-adapter-CIkgjhw8.mjs → stripe-google-pay-adapter-B346KXt4.mjs} +1 -1
- package/dist/{stripe-google-pay-adapter-CIkgjhw8.mjs.map → stripe-google-pay-adapter-B346KXt4.mjs.map} +1 -1
- package/dist/{types-CQ8xbgoh.d.mts → types-B3mjYfOm.d.mts} +3 -3
- package/dist/{types-CQ8xbgoh.d.mts.map → types-B3mjYfOm.d.mts.map} +1 -1
- package/dist/{utils-B70Y8YcZ.mjs → utils-Dc6zwOe1.mjs} +1 -1
- package/dist/{utils-B70Y8YcZ.mjs.map → utils-Dc6zwOe1.mjs.map} +1 -1
- package/dist/{vgs-collect-loader-l5_Pnmhz.mjs → vgs-collect-loader-CTLSv4qv.mjs} +1 -1
- package/dist/{vgs-collect-loader-l5_Pnmhz.mjs.map → vgs-collect-loader-CTLSv4qv.mjs.map} +1 -1
- package/package.json +2 -2
- package/dist/airwallex-apple-pay-adapter-Bb0CreWN.d.mts.map +0 -1
- package/dist/airwallex-apple-pay-adapter-CHAnLP_x.mjs.map +0 -1
package/dist/cdn/paymentkit.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* PaymentKit.js v0.5.
|
|
2
|
+
* PaymentKit.js v0.5.16
|
|
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.
|
|
45
|
+
var version = "0.5.16";
|
|
46
46
|
|
|
47
47
|
// src/analytics/mock-adapter.ts
|
|
48
48
|
var MockAnalyticsAdapter = class {
|
|
@@ -6878,6 +6878,8 @@ var PaymentKit = (() => {
|
|
|
6878
6878
|
success: true,
|
|
6879
6879
|
token: mockToken,
|
|
6880
6880
|
payerEmail: "mock@example.com",
|
|
6881
|
+
payerFirstName: "Mock",
|
|
6882
|
+
payerLastName: "User",
|
|
6881
6883
|
complete: (status) => console.log(`[MockApplePay:Airwallex] complete: ${status}`)
|
|
6882
6884
|
};
|
|
6883
6885
|
}
|
|
@@ -6903,8 +6905,8 @@ var PaymentKit = (() => {
|
|
|
6903
6905
|
amount,
|
|
6904
6906
|
type: "final"
|
|
6905
6907
|
},
|
|
6906
|
-
// Surface the payer's email so the backend can fill missing customer
|
|
6907
|
-
requiredBillingContactFields: ["email"]
|
|
6908
|
+
// Surface the payer's email and name so the backend can fill missing customer info.
|
|
6909
|
+
requiredBillingContactFields: ["email", "name"]
|
|
6908
6910
|
};
|
|
6909
6911
|
return new Promise((resolve) => {
|
|
6910
6912
|
try {
|
|
@@ -6948,6 +6950,8 @@ var PaymentKit = (() => {
|
|
|
6948
6950
|
transactionIdentifier: payment.token.transactionIdentifier
|
|
6949
6951
|
};
|
|
6950
6952
|
const payerEmail = payment.billingContact?.emailAddress ?? payment.shippingContact?.emailAddress ?? void 0;
|
|
6953
|
+
const payerFirstName = payment.billingContact?.givenName ?? payment.shippingContact?.givenName ?? void 0;
|
|
6954
|
+
const payerLastName = payment.billingContact?.familyName ?? payment.shippingContact?.familyName ?? void 0;
|
|
6951
6955
|
const complete = (status) => {
|
|
6952
6956
|
console.log("[ApplePay:Airwallex] completing session with status:", status);
|
|
6953
6957
|
const appleStatus = status === "success" ? STATUS_SUCCESS : STATUS_FAILURE;
|
|
@@ -6957,6 +6961,8 @@ var PaymentKit = (() => {
|
|
|
6957
6961
|
success: true,
|
|
6958
6962
|
token,
|
|
6959
6963
|
payerEmail,
|
|
6964
|
+
payerFirstName,
|
|
6965
|
+
payerLastName,
|
|
6960
6966
|
complete
|
|
6961
6967
|
});
|
|
6962
6968
|
};
|
|
@@ -7722,7 +7728,7 @@ var PaymentKit = (() => {
|
|
|
7722
7728
|
checkoutRequestId
|
|
7723
7729
|
);
|
|
7724
7730
|
}
|
|
7725
|
-
async function callAirwallexConfirmEndpoint(apiBaseUrl, secureToken, applePayToken, mockScenarioStr, checkoutRequestId, payerEmail) {
|
|
7731
|
+
async function callAirwallexConfirmEndpoint(apiBaseUrl, secureToken, applePayToken, mockScenarioStr, checkoutRequestId, payerEmail, payerFirstName, payerLastName) {
|
|
7726
7732
|
const result = await apiCall(
|
|
7727
7733
|
`${apiBaseUrl}/api/checkout/${secureToken}/airwallex/apple-pay/confirm`,
|
|
7728
7734
|
{
|
|
@@ -7731,6 +7737,8 @@ var PaymentKit = (() => {
|
|
|
7731
7737
|
body: JSON.stringify({
|
|
7732
7738
|
apple_pay_token: applePayToken,
|
|
7733
7739
|
payer_email: payerEmail,
|
|
7740
|
+
payer_first_name: payerFirstName,
|
|
7741
|
+
payer_last_name: payerLastName,
|
|
7734
7742
|
mock_scenario: mockScenarioStr
|
|
7735
7743
|
})
|
|
7736
7744
|
},
|
|
@@ -7867,14 +7875,16 @@ var PaymentKit = (() => {
|
|
|
7867
7875
|
}
|
|
7868
7876
|
return { errors: { apple_pay: paymentResult.error || "Apple Pay failed" } };
|
|
7869
7877
|
}
|
|
7870
|
-
const { token, complete, payerEmail } = paymentResult;
|
|
7878
|
+
const { token, complete, payerEmail, payerFirstName, payerLastName } = paymentResult;
|
|
7871
7879
|
let response = await callAirwallexConfirmEndpoint(
|
|
7872
7880
|
apiBaseUrl,
|
|
7873
7881
|
secureToken,
|
|
7874
7882
|
token,
|
|
7875
7883
|
mockScenarioStr,
|
|
7876
7884
|
checkoutRequestId,
|
|
7877
|
-
payerEmail
|
|
7885
|
+
payerEmail,
|
|
7886
|
+
payerFirstName,
|
|
7887
|
+
payerLastName
|
|
7878
7888
|
);
|
|
7879
7889
|
let userActionCount = 0;
|
|
7880
7890
|
while (response.charge_status === "pending" && response.next_action && userActionCount < MAX_USER_ACTIONS) {
|
|
@@ -8643,16 +8653,24 @@ var PaymentKit = (() => {
|
|
|
8643
8653
|
};
|
|
8644
8654
|
return submitPayment;
|
|
8645
8655
|
};
|
|
8656
|
+
var FETCH_COLLECT_TOKEN_TIMEOUT_MS = 1e4;
|
|
8646
8657
|
var fetchCollectToken = async (apiBaseUrl, secureToken) => {
|
|
8647
|
-
const
|
|
8648
|
-
|
|
8649
|
-
|
|
8650
|
-
|
|
8651
|
-
|
|
8652
|
-
|
|
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);
|
|
8653
8673
|
}
|
|
8654
|
-
const data = await resp.json();
|
|
8655
|
-
return data.access_token;
|
|
8656
8674
|
};
|
|
8657
8675
|
var VGS_FIELD_MAP = {
|
|
8658
8676
|
// Actual VGS CMP error keys (verified empirically)
|
|
@@ -8685,15 +8703,33 @@ var PaymentKit = (() => {
|
|
|
8685
8703
|
return { errors, isSuccess: false };
|
|
8686
8704
|
}
|
|
8687
8705
|
let accessToken;
|
|
8706
|
+
const collectTokenStart = performance.now();
|
|
8688
8707
|
try {
|
|
8689
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
|
+
});
|
|
8690
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
|
+
});
|
|
8691
8726
|
console.error(`${logPrefix} VGS auth token fetch failed:`, stringifyError(err));
|
|
8692
|
-
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";
|
|
8693
8728
|
return { errors, isSuccess: false };
|
|
8694
8729
|
}
|
|
8695
8730
|
let cardResult;
|
|
8696
|
-
const VGS_CREATE_CARD_TIMEOUT_MS =
|
|
8731
|
+
const VGS_CREATE_CARD_TIMEOUT_MS = 12e4;
|
|
8732
|
+
const createCardStart = performance.now();
|
|
8697
8733
|
try {
|
|
8698
8734
|
let createCardTimeoutId;
|
|
8699
8735
|
cardResult = await Promise.race([
|
|
@@ -8711,10 +8747,25 @@ var PaymentKit = (() => {
|
|
|
8711
8747
|
createCardTimeoutId = setTimeout(() => reject(new Error("VGS_TIMEOUT")), VGS_CREATE_CARD_TIMEOUT_MS);
|
|
8712
8748
|
})
|
|
8713
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
|
+
});
|
|
8714
8757
|
} catch (err) {
|
|
8758
|
+
const createCardDuration = Math.round(performance.now() - createCardStart);
|
|
8715
8759
|
const errStr = stringifyError(err);
|
|
8716
8760
|
console.error(`${logPrefix} VGS createCard failed:`, errStr);
|
|
8717
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
|
+
});
|
|
8718
8769
|
errors.root = "Card processing timed out \u2014 please try again";
|
|
8719
8770
|
return { errors, isSuccess: false };
|
|
8720
8771
|
}
|
|
@@ -8728,9 +8779,23 @@ var PaymentKit = (() => {
|
|
|
8728
8779
|
}
|
|
8729
8780
|
}
|
|
8730
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
|
+
});
|
|
8731
8789
|
return { errors, isSuccess: false };
|
|
8732
8790
|
}
|
|
8733
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
|
+
});
|
|
8734
8799
|
errors.root = "Card validation failed \u2014 please check your card details and try again";
|
|
8735
8800
|
return { errors, isSuccess: false };
|
|
8736
8801
|
}
|