@superlogic/spree-pay 0.1.14 → 0.1.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/build/index.cjs CHANGED
@@ -263,10 +263,21 @@ var SpreeLegal = () => {
263
263
  // src/components/CreditCardTab/CreditCardTab.tsx
264
264
  var import_react7 = require("react");
265
265
 
266
- // src/hooks/useSlapiBalance.ts
266
+ // src/hooks/useCards.ts
267
267
  var import_swr = __toESM(require("swr"), 1);
268
+ var useCards = () => {
269
+ const { data, isLoading, mutate } = (0, import_swr.default)(`/v1/payments/cards`);
270
+ return {
271
+ cards: data?.data.filter((c) => c.active) || [],
272
+ cardsIsLoading: isLoading,
273
+ mutateCards: mutate
274
+ };
275
+ };
276
+
277
+ // src/hooks/useSlapiBalance.ts
278
+ var import_swr2 = __toESM(require("swr"), 1);
268
279
  var useSlapiBalance = () => {
269
- const { data, isLoading, mutate } = (0, import_swr.default)(`/v1/loyalty/accounts`);
280
+ const { data, isLoading, mutate } = (0, import_swr2.default)(`/v1/loyalty/accounts`);
270
281
  return { balance: data?.detail, isBalanceLoading: isLoading, mutateBalance: mutate };
271
282
  };
272
283
 
@@ -562,7 +573,7 @@ var SlapiPaymentService = {
562
573
 
563
574
  // src/services/cardPayment.ts
564
575
  var cardPayment = async (params) => {
565
- const { card, redirect3dsURI, hash, capture, metadata } = params;
576
+ const { card, redirect3dsURI, hash, capture, metadata, transactionFee } = params;
566
577
  let cardId = card.id;
567
578
  if ("token" in card) {
568
579
  const { data: cardResData } = await SlapiPaymentService.addCard({ hash, source: card.token });
@@ -570,10 +581,14 @@ var cardPayment = async (params) => {
570
581
  }
571
582
  const { data: paymentResData } = await SlapiPaymentService.createPayment({
572
583
  hash,
573
- type: "CREDIT_CARD" /* CREDIT_CARD */,
574
- metadata,
575
584
  capture,
576
- card: { cardId, returnUrl: `${window.location.origin}${redirect3dsURI}` }
585
+ metadata,
586
+ type: "CREDIT_CARD" /* CREDIT_CARD */,
587
+ card: {
588
+ cardId,
589
+ transactionFee,
590
+ returnUrl: `${window.location.origin}${redirect3dsURI}`
591
+ }
577
592
  });
578
593
  if (paymentResData.redirectUrl) {
579
594
  const paymentIntent = await import_nice_modal_react2.default.show(Iframe3ds, { url: paymentResData.redirectUrl });
@@ -668,17 +683,6 @@ var import_react6 = require("react");
668
683
  var import_react_stripe_js2 = require("@stripe/react-stripe-js");
669
684
  var import_stripe_js = require("@stripe/stripe-js");
670
685
 
671
- // src/hooks/useCards.ts
672
- var import_swr2 = __toESM(require("swr"), 1);
673
- var useCards = () => {
674
- const { data, isLoading, mutate } = (0, import_swr2.default)(`/v1/payments/cards`);
675
- return {
676
- cards: data?.data.filter((c) => c.active) || [],
677
- cardsIsLoading: isLoading,
678
- mutateCards: mutate
679
- };
680
- };
681
-
682
686
  // src/hooks/useConfig.ts
683
687
  var import_swr3 = __toESM(require("swr"), 1);
684
688
  var useConfig = () => {
@@ -1012,8 +1016,9 @@ var CreditCardTab = ({ pointsTitle, pointsConversionRatio }) => {
1012
1016
  const [usePoints, setUsePoints] = (0, import_react7.useState)(false);
1013
1017
  const [selectedPointsType, setSelectedPointsType] = (0, import_react7.useState)(null);
1014
1018
  const { balance, isBalanceLoading } = useSlapiBalance();
1015
- const { selectedPaymentMethod } = useSpreePaymentMethod();
1019
+ const { selectedPaymentMethod, setSelectedPaymentMethod } = useSpreePaymentMethod();
1016
1020
  const { register } = useSpreePayRegister();
1021
+ const { mutateCards } = useCards();
1017
1022
  const { env } = useSpreePayEnv();
1018
1023
  const handlePay = (0, import_react7.useCallback)(
1019
1024
  async (data) => {
@@ -1032,9 +1037,12 @@ var CreditCardTab = ({ pointsTitle, pointsConversionRatio }) => {
1032
1037
  return Promise.reject(new PaymentError("Unsupported payment method", "FAILED" /* FAILED */));
1033
1038
  } catch (_) {
1034
1039
  return Promise.reject(new PaymentError("Payment failed", "FAILED" /* FAILED */));
1040
+ } finally {
1041
+ setSelectedPaymentMethod({ type: "CREDIT_CARD" /* CREDIT_CARD */, method: null });
1042
+ mutateCards();
1035
1043
  }
1036
1044
  },
1037
- [env.redirect3dsURI, selectedPaymentMethod]
1045
+ [setSelectedPaymentMethod, mutateCards, env.redirect3dsURI, selectedPaymentMethod]
1038
1046
  );
1039
1047
  (0, import_react7.useEffect)(() => {
1040
1048
  register(handlePay);
@@ -1197,6 +1205,7 @@ var useCryptoPayment = () => {
1197
1205
  if (selectedPaymentMethod.type !== "CRYPTO" /* CRYPTO */ || !selectedPaymentMethod.method?.symbol) {
1198
1206
  throw new Error("Unsupported payment method");
1199
1207
  }
1208
+ const { capture, hash, metadata } = params;
1200
1209
  const TOKEN = selectedPaymentMethod.method.symbol;
1201
1210
  if (["MOCA" /* MOCA */, "WETH" /* WETH */, "USDC" /* USDC */, "USDT" /* USDT */].includes(TOKEN)) {
1202
1211
  const tokenAddress = selectedPaymentMethod.method.address;
@@ -1224,7 +1233,9 @@ var useCryptoPayment = () => {
1224
1233
  }
1225
1234
  }
1226
1235
  const paymentRes = await SlapiPaymentService.createPayment({
1227
- ...params,
1236
+ hash,
1237
+ capture,
1238
+ metadata,
1228
1239
  type: "CRYPTO" /* CRYPTO */,
1229
1240
  crypto: {
1230
1241
  token: TOKEN,
package/build/index.d.cts CHANGED
@@ -102,6 +102,7 @@ type ProcessFnParams = {
102
102
  hash: string;
103
103
  capture?: boolean;
104
104
  metadata?: Record<string, unknown>;
105
+ transactionFee?: number;
105
106
  };
106
107
  type ProcessFn = (data: ProcessFnParams) => Promise<PaymentMethodResult>;
107
108
 
package/build/index.d.ts CHANGED
@@ -102,6 +102,7 @@ type ProcessFnParams = {
102
102
  hash: string;
103
103
  capture?: boolean;
104
104
  metadata?: Record<string, unknown>;
105
+ transactionFee?: number;
105
106
  };
106
107
  type ProcessFn = (data: ProcessFnParams) => Promise<PaymentMethodResult>;
107
108
 
package/build/index.js CHANGED
@@ -224,10 +224,21 @@ var SpreeLegal = () => {
224
224
  // src/components/CreditCardTab/CreditCardTab.tsx
225
225
  import { useCallback as useCallback2, useEffect as useEffect2, useState as useState4 } from "react";
226
226
 
227
- // src/hooks/useSlapiBalance.ts
227
+ // src/hooks/useCards.ts
228
228
  import useSWR from "swr";
229
+ var useCards = () => {
230
+ const { data, isLoading, mutate } = useSWR(`/v1/payments/cards`);
231
+ return {
232
+ cards: data?.data.filter((c) => c.active) || [],
233
+ cardsIsLoading: isLoading,
234
+ mutateCards: mutate
235
+ };
236
+ };
237
+
238
+ // src/hooks/useSlapiBalance.ts
239
+ import useSWR2 from "swr";
229
240
  var useSlapiBalance = () => {
230
- const { data, isLoading, mutate } = useSWR(`/v1/loyalty/accounts`);
241
+ const { data, isLoading, mutate } = useSWR2(`/v1/loyalty/accounts`);
231
242
  return { balance: data?.detail, isBalanceLoading: isLoading, mutateBalance: mutate };
232
243
  };
233
244
 
@@ -523,7 +534,7 @@ var SlapiPaymentService = {
523
534
 
524
535
  // src/services/cardPayment.ts
525
536
  var cardPayment = async (params) => {
526
- const { card, redirect3dsURI, hash, capture, metadata } = params;
537
+ const { card, redirect3dsURI, hash, capture, metadata, transactionFee } = params;
527
538
  let cardId = card.id;
528
539
  if ("token" in card) {
529
540
  const { data: cardResData } = await SlapiPaymentService.addCard({ hash, source: card.token });
@@ -531,10 +542,14 @@ var cardPayment = async (params) => {
531
542
  }
532
543
  const { data: paymentResData } = await SlapiPaymentService.createPayment({
533
544
  hash,
534
- type: "CREDIT_CARD" /* CREDIT_CARD */,
535
- metadata,
536
545
  capture,
537
- card: { cardId, returnUrl: `${window.location.origin}${redirect3dsURI}` }
546
+ metadata,
547
+ type: "CREDIT_CARD" /* CREDIT_CARD */,
548
+ card: {
549
+ cardId,
550
+ transactionFee,
551
+ returnUrl: `${window.location.origin}${redirect3dsURI}`
552
+ }
538
553
  });
539
554
  if (paymentResData.redirectUrl) {
540
555
  const paymentIntent = await NiceModal2.show(Iframe3ds, { url: paymentResData.redirectUrl });
@@ -629,17 +644,6 @@ import { useMemo, useState as useState3 } from "react";
629
644
  import { Elements } from "@stripe/react-stripe-js";
630
645
  import { loadStripe } from "@stripe/stripe-js";
631
646
 
632
- // src/hooks/useCards.ts
633
- import useSWR2 from "swr";
634
- var useCards = () => {
635
- const { data, isLoading, mutate } = useSWR2(`/v1/payments/cards`);
636
- return {
637
- cards: data?.data.filter((c) => c.active) || [],
638
- cardsIsLoading: isLoading,
639
- mutateCards: mutate
640
- };
641
- };
642
-
643
647
  // src/hooks/useConfig.ts
644
648
  import useSWR3 from "swr";
645
649
  var useConfig = () => {
@@ -973,8 +977,9 @@ var CreditCardTab = ({ pointsTitle, pointsConversionRatio }) => {
973
977
  const [usePoints, setUsePoints] = useState4(false);
974
978
  const [selectedPointsType, setSelectedPointsType] = useState4(null);
975
979
  const { balance, isBalanceLoading } = useSlapiBalance();
976
- const { selectedPaymentMethod } = useSpreePaymentMethod();
980
+ const { selectedPaymentMethod, setSelectedPaymentMethod } = useSpreePaymentMethod();
977
981
  const { register } = useSpreePayRegister();
982
+ const { mutateCards } = useCards();
978
983
  const { env } = useSpreePayEnv();
979
984
  const handlePay = useCallback2(
980
985
  async (data) => {
@@ -993,9 +998,12 @@ var CreditCardTab = ({ pointsTitle, pointsConversionRatio }) => {
993
998
  return Promise.reject(new PaymentError("Unsupported payment method", "FAILED" /* FAILED */));
994
999
  } catch (_) {
995
1000
  return Promise.reject(new PaymentError("Payment failed", "FAILED" /* FAILED */));
1001
+ } finally {
1002
+ setSelectedPaymentMethod({ type: "CREDIT_CARD" /* CREDIT_CARD */, method: null });
1003
+ mutateCards();
996
1004
  }
997
1005
  },
998
- [env.redirect3dsURI, selectedPaymentMethod]
1006
+ [setSelectedPaymentMethod, mutateCards, env.redirect3dsURI, selectedPaymentMethod]
999
1007
  );
1000
1008
  useEffect2(() => {
1001
1009
  register(handlePay);
@@ -1158,6 +1166,7 @@ var useCryptoPayment = () => {
1158
1166
  if (selectedPaymentMethod.type !== "CRYPTO" /* CRYPTO */ || !selectedPaymentMethod.method?.symbol) {
1159
1167
  throw new Error("Unsupported payment method");
1160
1168
  }
1169
+ const { capture, hash, metadata } = params;
1161
1170
  const TOKEN = selectedPaymentMethod.method.symbol;
1162
1171
  if (["MOCA" /* MOCA */, "WETH" /* WETH */, "USDC" /* USDC */, "USDT" /* USDT */].includes(TOKEN)) {
1163
1172
  const tokenAddress = selectedPaymentMethod.method.address;
@@ -1185,7 +1194,9 @@ var useCryptoPayment = () => {
1185
1194
  }
1186
1195
  }
1187
1196
  const paymentRes = await SlapiPaymentService.createPayment({
1188
- ...params,
1197
+ hash,
1198
+ capture,
1199
+ metadata,
1189
1200
  type: "CRYPTO" /* CRYPTO */,
1190
1201
  crypto: {
1191
1202
  token: TOKEN,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superlogic/spree-pay",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "description": "Spree-pay React component and utilities",
5
5
  "private": false,
6
6
  "type": "module",