logix-pay 1.0.7 → 1.0.8

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.cjs.js CHANGED
@@ -454,30 +454,27 @@ function ShiftPaymentForm(_ref) {
454
454
  }
455
455
 
456
456
  function StripePaymentForm(_ref) {
457
- var baseUrl = _ref.baseUrl,
458
- userId = _ref.userId,
459
- amount = _ref.amount,
457
+ var amount = _ref.amount,
460
458
  _ref$currency = _ref.currency,
461
459
  currency = _ref$currency === void 0 ? "usd" : _ref$currency,
462
- _ref$description = _ref.description,
463
- description = _ref$description === void 0 ? "" : _ref$description,
464
- _ref$color = _ref.color,
465
- color = _ref$color === void 0 ? "#556cd6" : _ref$color,
466
- _ref$formWidth = _ref.formWidth,
467
- formWidth = _ref$formWidth === void 0 ? 400 : _ref$formWidth,
468
- _ref$formBorderRadius = _ref.formBorderRadius,
469
- formBorderRadius = _ref$formBorderRadius === void 0 ? 12 : _ref$formBorderRadius,
470
- _ref$formBackgroundCo = _ref.formBackgroundColor,
471
- formBackgroundColor = _ref$formBackgroundCo === void 0 ? "#fff" : _ref$formBackgroundCo,
472
- _ref$inputPadding = _ref.inputPadding,
473
- inputPadding = _ref$inputPadding === void 0 ? 12 : _ref$inputPadding,
460
+ color = _ref.color,
461
+ _ref$formwidth = _ref.formwidth,
462
+ formwidth = _ref$formwidth === void 0 ? 400 : _ref$formwidth,
463
+ _ref$formborderRadius = _ref.formborderRadius,
464
+ formborderRadius = _ref$formborderRadius === void 0 ? 20 : _ref$formborderRadius,
465
+ _ref$formbackgroundCo = _ref.formbackgroundColor,
466
+ formbackgroundColor = _ref$formbackgroundCo === void 0 ? "#fff" : _ref$formbackgroundCo,
467
+ _ref$inputpadding = _ref.inputpadding,
468
+ inputpadding = _ref$inputpadding === void 0 ? 12 : _ref$inputpadding,
469
+ baseUrl = _ref.baseUrl,
470
+ userId = _ref.userId,
474
471
  successPage = _ref.successPage,
475
- errorPage = _ref.errorPage;
472
+ errorPage = _ref.errorPage,
473
+ description = _ref.description;
474
+ var initializedRef = React.useRef(false);
476
475
  var stripeRef = React.useRef(null);
477
476
  var elementsRef = React.useRef(null);
478
- var cardNumberRef = React.useRef(null);
479
- var cardExpiryRef = React.useRef(null);
480
- var cardCvcRef = React.useRef(null);
477
+ var cardRef = React.useRef(null);
481
478
  var _useState = React.useState(false),
482
479
  _useState2 = _slicedToArray(_useState, 2),
483
480
  isSubmitting = _useState2[0],
@@ -486,127 +483,119 @@ function StripePaymentForm(_ref) {
486
483
  _useState4 = _slicedToArray(_useState3, 2),
487
484
  isReady = _useState4[0],
488
485
  setIsReady = _useState4[1];
489
- var _useState5 = React.useState(null),
490
- _useState6 = _slicedToArray(_useState5, 2),
491
- publicKey = _useState6[0],
492
- setPublicKey = _useState6[1];
493
-
494
- // 1️⃣ Get public key from backend
495
486
  React.useEffect(function () {
496
- var fetchKey = /*#__PURE__*/function () {
487
+ if (initializedRef.current) return;
488
+ initializedRef.current = true;
489
+ var initStripe = /*#__PURE__*/function () {
497
490
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
498
- var res, _yield$res$json, publicKeys, _t;
491
+ var response, _yield$response$json, publicKey, script, _t;
499
492
  return _regenerator().w(function (_context) {
500
493
  while (1) switch (_context.p = _context.n) {
501
494
  case 0:
502
495
  _context.p = 0;
503
496
  _context.n = 1;
504
- return fetch("".concat(baseUrl).concat(userId));
497
+ return fetch(baseUrl + userId);
505
498
  case 1:
506
- res = _context.v;
507
- _context.n = 2;
508
- return res.json();
499
+ response = _context.v;
500
+ if (response.ok) {
501
+ _context.n = 2;
502
+ break;
503
+ }
504
+ return _context.a(2, errorPage === null || errorPage === void 0 ? void 0 : errorPage("Failed to fetch public key"));
509
505
  case 2:
510
- _yield$res$json = _context.v;
511
- publicKeys = _yield$res$json.publicKeys;
512
- if (!publicKeys) errorPage("Public key is empty");
513
- setPublicKey(publicKeys);
514
- _context.n = 4;
515
- break;
506
+ _context.n = 3;
507
+ return response.json();
516
508
  case 3:
517
- _context.p = 3;
518
- _t = _context.v;
519
- errorPage === null || errorPage === void 0 || errorPage(_t.message || "Failed to fetch public key");
509
+ _yield$response$json = _context.v;
510
+ publicKey = _yield$response$json.publicKey;
511
+ if (publicKey) {
512
+ _context.n = 4;
513
+ break;
514
+ }
515
+ return _context.a(2, errorPage === null || errorPage === void 0 ? void 0 : errorPage("Public key is empty"));
520
516
  case 4:
517
+ script = document.createElement("script");
518
+ script.src = "https://js.stripe.com/v3/";
519
+ script.async = true;
520
+ script.onload = function () {
521
+ if (!window.Stripe) return;
522
+ stripeRef.current = window.Stripe(publicKey);
523
+ elementsRef.current = stripeRef.current.elements();
524
+ var card = elementsRef.current.create("card", {
525
+ style: {
526
+ base: {
527
+ fontSize: "15px",
528
+ color: "#111",
529
+ "::placeholder": {
530
+ color: "#aaa"
531
+ }
532
+ }
533
+ }
534
+ });
535
+ card.mount("#stripe-card-element");
536
+ cardRef.current = card;
537
+ setIsReady(true);
538
+ };
539
+ script.onerror = function () {
540
+ errorPage === null || errorPage === void 0 || errorPage("Stripe script failed to load.");
541
+ };
542
+ document.body.appendChild(script);
543
+ _context.n = 6;
544
+ break;
545
+ case 5:
546
+ _context.p = 5;
547
+ _t = _context.v;
548
+ errorPage === null || errorPage === void 0 || errorPage(_t.message);
549
+ case 6:
521
550
  return _context.a(2);
522
551
  }
523
- }, _callee, null, [[0, 3]]);
552
+ }, _callee, null, [[0, 5]]);
524
553
  }));
525
- return function fetchKey() {
554
+ return function initStripe() {
526
555
  return _ref2.apply(this, arguments);
527
556
  };
528
557
  }();
529
- fetchKey();
558
+ initStripe();
530
559
  }, [baseUrl, userId, errorPage]);
