@greenpay_prod/3ds-react 0.1.4-qa.0 → 0.2.1-qa.0

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
@@ -45,7 +45,7 @@ function ThreeDSChallenge({
45
45
  const mountedRef = (0, import_react.useRef)(false);
46
46
  const stableConfig = (0, import_react.useMemo)(
47
47
  () => config,
48
- [config.teamId, config.appId]
48
+ [config.environment, config.teamId, config.appId]
49
49
  );
50
50
  const handleStatusChange = (0, import_react.useCallback)(
51
51
  (newStatus) => {
@@ -93,7 +93,7 @@ function GreenPay3DSPayment({
93
93
  const mountedRef = (0, import_react2.useRef)(false);
94
94
  const stableConfig = (0, import_react2.useMemo)(
95
95
  () => config,
96
- [config.teamId, config.appId, config.apiUrl]
96
+ [config.environment, config.teamId, config.appId, config.apiUrl]
97
97
  );
98
98
  const stableOrderData = (0, import_react2.useMemo)(
99
99
  () => orderData,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/ThreeDSChallenge.tsx","../src/GreenPay3DSPayment.tsx"],"sourcesContent":["export { ThreeDSChallenge } from './ThreeDSChallenge'\nexport type { ThreeDSChallengeProps } from './ThreeDSChallenge'\n\nexport { GreenPay3DSPayment } from './GreenPay3DSPayment'\nexport type { GreenPay3DSPaymentProps } from './GreenPay3DSPayment'\n\nexport {\n GreenPay3DS,\n GreenPay3DSError,\n type GreenPay3DSConfig,\n type ThreeDSCallbacks,\n type ThreeDSPaymentCallbacks,\n type OrderData,\n type ThreeDSSession,\n type ThreeDSResult,\n} from '@greenpay_prod/3ds-sdk'\n","'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport { GreenPay3DS, type GreenPay3DSConfig } from '@greenpay_prod/3ds-sdk'\n\nexport interface ThreeDSChallengeProps {\n sessionId: string\n config: GreenPay3DSConfig\n onSuccess: () => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function ThreeDSChallenge({\n sessionId,\n config,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: ThreeDSChallengeProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.teamId, config.appId]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current || !sessionId) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .authenticate(sessionId, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onStatusChange: handleStatusChange,\n })\n .then(onSuccess)\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [sessionId, stableConfig, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n","'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport {\n GreenPay3DS,\n type GreenPay3DSConfig,\n type OrderData,\n type ThreeDSResult,\n} from '@greenpay_prod/3ds-sdk'\n\nexport interface GreenPay3DSPaymentProps {\n config: GreenPay3DSConfig\n orderData: OrderData\n onSuccess: (result: ThreeDSResult) => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function GreenPay3DSPayment({\n config,\n orderData,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: GreenPay3DSPaymentProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.teamId, config.appId, config.apiUrl]\n )\n\n const stableOrderData = useMemo(\n () => orderData,\n [\n orderData.cardData.ed,\n orderData.cardData.session,\n orderData.sessionToken,\n orderData.terminalId,\n ]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .processPayment(stableOrderData, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onSuccess,\n onStatusChange: handleStatusChange,\n })\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [stableConfig, stableOrderData, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n"],"mappings":"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","names":["import_react","import_ds_sdk","import_jsx_runtime","import_ds_sdk"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/ThreeDSChallenge.tsx","../src/GreenPay3DSPayment.tsx"],"sourcesContent":["export { ThreeDSChallenge } from './ThreeDSChallenge'\nexport type { ThreeDSChallengeProps } from './ThreeDSChallenge'\n\nexport { GreenPay3DSPayment } from './GreenPay3DSPayment'\nexport type { GreenPay3DSPaymentProps } from './GreenPay3DSPayment'\n\nexport {\n GreenPay3DS,\n GreenPay3DSError,\n type GreenPay3DSConfig,\n type ThreeDSCallbacks,\n type ThreeDSPaymentCallbacks,\n type OrderData,\n type ThreeDSSession,\n type ThreeDSResult,\n} from '@greenpay_prod/3ds-sdk'\n","'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport { GreenPay3DS, type GreenPay3DSConfig } from '@greenpay_prod/3ds-sdk'\n\nexport interface ThreeDSChallengeProps {\n sessionId: string\n config: GreenPay3DSConfig\n onSuccess: () => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function ThreeDSChallenge({\n sessionId,\n config,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: ThreeDSChallengeProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.environment, config.teamId, config.appId]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current || !sessionId) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .authenticate(sessionId, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onStatusChange: handleStatusChange,\n })\n .then(onSuccess)\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [sessionId, stableConfig, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n","'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport {\n GreenPay3DS,\n type GreenPay3DSConfig,\n type OrderData,\n type ThreeDSResult,\n} from '@greenpay_prod/3ds-sdk'\n\nexport interface GreenPay3DSPaymentProps {\n config: GreenPay3DSConfig\n orderData: OrderData\n onSuccess: (result: ThreeDSResult) => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function GreenPay3DSPayment({\n config,\n orderData,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: GreenPay3DSPaymentProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.environment, config.teamId, config.appId, config.apiUrl]\n )\n\n const stableOrderData = useMemo(\n () => orderData,\n [\n orderData.cardData.ed,\n orderData.cardData.session,\n orderData.sessionToken,\n orderData.terminalId,\n ]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .processPayment(stableOrderData, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onSuccess,\n onStatusChange: handleStatusChange,\n })\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [stableConfig, stableOrderData, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n"],"mappings":"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","names":["import_react","import_ds_sdk","import_jsx_runtime","import_ds_sdk"]}
package/dist/index.mjs CHANGED
@@ -16,7 +16,7 @@ function ThreeDSChallenge({
16
16
  const mountedRef = useRef(false);
17
17
  const stableConfig = useMemo(
18
18
  () => config,
19
- [config.teamId, config.appId]
19
+ [config.environment, config.teamId, config.appId]
20
20
  );
21
21
  const handleStatusChange = useCallback(
22
22
  (newStatus) => {
@@ -66,7 +66,7 @@ function GreenPay3DSPayment({
66
66
  const mountedRef = useRef2(false);
67
67
  const stableConfig = useMemo2(
68
68
  () => config,
69
- [config.teamId, config.appId, config.apiUrl]
69
+ [config.environment, config.teamId, config.appId, config.apiUrl]
70
70
  );
71
71
  const stableOrderData = useMemo2(
72
72
  () => orderData,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ThreeDSChallenge.tsx","../src/GreenPay3DSPayment.tsx","../src/index.ts"],"sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport { GreenPay3DS, type GreenPay3DSConfig } from '@greenpay_prod/3ds-sdk'\n\nexport interface ThreeDSChallengeProps {\n sessionId: string\n config: GreenPay3DSConfig\n onSuccess: () => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function ThreeDSChallenge({\n sessionId,\n config,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: ThreeDSChallengeProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.teamId, config.appId]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current || !sessionId) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .authenticate(sessionId, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onStatusChange: handleStatusChange,\n })\n .then(onSuccess)\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [sessionId, stableConfig, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n","'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport {\n GreenPay3DS,\n type GreenPay3DSConfig,\n type OrderData,\n type ThreeDSResult,\n} from '@greenpay_prod/3ds-sdk'\n\nexport interface GreenPay3DSPaymentProps {\n config: GreenPay3DSConfig\n orderData: OrderData\n onSuccess: (result: ThreeDSResult) => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function GreenPay3DSPayment({\n config,\n orderData,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: GreenPay3DSPaymentProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.teamId, config.appId, config.apiUrl]\n )\n\n const stableOrderData = useMemo(\n () => orderData,\n [\n orderData.cardData.ed,\n orderData.cardData.session,\n orderData.sessionToken,\n orderData.terminalId,\n ]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .processPayment(stableOrderData, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onSuccess,\n onStatusChange: handleStatusChange,\n })\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [stableConfig, stableOrderData, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n","export { ThreeDSChallenge } from './ThreeDSChallenge'\nexport type { ThreeDSChallengeProps } from './ThreeDSChallenge'\n\nexport { GreenPay3DSPayment } from './GreenPay3DSPayment'\nexport type { GreenPay3DSPaymentProps } from './GreenPay3DSPayment'\n\nexport {\n GreenPay3DS,\n GreenPay3DSError,\n type GreenPay3DSConfig,\n type ThreeDSCallbacks,\n type ThreeDSPaymentCallbacks,\n type OrderData,\n type ThreeDSSession,\n type ThreeDSResult,\n} from '@greenpay_prod/3ds-sdk'\n"],"mappings":"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","names":["useEffect","useRef","useState","useCallback","useMemo","GreenPay3DS","jsx","GreenPay3DS"]}
1
+ {"version":3,"sources":["../src/ThreeDSChallenge.tsx","../src/GreenPay3DSPayment.tsx","../src/index.ts"],"sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport { GreenPay3DS, type GreenPay3DSConfig } from '@greenpay_prod/3ds-sdk'\n\nexport interface ThreeDSChallengeProps {\n sessionId: string\n config: GreenPay3DSConfig\n onSuccess: () => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function ThreeDSChallenge({\n sessionId,\n config,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: ThreeDSChallengeProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.environment, config.teamId, config.appId]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current || !sessionId) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .authenticate(sessionId, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onStatusChange: handleStatusChange,\n })\n .then(onSuccess)\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [sessionId, stableConfig, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n","'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport {\n GreenPay3DS,\n type GreenPay3DSConfig,\n type OrderData,\n type ThreeDSResult,\n} from '@greenpay_prod/3ds-sdk'\n\nexport interface GreenPay3DSPaymentProps {\n config: GreenPay3DSConfig\n orderData: OrderData\n onSuccess: (result: ThreeDSResult) => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function GreenPay3DSPayment({\n config,\n orderData,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: GreenPay3DSPaymentProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.environment, config.teamId, config.appId, config.apiUrl]\n )\n\n const stableOrderData = useMemo(\n () => orderData,\n [\n orderData.cardData.ed,\n orderData.cardData.session,\n orderData.sessionToken,\n orderData.terminalId,\n ]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .processPayment(stableOrderData, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onSuccess,\n onStatusChange: handleStatusChange,\n })\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [stableConfig, stableOrderData, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n","export { ThreeDSChallenge } from './ThreeDSChallenge'\nexport type { ThreeDSChallengeProps } from './ThreeDSChallenge'\n\nexport { GreenPay3DSPayment } from './GreenPay3DSPayment'\nexport type { GreenPay3DSPaymentProps } from './GreenPay3DSPayment'\n\nexport {\n GreenPay3DS,\n GreenPay3DSError,\n type GreenPay3DSConfig,\n type ThreeDSCallbacks,\n type ThreeDSPaymentCallbacks,\n type OrderData,\n type ThreeDSSession,\n type ThreeDSResult,\n} from '@greenpay_prod/3ds-sdk'\n"],"mappings":"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","names":["useEffect","useRef","useState","useCallback","useMemo","GreenPay3DS","jsx","GreenPay3DS"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@greenpay_prod/3ds-react",
3
- "version": "0.1.4-qa.0",
3
+ "version": "0.2.1-qa.0",
4
4
  "description": "GreenPay 3D Secure React component — drop-in 3DS authentication",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",