From 14146b8b18286e0e5bcfe7d144b8c56becd44fc9 Mon Sep 17 00:00:00 2001 From: Jonathan Yeboah <10155597+JonYeb@users.noreply.github.com> Date: Mon, 27 Nov 2023 10:14:08 +0100 Subject: [PATCH 1/4] #35186 added merchant id to script loader --- src/app/useSettings.tsx | 1 + src/types/index.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/app/useSettings.tsx b/src/app/useSettings.tsx index 0cec79e..4efa9b1 100644 --- a/src/app/useSettings.tsx +++ b/src/app/useSettings.tsx @@ -114,6 +114,7 @@ export const SettingsProvider: FC< intent: settings.payPalIntent.toString().toLowerCase(), dataUserIdToken: userIdToken, dataPartnerAttributionId: PARTNER_ATTRIBUTION_ID, + merchantId: settings.merchantId, }} > {children} diff --git a/src/types/index.ts b/src/types/index.ts index dd35f81..318b856 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -322,6 +322,7 @@ type CustomDataStringObject = { [key: string]: string }; type PayPalButtonColors = "gold" | "blue" | "white" | "silver" | "black"; export type GetSettingsResponse = { + merchantId: string; email: string; acceptPayPal: boolean; acceptPayLater: boolean; From 764bccdebcb64d3baa677228c208e69814b2ba88 Mon Sep 17 00:00:00 2001 From: Jonathan Yeboah <10155597+JonYeb@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:48:18 +0100 Subject: [PATCH 2/4] #35186 better error handling --- src/app/useSettings.tsx | 14 +++++++++++-- .../RenderTemplate/RenderTemplate.tsx | 20 +++++++++---------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/app/useSettings.tsx b/src/app/useSettings.tsx index 4efa9b1..063aef8 100644 --- a/src/app/useSettings.tsx +++ b/src/app/useSettings.tsx @@ -17,6 +17,7 @@ import { import { getSettings, getUserInfo, removePaymentToken } from "../services"; import { useLoader } from "./useLoader"; import { PARTNER_ATTRIBUTION_ID } from "../constants"; +import { useNotifications } from "./useNotifications"; type SettingsContextT = { handleGetSettings: () => void; @@ -46,6 +47,7 @@ export const SettingsProvider: FC< const [userIdToken, setUserIdToken] = useState(); const [paymentTokens, setPaymentTokens] = useState(); const { isLoading } = useLoader(); + const { notify } = useNotifications(); const value = useMemo(() => { const handleGetSettings = async () => { @@ -65,9 +67,17 @@ export const SettingsProvider: FC< const getSettingsResult = (await getSettings( requestHeader, getSettingsUrl - )) as GetSettingsResponse; + )) as Record; - setSettings(getSettingsResult); + if ( + !getSettingsResult || + (getSettingsResult.hasOwnProperty("ok") && !getSettingsResult.ok) + ) { + notify("Error", "Could not fetch settings"); + isLoading(false); + } else { + setSettings(getSettingsResult as GetSettingsResponse); + } } isLoading(false); }; diff --git a/src/components/RenderTemplate/RenderTemplate.tsx b/src/components/RenderTemplate/RenderTemplate.tsx index fa195d3..0a15ce2 100644 --- a/src/components/RenderTemplate/RenderTemplate.tsx +++ b/src/components/RenderTemplate/RenderTemplate.tsx @@ -35,14 +35,14 @@ export const RenderTemplate: FC< }) => { return ( - - + + {children} - - + + ); }; From 157d29428f494bd52f82384128d0e48c816bdf94 Mon Sep 17 00:00:00 2001 From: Jonathan Yeboah <10155597+JonYeb@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:55:24 +0100 Subject: [PATCH 3/4] #35186 only add merchant id when actually set --- src/app/useSettings.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/useSettings.tsx b/src/app/useSettings.tsx index 063aef8..930ec87 100644 --- a/src/app/useSettings.tsx +++ b/src/app/useSettings.tsx @@ -112,6 +112,8 @@ export const SettingsProvider: FC< useEffect(() => { if (!settings) { value.handleGetSettings(); + } else if (settings?.merchantId) { + options.merchantId = settings.merchantId; } }, [settings]); @@ -124,7 +126,6 @@ export const SettingsProvider: FC< intent: settings.payPalIntent.toString().toLowerCase(), dataUserIdToken: userIdToken, dataPartnerAttributionId: PARTNER_ATTRIBUTION_ID, - merchantId: settings.merchantId, }} > {children} From 4e08cf2ab1e5a6e0bebe451236d1b7c2783b1a6b Mon Sep 17 00:00:00 2001 From: Jonathan Yeboah <10155597+JonYeb@users.noreply.github.com> Date: Wed, 29 Nov 2023 09:15:14 +0100 Subject: [PATCH 4/4] increment version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a076dee..69bd20e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "paypal-commercetools-client", - "version": "0.0.66", + "version": "0.0.67", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "paypal-commercetools-client", - "version": "0.0.66", + "version": "0.0.67", "license": "MIT", "dependencies": { "@heroicons/react": "^1.0.6", diff --git a/package.json b/package.json index 995b52b..0835ada 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "paypal-commercetools-client", - "version": "0.0.66", + "version": "0.0.67", "private": false, "type": "module", "license": "MIT",