531
-
532
- // 2️⃣ Initialize Stripe elements
533
- React.useEffect(function () {
534
- if (!publicKey) return;
535
- if (!window.Stripe) {
536
- var script = document.createElement("script");
537
- script.src = "https://js.stripe.com/v3/";
538
- script.async = true;
539
- script.onload = initStripe;
540
- document.body.appendChild(script);
541
- } else {
542
- initStripe();
543
- }
544
- function initStripe() {
545
- stripeRef.current = window.Stripe(publicKey);
546
- elementsRef.current = stripeRef.current.elements();
547
- cardNumberRef.current = elementsRef.current.create("cardNumber", {
548
- style: {
549
- base: {
550
- fontSize: "15px",
551
- padding: "".concat(inputPadding, "px")
552
- }
553
- }
554
- });
555
- cardNumberRef.current.mount("#card-number");
556
- cardExpiryRef.current = elementsRef.current.create("cardExpiry", {
557
- style: {
558
- base: {
559
- fontSize: "15px",
560
- padding: "".concat(inputPadding, "px")
561
- }
562
- }
563
- });
564
- cardExpiryRef.current.mount("#card-expiry");
565
- cardCvcRef.current = elementsRef.current.create("cardCvc", {
566
- style: {
567
- base: {
568
- fontSize: "15px",
569
- padding: "".concat(inputPadding, "px")
570
- }
571
- }
572
- });
573
- cardCvcRef.current.mount("#card-cvc");
574
- setIsReady(true);
575
- }
576
- }, [publicKey, inputPadding]);
577
560
  var handleSubmit = /*#__PURE__*/function () {
578
561
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e) {
579
- var _yield$stripeRef$curr, error, paymentMethod, res, result, _t2;
562
+ var _yield$stripeRef$curr, error, paymentMethod, response, result, _t2;
580
563
  return _regenerator().w(function (_context2) {
581
564
  while (1) switch (_context2.p = _context2.n) {
582
565
  case 0:
583
566
  e.preventDefault();
584
- if (!(!stripeRef.current || !cardNumberRef.current)) {
567
+ if (!(!isReady || !stripeRef.current || !cardRef.current)) {
585
568
  _context2.n = 1;
586
569
  break;
587
570
  }
571
+ errorPage === null || errorPage === void 0 || errorPage("Payment form is not ready yet.");
588
572
  return _context2.a(2);
589
573
  case 1:
574
+ if (!isSubmitting) {
575
+ _context2.n = 2;
576
+ break;
577
+ }
578
+ return _context2.a(2);
579
+ case 2:
590
580
  setIsSubmitting(true);
591
- _context2.p = 2;
592
- _context2.n = 3;
581
+ _context2.p = 3;
582
+ _context2.n = 4;
593
583
  return stripeRef.current.createPaymentMethod({
594
584
  type: "card",
595
- card: cardNumberRef.current
585
+ card: cardRef.current
596
586
  });
597
- case 3:
587
+ case 4:
598
588
  _yield$stripeRef$curr = _context2.v;
599
589
  error = _yield$stripeRef$curr.error;
600
590
  paymentMethod = _yield$stripeRef$curr.paymentMethod;
601
- if (!error) {
602
- _context2.n = 4;
591
+ if (!(error || !(paymentMethod !== null && paymentMethod !== void 0 && paymentMethod.id))) {
592
+ _context2.n = 5;
603
593
  break;
604
594
  }
605
- errorPage === null || errorPage === void 0 || errorPage(error.message);
606
- setIsSubmitting(false);
595
+ errorPage === null || errorPage === void 0 || errorPage((error === null || error === void 0 ? void 0 : error.message) || "Card tokenization failed.");
607
596
  return _context2.a(2);
608
- case 4:
609
- _context2.n = 5;
597
+ case 5:
598
+ _context2.n = 6;
610
599
  return fetch("".concat(baseUrl, "charge/").concat(userId), {
611
600
  method: "POST",
612
601
  headers: {
@@ -619,86 +608,90 @@ function StripePaymentForm(_ref) {
619
608
  description: description
620
609
  })
621
610
  });
622
- case 5:
623
- res = _context2.v;
624
- _context2.n = 6;
625
- return res.json();
626
611
  case 6:
612
+ response = _context2.v;
613
+ _context2.n = 7;
614
+ return response.json();
615
+ case 7:
627
616
  result = _context2.v;
628
- if (!res.ok) {
629
- errorPage === null || errorPage === void 0 || errorPage(result.message || "Payment failed");
630
- } else {
631
- successPage === null || successPage === void 0 || successPage(result.message || "Payment successful!");
617
+ if (response.ok) {
618
+ _context2.n = 8;
619
+ break;
632
620
  }
633
- _context2.n = 8;
621
+ errorPage === null || errorPage === void 0 || errorPage(result);
622
+ return _context2.a(2);
623
+ case 8:
624
+ successPage === null || successPage === void 0 || successPage(result.message);
625
+ _context2.n = 10;
634
626
  break;
635
- case 7:
636
- _context2.p = 7;
627
+ case 9:
628
+ _context2.p = 9;
637
629
  _t2 = _context2.v;
638
- errorPage === null || errorPage === void 0 || errorPage(_t2.message || "Payment error");
639
- case 8:
640
- _context2.p = 8;
630
+ errorPage === null || errorPage === void 0 || errorPage(_t2.message);
631
+ case 10:
632
+ _context2.p = 10;
641
633
  setIsSubmitting(false);
642
- return _context2.f(8);
643
- case 9:
634
+ return _context2.f(10);
635
+ case 11:
644
636
  return _context2.a(2);
645
637
  }
646
- }, _callee2, null, [[2, 7, 8, 9]]);
638
+ }, _callee2, null, [[3, 9, 10, 11]]);
647
639
  }));
648
640
  return function handleSubmit(_x) {
649
641
  return _ref3.apply(this, arguments);
650
642
  };
651
643
  }();
652
- if (!publicKey) return /*#__PURE__*/React.createElement("p", null, "Loading payment form...");
653
- return /*#__PURE__*/React.createElement("form", {
644
+ return /*#__PURE__*/React.createElement("div", {
645
+ style: {
646
+ display: "flex",
647
+ justifyContent: "center",
648
+ width: "100%"
649
+ }
650
+ }, /*#__PURE__*/React.createElement("form", {
654
651
  onSubmit: handleSubmit,
655
652
  style: {
656
- maxWidth: "".concat(formWidth, "px"),
657
- margin: "30px auto",
658
- padding: "20px",
659
- borderRadius: "".concat(formBorderRadius, "px"),
660
- backgroundColor: formBackgroundColor,
661
653
  display: "grid",
662
654
  gap: "12px",
663
- boxShadow: "0 4px 10px rgba(0,0,0,0.08)"
664
- }
665
- }, /*#__PURE__*/React.createElement("label", null, "Card Number"), /*#__PURE__*/React.createElement("div", {
666
- id: "card-number",
667
- style: {
668
- marginBottom: "10px"
655
+ padding: "20px",
656
+ backgroundColor: formbackgroundColor,
657
+ borderRadius: formborderRadius,
658
+ width: formwidth,
659
+ boxSizing: "border-box"
669
660
  }
670
- }), /*#__PURE__*/React.createElement("div", {
661
+ }, /*#__PURE__*/React.createElement("div", {
671
662
  style: {
672
- display: "flex",
673
- gap: "10px",
674
- marginBottom: "10px"
663
+ display: "grid",
664
+ gap: "8px"
675
665
  }
676
- }, /*#__PURE__*/React.createElement("div", {
666
+ }, /*#__PURE__*/React.createElement("label", {
677
667
  style: {
678
- flex: 1
668
+ fontWeight: "500",
669
+ color: "#555"
679
670
  }
680
- }, /*#__PURE__*/React.createElement("label", null, "Expiry"), /*#__PURE__*/React.createElement("div", {
681
- id: "card-expiry"
682
- })), /*#__PURE__*/React.createElement("div", {
671
+ }, "Card details"), /*#__PURE__*/React.createElement("div", {
672
+ id: "stripe-card-element",
683
673
  style: {
684
- flex: 1
674
+ padding: inputpadding,
675
+ borderRadius: formborderRadius,
676
+ border: "1px solid #ccc",
677
+ boxShadow: "inset 0 2px 4px rgba(0,0,0,0.05)"
685
678
  }
686
- }, /*#__PURE__*/React.createElement("label", null, "CVC"), /*#__PURE__*/React.createElement("div", {
687
- id: "card-cvc"
688
- }))), /*#__PURE__*/React.createElement("button", {
679
+ })), /*#__PURE__*/React.createElement("button", {
689
680
  type: "submit",
690
681
  disabled: !isReady || isSubmitting,
691
682
  style: {
692
- padding: "12px",
683
+ marginTop: "16px",
684
+ width: "100%",
685
+ padding: inputpadding + 2,
693
686
  backgroundColor: color,
694
- color: "#fff",
687
+ color: "white",
695
688
  border: "none",
696
- borderRadius: "".concat(formBorderRadius, "px"),
689
+ borderRadius: formborderRadius,
690
+ fontWeight: "600",
697
691
  cursor: !isReady || isSubmitting ? "not-allowed" : "pointer",
698
- fontWeight: 600,
699
- fontSize: "16px"
692
+ opacity: !isReady || isSubmitting ? 0.7 : 1
700
693
  }
701
- }, isSubmitting ? "Processing..." : "Pay Now"));
694
+ }, isSubmitting ? "Processing..." : "Buy now")));
702
695
  }
