@economist/web-apple-pay 1.7.1 → 1.7.2

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/index.js CHANGED
@@ -685,7 +685,7 @@ var redirectToCheckoutComplete = (params) => {
685
685
  var redirectToCheckoutFallback = (params) => {
686
686
  const url = new URL(window.location.href);
687
687
  url.pathname = "/checkout";
688
- url.searchParams.set("lmo_offer", params.skuId);
688
+ url.searchParams.set("lmo_offer", decodeSku(params.skuId));
689
689
  if (params.inlineError)
690
690
  url.searchParams.set("inlineError", params.inlineError);
691
691
  if (params.email) url.searchParams.set("email", params.email);
@@ -680,7 +680,7 @@ var redirectToCheckoutComplete = (params) => {
680
680
  var redirectToCheckoutFallback = (params) => {
681
681
  const url = new URL(window.location.href);
682
682
  url.pathname = "/checkout";
683
- url.searchParams.set("lmo_offer", params.skuId);
683
+ url.searchParams.set("lmo_offer", decodeSku(params.skuId));
684
684
  if (params.inlineError)
685
685
  url.searchParams.set("inlineError", params.inlineError);
686
686
  if (params.email) url.searchParams.set("email", params.email);
@@ -688,7 +688,7 @@ var redirectToCheckoutComplete = (params) => {
688
688
  var redirectToCheckoutFallback = (params) => {
689
689
  const url = new URL(window.location.href);
690
690
  url.pathname = "/checkout";
691
- url.searchParams.set("lmo_offer", params.skuId);
691
+ url.searchParams.set("lmo_offer", decodeSku(params.skuId));
692
692
  if (params.inlineError)
693
693
  url.searchParams.set("inlineError", params.inlineError);
694
694
  if (params.email) url.searchParams.set("email", params.email);
@@ -680,7 +680,7 @@ var redirectToCheckoutComplete = (params) => {
680
680
  var redirectToCheckoutFallback = (params) => {
681
681
  const url = new URL(window.location.href);
682
682
  url.pathname = "/checkout";
683
- url.searchParams.set("lmo_offer", params.skuId);
683
+ url.searchParams.set("lmo_offer", decodeSku(params.skuId));
684
684
  if (params.inlineError)
685
685
  url.searchParams.set("inlineError", params.inlineError);
686
686
  if (params.email) url.searchParams.set("email", params.email);
@@ -62,10 +62,17 @@ var validateAppleMerchant = (data) => {
62
62
  };
63
63
 
64
64
  // src/utils/expressCheckoutRedirect.ts
65
+ var decodeSku = (sku) => {
66
+ try {
67
+ return atob(sku.substring(sku.indexOf("-") + 1));
68
+ } catch {
69
+ return sku;
70
+ }
71
+ };
65
72
  var redirectToCheckoutFallback = (params) => {
66
73
  const url = new URL(window.location.href);
67
74
  url.pathname = "/checkout";
68
- url.searchParams.set("lmo_offer", params.skuId);
75
+ url.searchParams.set("lmo_offer", decodeSku(params.skuId));
69
76
  if (params.inlineError)
70
77
  url.searchParams.set("inlineError", params.inlineError);
71
78
  if (params.email) url.searchParams.set("email", params.email);
@@ -262,7 +262,7 @@ var redirectToCheckoutComplete = (params) => {
262
262
  var redirectToCheckoutFallback = (params) => {
263
263
  const url = new URL(window.location.href);
264
264
  url.pathname = "/checkout";
265
- url.searchParams.set("lmo_offer", params.skuId);
265
+ url.searchParams.set("lmo_offer", decodeSku(params.skuId));
266
266
  if (params.inlineError)
267
267
  url.searchParams.set("inlineError", params.inlineError);
268
268
  if (params.email) url.searchParams.set("email", params.email);
package/dist/src/index.js CHANGED
@@ -685,7 +685,7 @@ var redirectToCheckoutComplete = (params) => {
685
685
  var redirectToCheckoutFallback = (params) => {
686
686
  const url = new URL(window.location.href);
687
687
  url.pathname = "/checkout";
688
- url.searchParams.set("lmo_offer", params.skuId);
688
+ url.searchParams.set("lmo_offer", decodeSku(params.skuId));
689
689
  if (params.inlineError)
690
690
  url.searchParams.set("inlineError", params.inlineError);
691
691
  if (params.email) url.searchParams.set("email", params.email);
@@ -40,7 +40,11 @@ export declare const redirectToCheckoutComplete: (params: {
40
40
  }) => string;
41
41
  /**
42
42
  * Builds the fallback redirect URL for error scenarios.
43
- * /checkout?lmo_offer={sku}&inlineError=...&returnUrl=...
43
+ * /checkout?lmo_offer={offerPath}&inlineError=...&returnUrl=...
44
+ *
45
+ * The skuId is decoded via decodeSku() before being set as lmo_offer, producing
46
+ * a Limio offer path (e.g. /offers2/UK-UK.DIGITAL.1YAR.X.DISC.30.NYT) as
47
+ * checkout expects. If decoding fails (malformed SKU), the raw skuId is used.
44
48
  *
45
49
  * Builds on top of the current page URL (window.location.href) so that any
46
50
  * existing query params (UTM tags, campaign flags) are preserved — matching
@@ -29,7 +29,7 @@ var redirectToCheckoutComplete = (params) => {
29
29
  var redirectToCheckoutFallback = (params) => {
30
30
  const url = new URL(window.location.href);
31
31
  url.pathname = "/checkout";
32
- url.searchParams.set("lmo_offer", params.skuId);
32
+ url.searchParams.set("lmo_offer", decodeSku(params.skuId));
33
33
  if (params.inlineError)
34
34
  url.searchParams.set("inlineError", params.inlineError);
35
35
  if (params.email) url.searchParams.set("email", params.email);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@economist/web-apple-pay",
3
3
  "description": "Web component package for Apple Pay checkout UI",
4
- "version": "1.7.1",
4
+ "version": "1.7.2",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",