703
696
 
704
697
  exports.ShiftPaymentForm = ShiftPaymentForm;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/ShiftPaymentForm.jsx","../src/StripePaymentForm.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function ShiftPaymentForm({ amount, currency, color, formwidth = 400, formborderRadius = 20, formbackgroundColor = \"#fff\", inputpadding = 12, baseUrl, userId, successPage, errorPage, description }) {\n const formRef = useRef();\n const initializedRef = useRef(false);\n const shift4Ref = useRef(null);\n const componentsRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys,isProd } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = isProd ? \"https://js.shift4.com/shift4.js\" : \"https://js.dev.shift4.com/shift4.js\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Shift4) return;\n\n shift4Ref.current = window.Shift4(publicKeys);\n\n componentsRef.current = shift4Ref.current\n .createComponentGroup()\n .automount(\"#payment-form\");\n setIsReady(true);\n };\n\n script.onerror = () => {\n setError(\"Payment provider script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n console.error(err);\n setError(\"Payment initialization failed. Please try again.\");\n }\n };\n\n initPayment();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (isSubmitting) return;\n if (!formRef.current) return;\n\n if (!shift4Ref.current || !componentsRef.current) {\n errorPage(\"Payment form is not ready yet. Please try again.\");\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const token = await shift4Ref.current.createToken(componentsRef.current);\n if (!token?.id) {\n errorPage(\"Card tokenization failed. Please check your details and try again.\");\n }\n\n const request = {\n amount: amount,\n currency: currency,\n card: token.id,\n description\n };\n\n const threeDSecureToken = await shift4Ref.current.verifyThreeDSecure(request);\n if (!threeDSecureToken?.id) {\n errorPage(\"3D Secure verification failed. Please try again.\");\n }\n\n const apiBase = baseUrl + \"charge/\" + userId;\n const response = await fetch(`${apiBase}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n tokenId: threeDSecureToken.id,\n amount: request.amount,\n currency: request.currency,\n description\n }),\n });\n const result = await response.json();\n if (!response.ok) {\n if (typeof errorPage === \"function\")\n errorPage(result);\n return;\n }\n\n if (typeof successPage === \"function\")\n successPage(result.message);\n \n \n\n\n\n } catch (err) {\n if (typeof errorPage === \"function\")\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n\n\n\n }\n };\n\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n width: \"100%\",\n boxSizing: \"border-box\"\n }}\n >\n <form\n ref={formRef}\n id=\"payment-form\"\n onSubmit={handleSubmit}\n method=\"post\"\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\"\n }}\n >\n\n\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>Card number</label>\n <div\n data-shift4=\"number\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"10px\", marginTop: \"5px\" }}>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>Expiration</label>\n <div\n data-shift4=\"expiry\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>CVC</label>\n <div\n data-shift4=\"cvc\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}\n","import React, { useEffect, useState, useRef } from \"react\";\n\nexport default function StripePaymentForm({\n baseUrl,\n userId,\n amount,\n currency = \"usd\",\n description = \"\",\n color = \"#556cd6\",\n formWidth = 400,\n formBorderRadius = 12,\n formBackgroundColor = \"#fff\",\n inputPadding = 12,\n successPage,\n errorPage,\n}) {\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardNumberRef = useRef(null);\n const cardExpiryRef = useRef(null);\n const cardCvcRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n const [publicKey, setPublicKey] = useState(null);\n\n // 1️⃣ Get public key from backend\n useEffect(() => {\n const fetchKey = async () => {\n try {\n const res = await fetch(`${baseUrl}${userId}`);\n const { publicKeys } = await res.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n setPublicKey(publicKeys);\n } catch (err) {\n errorPage?.(err.message || \"Failed to fetch public key\");\n }\n };\n fetchKey();\n }, [baseUrl, userId, errorPage]);\n\n // 2️⃣ Initialize Stripe elements\n useEffect(() => {\n if (!publicKey) return;\n\n if (!window.Stripe) {\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n script.onload = initStripe;\n document.body.appendChild(script);\n } else {\n initStripe();\n }\n\n function initStripe() {\n stripeRef.current = window.Stripe(publicKey);\n elementsRef.current = stripeRef.current.elements();\n\n cardNumberRef.current = elementsRef.current.create(\"cardNumber\", {\n style: { base: { fontSize: \"15px\", padding: `${inputPadding}px` } },\n });\n cardNumberRef.current.mount(\"#card-number\");\n\n cardExpiryRef.current = elementsRef.current.create(\"cardExpiry\", {\n style: { base: { fontSize: \"15px\", padding: `${inputPadding}px` } },\n });\n cardExpiryRef.current.mount(\"#card-expiry\");\n\n cardCvcRef.current = elementsRef.current.create(\"cardCvc\", {\n style: { base: { fontSize: \"15px\", padding: `${inputPadding}px` } },\n });\n cardCvcRef.current.mount(\"#card-cvc\");\n\n setIsReady(true);\n }\n }, [publicKey, inputPadding]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n if (!stripeRef.current || !cardNumberRef.current) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } = await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardNumberRef.current,\n });\n\n if (error) {\n errorPage?.(error.message);\n setIsSubmitting(false);\n return;\n }\n\n const res = await fetch(`${baseUrl}charge/${userId}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n tokenId: paymentMethod.id,\n amount,\n currency,\n description,\n }),\n });\n\n const result = await res.json();\n\n if (!res.ok) {\n errorPage?.(result.message || \"Payment failed\");\n } else {\n successPage?.(result.message || \"Payment successful!\");\n }\n } catch (err) {\n errorPage?.(err.message || \"Payment error\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n if (!publicKey) return <p>Loading payment form...</p>;\n\n return (\n <form\n onSubmit={handleSubmit}\n style={{\n maxWidth: `${formWidth}px`,\n margin: \"30px auto\",\n padding: \"20px\",\n borderRadius: `${formBorderRadius}px`,\n backgroundColor: formBackgroundColor,\n display: \"grid\",\n gap: \"12px\",\n boxShadow: \"0 4px 10px rgba(0,0,0,0.08)\",\n }}\n >\n <label>Card Number</label>\n <div id=\"card-number\" style={{ marginBottom: \"10px\" }}></div>\n\n <div style={{ display: \"flex\", gap: \"10px\", marginBottom: \"10px\" }}>\n <div style={{ flex: 1 }}>\n <label>Expiry</label>\n <div id=\"card-expiry\"></div>\n </div>\n <div style={{ flex: 1 }}>\n <label>CVC</label>\n <div id=\"card-cvc\"></div>\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n padding: \"12px\",\n backgroundColor: color,\n color: \"#fff\",\n border: \"none\",\n borderRadius: `${formBorderRadius}px`,\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n fontWeight: 600,\n fontSize: \"16px\",\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Pay Now\"}\n </button>\n </form>\n );\n}"],"names":["ShiftPaymentForm","_ref","amount","currency","color","_ref$formwidth","formwidth","_ref$formborderRadius","formborderRadius","_ref$formbackgroundCo","formbackgroundColor","_ref$inputpadding","inputpadding","baseUrl","userId","successPage","errorPage","description","formRef","useRef","initializedRef","shift4Ref","componentsRef","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useState3","_useState4","isReady","setIsReady","useEffect","current","initPayment","_ref2","_asyncToGenerator","_regenerator","m","_callee","response","_yield$response$json","publicKeys","isProd","script","_t","w","_context","p","n","fetch","v","ok","json","document","createElement","src","async","onload","window","Shift4","createComponentGroup","automount","onerror","setError","body","appendChild","console","error","a","apply","arguments","handleSubmit","_ref3","_callee2","e","token","request","threeDSecureToken","apiBase","result","_t2","_context2","preventDefault","createToken","id","card","verifyThreeDSecure","concat","method","headers","JSON","stringify","tokenId","message","f","_x","React","style","display","justifyContent","width","boxSizing","ref","onSubmit","gap","padding","backgroundColor","borderRadius","fontWeight","className","border","boxShadow","gridTemplateColumns","marginTop","marginBottom","type","disabled","cursor","opacity","StripePaymentForm","_ref$currency","_ref$description","_ref$color","_ref$formWidth","formWidth","_ref$formBorderRadius","formBorderRadius","_ref$formBackgroundCo","formBackgroundColor","_ref$inputPadding","inputPadding","stripeRef","elementsRef","cardNumberRef","cardExpiryRef","cardCvcRef","_useState5","_useState6","publicKey","setPublicKey","fetchKey","res","_yield$res$json","Stripe","initStripe","elements","create","base","fontSize","mount","_yield$stripeRef$curr","paymentMethod","createPaymentMethod","maxWidth","margin","flex"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/ShiftPaymentForm.jsx","../src/StripePaymentForm.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function ShiftPaymentForm({ amount, currency, color, formwidth = 400, formborderRadius = 20, formbackgroundColor = \"#fff\", inputpadding = 12, baseUrl, userId, successPage, errorPage, description }) {\n const formRef = useRef();\n const initializedRef = useRef(false);\n const shift4Ref = useRef(null);\n const componentsRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys,isProd } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = isProd ? \"https://js.shift4.com/shift4.js\" : \"https://js.dev.shift4.com/shift4.js\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Shift4) return;\n\n shift4Ref.current = window.Shift4(publicKeys);\n\n componentsRef.current = shift4Ref.current\n .createComponentGroup()\n .automount(\"#payment-form\");\n setIsReady(true);\n };\n\n script.onerror = () => {\n setError(\"Payment provider script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n console.error(err);\n setError(\"Payment initialization failed. Please try again.\");\n }\n };\n\n initPayment();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (isSubmitting) return;\n if (!formRef.current) return;\n\n if (!shift4Ref.current || !componentsRef.current) {\n errorPage(\"Payment form is not ready yet. Please try again.\");\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const token = await shift4Ref.current.createToken(componentsRef.current);\n if (!token?.id) {\n errorPage(\"Card tokenization failed. Please check your details and try again.\");\n }\n\n const request = {\n amount: amount,\n currency: currency,\n card: token.id,\n description\n };\n\n const threeDSecureToken = await shift4Ref.current.verifyThreeDSecure(request);\n if (!threeDSecureToken?.id) {\n errorPage(\"3D Secure verification failed. Please try again.\");\n }\n\n const apiBase = baseUrl + \"charge/\" + userId;\n const response = await fetch(`${apiBase}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n tokenId: threeDSecureToken.id,\n amount: request.amount,\n currency: request.currency,\n description\n }),\n });\n const result = await response.json();\n if (!response.ok) {\n if (typeof errorPage === \"function\")\n errorPage(result);\n return;\n }\n\n if (typeof successPage === \"function\")\n successPage(result.message);\n \n \n\n\n\n } catch (err) {\n if (typeof errorPage === \"function\")\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n\n\n\n }\n };\n\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n width: \"100%\",\n boxSizing: \"border-box\"\n }}\n >\n <form\n ref={formRef}\n id=\"payment-form\"\n onSubmit={handleSubmit}\n method=\"post\"\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\"\n }}\n >\n\n\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>Card number</label>\n <div\n data-shift4=\"number\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"10px\", marginTop: \"5px\" }}>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>Expiration</label>\n <div\n data-shift4=\"expiry\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>CVC</label>\n <div\n data-shift4=\"cvc\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}\n","import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function StripePaymentForm({\n amount,\n currency = \"usd\",\n color,\n formwidth = 400,\n formborderRadius = 20,\n formbackgroundColor = \"#fff\",\n inputpadding = 12,\n baseUrl,\n userId,\n successPage,\n errorPage,\n description,\n}) {\n const initializedRef = useRef(false);\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardRef = useRef(null);\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initStripe = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) return errorPage?.(\"Failed to fetch public key\");\n\n const { publicKey } = await response.json();\n if (!publicKey) return errorPage?.(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Stripe) return;\n\n stripeRef.current = window.Stripe(publicKey);\n\n elementsRef.current = stripeRef.current.elements();\n\n const card = elementsRef.current.create(\"card\", {\n style: {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n },\n },\n });\n\n card.mount(\"#stripe-card-element\");\n cardRef.current = card;\n\n setIsReady(true);\n };\n\n script.onerror = () => {\n errorPage?.(\"Stripe script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n errorPage?.(err.message);\n }\n };\n\n initStripe();\n }, [baseUrl, userId, errorPage]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (!isReady || !stripeRef.current || !cardRef.current) {\n errorPage?.(\"Payment form is not ready yet.\");\n return;\n }\n\n if (isSubmitting) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } =\n await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardRef.current,\n });\n\n if (error || !paymentMethod?.id) {\n errorPage?.(error?.message || \"Card tokenization failed.\");\n return;\n }\n\n const response = await fetch(`${baseUrl}charge/${userId}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n tokenId: paymentMethod.id,\n amount,\n currency,\n description,\n }),\n });\n\n const result = await response.json();\n\n if (!response.ok) {\n errorPage?.(result);\n return;\n }\n\n successPage?.(result.message);\n } catch (err) {\n errorPage?.(err.message);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return (\n <div style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }}>\n <form\n onSubmit={handleSubmit}\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\",\n }}\n >\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>\n Card details\n </label>\n <div\n id=\"stripe-card-element\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\",\n }}\n />\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1,\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}"],"names":["ShiftPaymentForm","_ref","amount","currency","color","_ref$formwidth","formwidth","_ref$formborderRadius","formborderRadius","_ref$formbackgroundCo","formbackgroundColor","_ref$inputpadding","inputpadding","baseUrl","userId","successPage","errorPage","description","formRef","useRef","initializedRef","shift4Ref","componentsRef","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useState3","_useState4","isReady","setIsReady","useEffect","current","initPayment","_ref2","_asyncToGenerator","_regenerator","m","_callee","response","_yield$response$json","publicKeys","isProd","script","_t","w","_context","p","n","fetch","v","ok","json","document","createElement","src","async","onload","window","Shift4","createComponentGroup","automount","onerror","setError","body","appendChild","console","error","a","apply","arguments","handleSubmit","_ref3","_callee2","e","token","request","threeDSecureToken","apiBase","result","_t2","_context2","preventDefault","createToken","id","card","verifyThreeDSecure","concat","method","headers","JSON","stringify","tokenId","message","f","_x","React","style","display","justifyContent","width","boxSizing","ref","onSubmit","gap","padding","backgroundColor","borderRadius","fontWeight","className","border","boxShadow","gridTemplateColumns","marginTop","marginBottom","type","disabled","cursor","opacity","StripePaymentForm","_ref$currency","stripeRef","elementsRef","cardRef","initStripe","publicKey","Stripe","elements","create","base","fontSize","mount","_yield$stripeRef$curr","paymentMethod","createPaymentMethod"],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -452,30 +452,27 @@ function ShiftPaymentForm(_ref) {
452
452
  }
453
453
 
454
454
  function StripePaymentForm(_ref) {
455
- var baseUrl = _ref.baseUrl,
456
- userId = _ref.userId,
457
- amount = _ref.amount,
455
+ var amount = _ref.amount,
458
456
  _ref$currency = _ref.currency,
459
457
  currency = _ref$currency === void 0 ? "usd" : _ref$currency,
460
- _ref$description = _ref.description,
461
- description = _ref$description === void 0 ? "" : _ref$description,
462
- _ref$color = _ref.color,
463
- color = _ref$color === void 0 ? "#556cd6" : _ref$color,
464
- _ref$formWidth = _ref.formWidth,
465
- formWidth = _ref$formWidth === void 0 ? 400 : _ref$formWidth,
466
- _ref$formBorderRadius = _ref.formBorderRadius,
467
- formBorderRadius = _ref$formBorderRadius === void 0 ? 12 : _ref$formBorderRadius,
468
- _ref$formBackgroundCo = _ref.formBackgroundColor,
469
- formBackgroundColor = _ref$formBackgroundCo === void 0 ? "#fff" : _ref$formBackgroundCo,
470
- _ref$inputPadding = _ref.inputPadding,
471
- inputPadding = _ref$inputPadding === void 0 ? 12 : _ref$inputPadding,
458
+ color = _ref.color,
459
+ _ref$formwidth = _ref.formwidth,
460
+ formwidth = _ref$formwidth === void 0 ? 400 : _ref$formwidth,
461
+ _ref$formborderRadius = _ref.formborderRadius,
462
+ formborderRadius = _ref$formborderRadius === void 0 ? 20 : _ref$formborderRadius,
463
+ _ref$formbackgroundCo = _ref.formbackgroundColor,
464
+ formbackgroundColor = _ref$formbackgroundCo === void 0 ? "#fff" : _ref$formbackgroundCo,
465
+ _ref$inputpadding = _ref.inputpadding,
466
+ inputpadding = _ref$inputpadding === void 0 ? 12 : _ref$inputpadding,
467
+ baseUrl = _ref.baseUrl,
468
+ userId = _ref.userId,
472
469
  successPage = _ref.successPage,
473
- errorPage = _ref.errorPage;
470
+ errorPage = _ref.errorPage,
471
+ description = _ref.description;
472
+ var initializedRef = useRef(false);
474
473
  var stripeRef = useRef(null);
475
474
  var elementsRef = useRef(null);
476
- var cardNumberRef = useRef(null);
477
- var cardExpiryRef = useRef(null);
478
- var cardCvcRef = useRef(null);
475
+ var cardRef = useRef(null);
479
476
  var _useState = useState(false),
480
477
  _useState2 = _slicedToArray(_useState, 2),
481
478
  isSubmitting = _useState2[0],
@@ -484,127 +481,119 @@ function StripePaymentForm(_ref) {
484
481
  _useState4 = _slicedToArray(_useState3, 2),
485
482
  isReady = _useState4[0],
486
483
  setIsReady = _useState4[1];
487
- var _useState5 = useState(null),
488
- _useState6 = _slicedToArray(_useState5, 2),
489
- publicKey = _useState6[0],
490
- setPublicKey = _useState6[1];
491
-
492
- // 1️⃣ Get public key from backend
493
484
  useEffect(function () {
494
- var fetchKey = /*#__PURE__*/function () {
485
+ if (initializedRef.current) return;
486
+ initializedRef.current = true;
487
+ var initStripe = /*#__PURE__*/function () {
495
488
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
496
- var res, _yield$res$json, publicKeys, _t;
489
+ var response, _yield$response$json, publicKey, script, _t;
497
490
  return _regenerator().w(function (_context) {
498
491
  while (1) switch (_context.p = _context.n) {
499
492
  case 0:
500
493
  _context.p = 0;
501
494
  _context.n = 1;
502
- return fetch("".concat(baseUrl).concat(userId));
495
+ return fetch(baseUrl + userId);
503
496
  case 1:
504
- res = _context.v;
505
- _context.n = 2;
506
- return res.json();
497
+ response = _context.v;
498
+ if (response.ok) {
499
+ _context.n = 2;
500
+ break;
501
+ }
502
+ return _context.a(2, errorPage === null || errorPage === void 0 ? void 0 : errorPage("Failed to fetch public key"));
507
503
  case 2:
508
- _yield$res$json = _context.v;
509
- publicKeys = _yield$res$json.publicKeys;
510
- if (!publicKeys) errorPage("Public key is empty");
511
- setPublicKey(publicKeys);
512
- _context.n = 4;
513
- break;
504
+ _context.n = 3;
505
+ return response.json();
514
506
  case 3:
515
- _context.p = 3;
516
- _t = _context.v;
517
- errorPage === null || errorPage === void 0 || errorPage(_t.message || "Failed to fetch public key");
507
+ _yield$response$json = _context.v;
508
+ publicKey = _yield$response$json.publicKey;
509
+ if (publicKey) {
510
+ _context.n = 4;
511
+ break;
512
+ }
513
+ return _context.a(2, errorPage === null || errorPage === void 0 ? void 0 : errorPage("Public key is empty"));
518
514
  case 4:
515
+ script = document.createElement("script");
516
+ script.src = "https://js.stripe.com/v3/";
517
+ script.async = true;
518
+ script.onload = function () {
519
+ if (!window.Stripe) return;
520
+ stripeRef.current = window.Stripe(publicKey);
521
+ elementsRef.current = stripeRef.current.elements();
522
+ var card = elementsRef.current.create("card", {
523
+ style: {
524
+ base: {
525
+ fontSize: "15px",
526
+ color: "#111",
527
+ "::placeholder": {
528
+ color: "#aaa"
529
+ }
530
+ }
531
+ }
532
+ });
533
+ card.mount("#stripe-card-element");
534
+ cardRef.current = card;
535
+ setIsReady(true);
536
+ };
537
+ script.onerror = function () {
538
+ errorPage === null || errorPage === void 0 || errorPage("Stripe script failed to load.");
539
+ };
540
+ document.body.appendChild(script);
541
+ _context.n = 6;
542
+ break;
543
+ case 5:
544
+ _context.p = 5;
545
+ _t = _context.v;
546
+ errorPage === null || errorPage === void 0 || errorPage(_t.message);
547
+ case 6:
519
548
  return _context.a(2);
520
549
  }
521
- }, _callee, null, [[0, 3]]);
550
+ }, _callee, null, [[0, 5]]);
522
551
  }));
523
- return function fetchKey() {
552
+ return function initStripe() {
524
553
  return _ref2.apply(this, arguments);
525
554
  };
526
555
  }();
527
- fetchKey();
556
+ initStripe();
528
557
  }, [baseUrl, userId, errorPage]);
529
-
530
- // 2️⃣ Initialize Stripe elements
531
- useEffect(function () {
532
- if (!publicKey) return;
533
- if (!window.Stripe) {
534
- var script = document.createElement("script");
535
- script.src = "https://js.stripe.com/v3/";
536
- script.async = true;
537
- script.onload = initStripe;
538
- document.body.appendChild(script);
539
- } else {
540
- initStripe();
541
- }
542
- function initStripe() {
543
- stripeRef.current = window.Stripe(publicKey);
544
- elementsRef.current = stripeRef.current.elements();
545
- cardNumberRef.current = elementsRef.current.create("cardNumber", {
546
- style: {
547
- base: {
548
- fontSize: "15px",
549
- padding: "".concat(inputPadding, "px")
550
- }
551
- }
552
- });
553
- cardNumberRef.current.mount("#card-number");
554
- cardExpiryRef.current = elementsRef.current.create("cardExpiry", {
555
- style: {
556
- base: {
557
- fontSize: "15px",
558
- padding: "".concat(inputPadding, "px")
559
- }
560
- }
561
- });
562
- cardExpiryRef.current.mount("#card-expiry");
563
- cardCvcRef.current = elementsRef.current.create("cardCvc", {
564
- style: {
565
- base: {
566
- fontSize: "15px",
567
- padding: "".concat(inputPadding, "px")
568
- }
569
- }
570
- });
571
- cardCvcRef.current.mount("#card-cvc");
572
- setIsReady(true);
573
- }
574
- }, [publicKey, inputPadding]);
575
558
  var handleSubmit = /*#__PURE__*/function () {
576
559
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e) {
577
- var _yield$stripeRef$curr, error, paymentMethod, res, result, _t2;
560
+ var _yield$stripeRef$curr, error, paymentMethod, response, result, _t2;
578
561
  return _regenerator().w(function (_context2) {
579
562
  while (1) switch (_context2.p = _context2.n) {
580
563
  case 0:
581
564
  e.preventDefault();
582
- if (!(!stripeRef.current || !cardNumberRef.current)) {
565
+ if (!(!isReady || !stripeRef.current || !cardRef.current)) {
583
566
  _context2.n = 1;
584
567
  break;
585
568
  }
569
+ errorPage === null || errorPage === void 0 || errorPage("Payment form is not ready yet.");
586
570
  return _context2.a(2);
587
571
  case 1:
572
+ if (!isSubmitting) {
573
+ _context2.n = 2;
574
+ break;
575
+ }
576
+ return _context2.a(2);
577
+ case 2:
588
578
  setIsSubmitting(true);
589
- _context2.p = 2;
590
- _context2.n = 3;
579
+ _context2.p = 3;
580
+ _context2.n = 4;
591
581
  return stripeRef.current.createPaymentMethod({
592
582
  type: "card",
593
- card: cardNumberRef.current
583
+ card: cardRef.current
594
584
  });
595
- case 3:
585
+ case 4:
596
586
  _yield$stripeRef$curr = _context2.v;
597
587
  error = _yield$stripeRef$curr.error;
598
588
  paymentMethod = _yield$stripeRef$curr.paymentMethod;
599
- if (!error) {
600
- _context2.n = 4;
589
+ if (!(error || !(paymentMethod !== null && paymentMethod !== void 0 && paymentMethod.id))) {
590
+ _context2.n = 5;
601
591
  break;
602
592
  }
603
- errorPage === null || errorPage === void 0 || errorPage(error.message);
604
- setIsSubmitting(false);
593
+ errorPage === null || errorPage === void 0 || errorPage((error === null || error === void 0 ? void 0 : error.message) || "Card tokenization failed.");
605
594
  return _context2.a(2);
606
- case 4:
607
- _context2.n = 5;
595
+ case 5:
596
+ _context2.n = 6;
608
597
  return fetch("".concat(baseUrl, "charge/").concat(userId), {
609
598
  method: "POST",
610
599
  headers: {
@@ -617,86 +606,90 @@ function StripePaymentForm(_ref) {
617
606
  description: description
618
607
  })
619
608
  });
620
- case 5:
621
- res = _context2.v;
622
- _context2.n = 6;
623
- return res.json();
624
609
  case 6:
610
+ response = _context2.v;
611
+ _context2.n = 7;
612
+ return response.json();
613
+ case 7:
625
614
  result = _context2.v;
626
- if (!res.ok) {
627
- errorPage === null || errorPage === void 0 || errorPage(result.message || "Payment failed");
628
- } else {
629
- successPage === null || successPage === void 0 || successPage(result.message || "Payment successful!");
615
+ if (response.ok) {
616
+ _context2.n = 8;
617
+ break;
630
618
  }
631
- _context2.n = 8;
619
+ errorPage === null || errorPage === void 0 || errorPage(result);
620
+ return _context2.a(2);
621
+ case 8:
622
+ successPage === null || successPage === void 0 || successPage(result.message);
623
+ _context2.n = 10;
632
624
  break;
633
- case 7:
634
- _context2.p = 7;
625
+ case 9:
626
+ _context2.p = 9;
635
627
  _t2 = _context2.v;
636
- errorPage === null || errorPage === void 0 || errorPage(_t2.message || "Payment error");
637
- case 8:
638
- _context2.p = 8;
628
+ errorPage === null || errorPage === void 0 || errorPage(_t2.message);
629
+ case 10:
630
+ _context2.p = 10;
639
631
  setIsSubmitting(false);
640
- return _context2.f(8);
641
- case 9:
632
+ return _context2.f(10);
633
+ case 11:
642
634
  return _context2.a(2);
643
635
  }
644
- }, _callee2, null, [[2, 7, 8, 9]]);
636
+ }, _callee2, null, [[3, 9, 10, 11]]);
645
637
  }));
646
638
  return function handleSubmit(_x) {
647
639
  return _ref3.apply(this, arguments);
648
640
  };
649
641
  }();
650
- if (!publicKey) return /*#__PURE__*/React.createElement("p", null, "Loading payment form...");
651
- return /*#__PURE__*/React.createElement("form", {
642
+ return /*#__PURE__*/React.createElement("div", {
643
+ style: {
644
+ display: "flex",
645
+ justifyContent: "center",
646
+ width: "100%"
647
+ }
648
+ }, /*#__PURE__*/React.createElement("form", {
652
649
  onSubmit: handleSubmit,
653
650
  style: {
654
- maxWidth: "".concat(formWidth, "px"),
655
- margin: "30px auto",
656
- padding: "20px",
657
- borderRadius: "".concat(formBorderRadius, "px"),
658
- backgroundColor: formBackgroundColor,
659
651
  display: "grid",
660
652
  gap: "12px",
661
- boxShadow: "0 4px 10px rgba(0,0,0,0.08)"
662
- }
663
- }, /*#__PURE__*/React.createElement("label", null, "Card Number"), /*#__PURE__*/React.createElement("div", {
664
- id: "card-number",
665
- style: {
666
- marginBottom: "10px"
653
+ padding: "20px",
654
+ backgroundColor: formbackgroundColor,
655
+ borderRadius: formborderRadius,
656
+ width: formwidth,
657
+ boxSizing: "border-box"
667
658
  }
668
- }), /*#__PURE__*/React.createElement("div", {
659
+ }, /*#__PURE__*/React.createElement("div", {
669
660
  style: {
670
- display: "flex",
671
- gap: "10px",
672
- marginBottom: "10px"
661
+ display: "grid",
662
+ gap: "8px"
673
663
  }
674
- }, /*#__PURE__*/React.createElement("div", {
664
+ }, /*#__PURE__*/React.createElement("label", {
675
665
  style: {
676
- flex: 1
666
+ fontWeight: "500",
667
+ color: "#555"
677
668
  }
678
- }, /*#__PURE__*/React.createElement("label", null, "Expiry"), /*#__PURE__*/React.createElement("div", {
679
- id: "card-expiry"
680
- })), /*#__PURE__*/React.createElement("div", {
669
+ }, "Card details"), /*#__PURE__*/React.createElement("div", {
670
+ id: "stripe-card-element",
681
671
  style: {
682
- flex: 1
672
+ padding: inputpadding,
673
+ borderRadius: formborderRadius,
674
+ border: "1px solid #ccc",
675
+ boxShadow: "inset 0 2px 4px rgba(0,0,0,0.05)"
683
676
  }
684
- }, /*#__PURE__*/React.createElement("label", null, "CVC"), /*#__PURE__*/React.createElement("div", {
685
- id: "card-cvc"
686
- }))), /*#__PURE__*/React.createElement("button", {
677
+ })), /*#__PURE__*/React.createElement("button", {
687
678
  type: "submit",
688
679
  disabled: !isReady || isSubmitting,
689
680
  style: {
690
- padding: "12px",
681
+ marginTop: "16px",
682
+ width: "100%",
683
+ padding: inputpadding + 2,
691
684
  backgroundColor: color,
692
- color: "#fff",
685
+ color: "white",
693
686
  border: "none",
694
- borderRadius: "".concat(formBorderRadius, "px"),
687
+ borderRadius: formborderRadius,
688
+ fontWeight: "600",
695
689
  cursor: !isReady || isSubmitting ? "not-allowed" : "pointer",
696
- fontWeight: 600,
697
- fontSize: "16px"
690
+ opacity: !isReady || isSubmitting ? 0.7 : 1
698
691
  }
699
- }, isSubmitting ? "Processing..." : "Pay Now"));
692
+ }, isSubmitting ? "Processing..." : "Buy now")));
700
693
  }
701
694
 
702
695
  export { ShiftPaymentForm, StripePaymentForm };
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/ShiftPaymentForm.jsx","../src/StripePaymentForm.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function ShiftPaymentForm({ amount, currency, color, formwidth = 400, formborderRadius = 20, formbackgroundColor = \"#fff\", inputpadding = 12, baseUrl, userId, successPage, errorPage, description }) {\n const formRef = useRef();\n const initializedRef = useRef(false);\n const shift4Ref = useRef(null);\n const componentsRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys,isProd } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = isProd ? \"https://js.shift4.com/shift4.js\" : \"https://js.dev.shift4.com/shift4.js\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Shift4) return;\n\n shift4Ref.current = window.Shift4(publicKeys);\n\n componentsRef.current = shift4Ref.current\n .createComponentGroup()\n .automount(\"#payment-form\");\n setIsReady(true);\n };\n\n script.onerror = () => {\n setError(\"Payment provider script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n console.error(err);\n setError(\"Payment initialization failed. Please try again.\");\n }\n };\n\n initPayment();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (isSubmitting) return;\n if (!formRef.current) return;\n\n if (!shift4Ref.current || !componentsRef.current) {\n errorPage(\"Payment form is not ready yet. Please try again.\");\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const token = await shift4Ref.current.createToken(componentsRef.current);\n if (!token?.id) {\n errorPage(\"Card tokenization failed. Please check your details and try again.\");\n }\n\n const request = {\n amount: amount,\n currency: currency,\n card: token.id,\n description\n };\n\n const threeDSecureToken = await shift4Ref.current.verifyThreeDSecure(request);\n if (!threeDSecureToken?.id) {\n errorPage(\"3D Secure verification failed. Please try again.\");\n }\n\n const apiBase = baseUrl + \"charge/\" + userId;\n const response = await fetch(`${apiBase}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n tokenId: threeDSecureToken.id,\n amount: request.amount,\n currency: request.currency,\n description\n }),\n });\n const result = await response.json();\n if (!response.ok) {\n if (typeof errorPage === \"function\")\n errorPage(result);\n return;\n }\n\n if (typeof successPage === \"function\")\n successPage(result.message);\n \n \n\n\n\n } catch (err) {\n if (typeof errorPage === \"function\")\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n\n\n\n }\n };\n\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n width: \"100%\",\n boxSizing: \"border-box\"\n }}\n >\n <form\n ref={formRef}\n id=\"payment-form\"\n onSubmit={handleSubmit}\n method=\"post\"\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\"\n }}\n >\n\n\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>Card number</label>\n <div\n data-shift4=\"number\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"10px\", marginTop: \"5px\" }}>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>Expiration</label>\n <div\n data-shift4=\"expiry\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>CVC</label>\n <div\n data-shift4=\"cvc\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}\n","import React, { useEffect, useState, useRef } from \"react\";\n\nexport default function StripePaymentForm({\n baseUrl,\n userId,\n amount,\n currency = \"usd\",\n description = \"\",\n color = \"#556cd6\",\n formWidth = 400,\n formBorderRadius = 12,\n formBackgroundColor = \"#fff\",\n inputPadding = 12,\n successPage,\n errorPage,\n}) {\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardNumberRef = useRef(null);\n const cardExpiryRef = useRef(null);\n const cardCvcRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n const [publicKey, setPublicKey] = useState(null);\n\n // 1️⃣ Get public key from backend\n useEffect(() => {\n const fetchKey = async () => {\n try {\n const res = await fetch(`${baseUrl}${userId}`);\n const { publicKeys } = await res.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n setPublicKey(publicKeys);\n } catch (err) {\n errorPage?.(err.message || \"Failed to fetch public key\");\n }\n };\n fetchKey();\n }, [baseUrl, userId, errorPage]);\n\n // 2️⃣ Initialize Stripe elements\n useEffect(() => {\n if (!publicKey) return;\n\n if (!window.Stripe) {\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n script.onload = initStripe;\n document.body.appendChild(script);\n } else {\n initStripe();\n }\n\n function initStripe() {\n stripeRef.current = window.Stripe(publicKey);\n elementsRef.current = stripeRef.current.elements();\n\n cardNumberRef.current = elementsRef.current.create(\"cardNumber\", {\n style: { base: { fontSize: \"15px\", padding: `${inputPadding}px` } },\n });\n cardNumberRef.current.mount(\"#card-number\");\n\n cardExpiryRef.current = elementsRef.current.create(\"cardExpiry\", {\n style: { base: { fontSize: \"15px\", padding: `${inputPadding}px` } },\n });\n cardExpiryRef.current.mount(\"#card-expiry\");\n\n cardCvcRef.current = elementsRef.current.create(\"cardCvc\", {\n style: { base: { fontSize: \"15px\", padding: `${inputPadding}px` } },\n });\n cardCvcRef.current.mount(\"#card-cvc\");\n\n setIsReady(true);\n }\n }, [publicKey, inputPadding]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n if (!stripeRef.current || !cardNumberRef.current) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } = await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardNumberRef.current,\n });\n\n if (error) {\n errorPage?.(error.message);\n setIsSubmitting(false);\n return;\n }\n\n const res = await fetch(`${baseUrl}charge/${userId}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n tokenId: paymentMethod.id,\n amount,\n currency,\n description,\n }),\n });\n\n const result = await res.json();\n\n if (!res.ok) {\n errorPage?.(result.message || \"Payment failed\");\n } else {\n successPage?.(result.message || \"Payment successful!\");\n }\n } catch (err) {\n errorPage?.(err.message || \"Payment error\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n if (!publicKey) return <p>Loading payment form...</p>;\n\n return (\n <form\n onSubmit={handleSubmit}\n style={{\n maxWidth: `${formWidth}px`,\n margin: \"30px auto\",\n padding: \"20px\",\n borderRadius: `${formBorderRadius}px`,\n backgroundColor: formBackgroundColor,\n display: \"grid\",\n gap: \"12px\",\n boxShadow: \"0 4px 10px rgba(0,0,0,0.08)\",\n }}\n >\n <label>Card Number</label>\n <div id=\"card-number\" style={{ marginBottom: \"10px\" }}></div>\n\n <div style={{ display: \"flex\", gap: \"10px\", marginBottom: \"10px\" }}>\n <div style={{ flex: 1 }}>\n <label>Expiry</label>\n <div id=\"card-expiry\"></div>\n </div>\n <div style={{ flex: 1 }}>\n <label>CVC</label>\n <div id=\"card-cvc\"></div>\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n padding: \"12px\",\n backgroundColor: color,\n color: \"#fff\",\n border: \"none\",\n borderRadius: `${formBorderRadius}px`,\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n fontWeight: 600,\n fontSize: \"16px\",\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Pay Now\"}\n </button>\n </form>\n );\n}"],"names":["ShiftPaymentForm","_ref","amount","currency","color","_ref$formwidth","formwidth","_ref$formborderRadius","formborderRadius","_ref$formbackgroundCo","formbackgroundColor","_ref$inputpadding","inputpadding","baseUrl","userId","successPage","errorPage","description","formRef","useRef","initializedRef","shift4Ref","componentsRef","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useState3","_useState4","isReady","setIsReady","useEffect","current","initPayment","_ref2","_asyncToGenerator","_regenerator","m","_callee","response","_yield$response$json","publicKeys","isProd","script","_t","w","_context","p","n","fetch","v","ok","json","document","createElement","src","async","onload","window","Shift4","createComponentGroup","automount","onerror","setError","body","appendChild","console","error","a","apply","arguments","handleSubmit","_ref3","_callee2","e","token","request","threeDSecureToken","apiBase","result","_t2","_context2","preventDefault","createToken","id","card","verifyThreeDSecure","concat","method","headers","JSON","stringify","tokenId","message","f","_x","React","style","display","justifyContent","width","boxSizing","ref","onSubmit","gap","padding","backgroundColor","borderRadius","fontWeight","className","border","boxShadow","gridTemplateColumns","marginTop","marginBottom","type","disabled","cursor","opacity","StripePaymentForm","_ref$currency","_ref$description","_ref$color","_ref$formWidth","formWidth","_ref$formBorderRadius","formBorderRadius","_ref$formBackgroundCo","formBackgroundColor","_ref$inputPadding","inputPadding","stripeRef","elementsRef","cardNumberRef","cardExpiryRef","cardCvcRef","_useState5","_useState6","publicKey","setPublicKey","fetchKey","res","_yield$res$json","Stripe","initStripe","elements","create","base","fontSize","mount","_yield$stripeRef$curr","paymentMethod","createPaymentMethod","maxWidth","margin","flex"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/ShiftPaymentForm.jsx","../src/StripePaymentForm.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function ShiftPaymentForm({ amount, currency, color, formwidth = 400, formborderRadius = 20, formbackgroundColor = \"#fff\", inputpadding = 12, baseUrl, userId, successPage, errorPage, description }) {\n const formRef = useRef();\n const initializedRef = useRef(false);\n const shift4Ref = useRef(null);\n const componentsRef = useRef(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initPayment = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) errorPage(\"Failed to fetch public key\");\n\n const { publicKeys,isProd } = await response.json();\n if (!publicKeys) errorPage(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = isProd ? \"https://js.shift4.com/shift4.js\" : \"https://js.dev.shift4.com/shift4.js\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Shift4) return;\n\n shift4Ref.current = window.Shift4(publicKeys);\n\n componentsRef.current = shift4Ref.current\n .createComponentGroup()\n .automount(\"#payment-form\");\n setIsReady(true);\n };\n\n script.onerror = () => {\n setError(\"Payment provider script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n console.error(err);\n setError(\"Payment initialization failed. Please try again.\");\n }\n };\n\n initPayment();\n }, []);\n\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (isSubmitting) return;\n if (!formRef.current) return;\n\n if (!shift4Ref.current || !componentsRef.current) {\n errorPage(\"Payment form is not ready yet. Please try again.\");\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n const token = await shift4Ref.current.createToken(componentsRef.current);\n if (!token?.id) {\n errorPage(\"Card tokenization failed. Please check your details and try again.\");\n }\n\n const request = {\n amount: amount,\n currency: currency,\n card: token.id,\n description\n };\n\n const threeDSecureToken = await shift4Ref.current.verifyThreeDSecure(request);\n if (!threeDSecureToken?.id) {\n errorPage(\"3D Secure verification failed. Please try again.\");\n }\n\n const apiBase = baseUrl + \"charge/\" + userId;\n const response = await fetch(`${apiBase}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n tokenId: threeDSecureToken.id,\n amount: request.amount,\n currency: request.currency,\n description\n }),\n });\n const result = await response.json();\n if (!response.ok) {\n if (typeof errorPage === \"function\")\n errorPage(result);\n return;\n }\n\n if (typeof successPage === \"function\")\n successPage(result.message);\n \n \n\n\n\n } catch (err) {\n if (typeof errorPage === \"function\")\n errorPage(err.message);\n } finally {\n setIsSubmitting(false);\n\n\n\n }\n };\n\n return (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n width: \"100%\",\n boxSizing: \"border-box\"\n }}\n >\n <form\n ref={formRef}\n id=\"payment-form\"\n onSubmit={handleSubmit}\n method=\"post\"\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\"\n }}\n >\n\n\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>Card number</label>\n <div\n data-shift4=\"number\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: \"10px\", marginTop: \"5px\" }}>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>Expiration</label>\n <div\n data-shift4=\"expiry\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n <div>\n <label style={{ fontWeight: \"500\", color: \"#555\", marginBottom: 2 }}>CVC</label>\n <div\n data-shift4=\"cvc\"\n className=\"form-control\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\"\n }}\n />\n </div>\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}\n","import React, { useEffect, useRef, useState } from \"react\";\n\nexport default function StripePaymentForm({\n amount,\n currency = \"usd\",\n color,\n formwidth = 400,\n formborderRadius = 20,\n formbackgroundColor = \"#fff\",\n inputpadding = 12,\n baseUrl,\n userId,\n successPage,\n errorPage,\n description,\n}) {\n const initializedRef = useRef(false);\n const stripeRef = useRef(null);\n const elementsRef = useRef(null);\n const cardRef = useRef(null);\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isReady, setIsReady] = useState(false);\n\n useEffect(() => {\n if (initializedRef.current) return;\n initializedRef.current = true;\n\n const initStripe = async () => {\n try {\n const response = await fetch(baseUrl + userId);\n if (!response.ok) return errorPage?.(\"Failed to fetch public key\");\n\n const { publicKey } = await response.json();\n if (!publicKey) return errorPage?.(\"Public key is empty\");\n\n const script = document.createElement(\"script\");\n script.src = \"https://js.stripe.com/v3/\";\n script.async = true;\n\n script.onload = () => {\n if (!window.Stripe) return;\n\n stripeRef.current = window.Stripe(publicKey);\n\n elementsRef.current = stripeRef.current.elements();\n\n const card = elementsRef.current.create(\"card\", {\n style: {\n base: {\n fontSize: \"15px\",\n color: \"#111\",\n \"::placeholder\": { color: \"#aaa\" },\n },\n },\n });\n\n card.mount(\"#stripe-card-element\");\n cardRef.current = card;\n\n setIsReady(true);\n };\n\n script.onerror = () => {\n errorPage?.(\"Stripe script failed to load.\");\n };\n\n document.body.appendChild(script);\n } catch (err) {\n errorPage?.(err.message);\n }\n };\n\n initStripe();\n }, [baseUrl, userId, errorPage]);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (!isReady || !stripeRef.current || !cardRef.current) {\n errorPage?.(\"Payment form is not ready yet.\");\n return;\n }\n\n if (isSubmitting) return;\n\n setIsSubmitting(true);\n\n try {\n const { error, paymentMethod } =\n await stripeRef.current.createPaymentMethod({\n type: \"card\",\n card: cardRef.current,\n });\n\n if (error || !paymentMethod?.id) {\n errorPage?.(error?.message || \"Card tokenization failed.\");\n return;\n }\n\n const response = await fetch(`${baseUrl}charge/${userId}`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n tokenId: paymentMethod.id,\n amount,\n currency,\n description,\n }),\n });\n\n const result = await response.json();\n\n if (!response.ok) {\n errorPage?.(result);\n return;\n }\n\n successPage?.(result.message);\n } catch (err) {\n errorPage?.(err.message);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return (\n <div style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }}>\n <form\n onSubmit={handleSubmit}\n style={{\n display: \"grid\",\n gap: \"12px\",\n padding: \"20px\",\n backgroundColor: formbackgroundColor,\n borderRadius: formborderRadius,\n width: formwidth,\n boxSizing: \"border-box\",\n }}\n >\n <div style={{ display: \"grid\", gap: \"8px\" }}>\n <label style={{ fontWeight: \"500\", color: \"#555\" }}>\n Card details\n </label>\n <div\n id=\"stripe-card-element\"\n style={{\n padding: inputpadding,\n borderRadius: formborderRadius,\n border: \"1px solid #ccc\",\n boxShadow: \"inset 0 2px 4px rgba(0,0,0,0.05)\",\n }}\n />\n </div>\n\n <button\n type=\"submit\"\n disabled={!isReady || isSubmitting}\n style={{\n marginTop: \"16px\",\n width: \"100%\",\n padding: inputpadding + 2,\n backgroundColor: color,\n color: \"white\",\n border: \"none\",\n borderRadius: formborderRadius,\n fontWeight: \"600\",\n cursor: !isReady || isSubmitting ? \"not-allowed\" : \"pointer\",\n opacity: !isReady || isSubmitting ? 0.7 : 1,\n }}\n >\n {isSubmitting ? \"Processing...\" : \"Buy now\"}\n </button>\n </form>\n </div>\n );\n}"],"names":["ShiftPaymentForm","_ref","amount","currency","color","_ref$formwidth","formwidth","_ref$formborderRadius","formborderRadius","_ref$formbackgroundCo","formbackgroundColor","_ref$inputpadding","inputpadding","baseUrl","userId","successPage","errorPage","description","formRef","useRef","initializedRef","shift4Ref","componentsRef","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useState3","_useState4","isReady","setIsReady","useEffect","current","initPayment","_ref2","_asyncToGenerator","_regenerator","m","_callee","response","_yield$response$json","publicKeys","isProd","script","_t","w","_context","p","n","fetch","v","ok","json","document","createElement","src","async","onload","window","Shift4","createComponentGroup","automount","onerror","setError","body","appendChild","console","error","a","apply","arguments","handleSubmit","_ref3","_callee2","e","token","request","threeDSecureToken","apiBase","result","_t2","_context2","preventDefault","createToken","id","card","verifyThreeDSecure","concat","method","headers","JSON","stringify","tokenId","message","f","_x","React","style","display","justifyContent","width","boxSizing","ref","onSubmit","gap","padding","backgroundColor","borderRadius","fontWeight","className","border","boxShadow","gridTemplateColumns","marginTop","marginBottom","type","disabled","cursor","opacity","StripePaymentForm","_ref$currency","stripeRef","elementsRef","cardRef","initStripe","publicKey","Stripe","elements","create","base","fontSize","mount","_yield$stripeRef$curr","paymentMethod","createPaymentMethod"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "logix-pay",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "A React component library for integrating Logix payments with Logix applications. Provides a seamless and secure payment experience using Stripe or Shift4 payment gateways.",
5
5
  "license": "ISC",
6
6
  "type": "module",