Skip to content

Commit

Permalink
Merge pull request #41 from mediaopt/feature/35186-merchantid
Browse files Browse the repository at this point in the history
Feature/35186 merchantid
  • Loading branch information
JonYeb authored Nov 29, 2023
2 parents 95c19e6 + 4e08cf2 commit dae4036
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 15 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "paypal-commercetools-client",
"version": "0.0.66",
"version": "0.0.67",
"private": false,
"type": "module",
"license": "MIT",
Expand Down
16 changes: 14 additions & 2 deletions src/app/useSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -46,6 +47,7 @@ export const SettingsProvider: FC<
const [userIdToken, setUserIdToken] = useState<string>();
const [paymentTokens, setPaymentTokens] = useState<PaymentTokens>();
const { isLoading } = useLoader();
const { notify } = useNotifications();

const value = useMemo(() => {
const handleGetSettings = async () => {
Expand All @@ -65,9 +67,17 @@ export const SettingsProvider: FC<
const getSettingsResult = (await getSettings(
requestHeader,
getSettingsUrl
)) as GetSettingsResponse;
)) as Record<any, any>;

setSettings(getSettingsResult);
if (
!getSettingsResult ||
(getSettingsResult.hasOwnProperty("ok") && !getSettingsResult.ok)
) {
notify("Error", "Could not fetch settings");
isLoading(false);
} else {
setSettings(getSettingsResult as GetSettingsResponse);
}
}
isLoading(false);
};
Expand Down Expand Up @@ -102,6 +112,8 @@ export const SettingsProvider: FC<
useEffect(() => {
if (!settings) {
value.handleGetSettings();
} else if (settings?.merchantId) {
options.merchantId = settings.merchantId;
}
}, [settings]);

Expand Down
20 changes: 10 additions & 10 deletions src/components/RenderTemplate/RenderTemplate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@ export const RenderTemplate: FC<
}) => {
return (
<LoaderProvider>
<SettingsProvider
options={options}
getSettingsUrl={getSettingsUrl}
requestHeader={requestHeader}
getUserInfoUrl={getUserInfoUrl}
removePaymentTokenUrl={removePaymentTokenUrl}
>
<NotificationsProvider>
<NotificationsProvider>
<SettingsProvider
options={options}
getSettingsUrl={getSettingsUrl}
requestHeader={requestHeader}
getUserInfoUrl={getUserInfoUrl}
removePaymentTokenUrl={removePaymentTokenUrl}
>
<PaymentProvider
options={options}
createPaymentUrl={createPaymentUrl}
Expand All @@ -61,8 +61,8 @@ export const RenderTemplate: FC<
>
<RenderPurchase>{children}</RenderPurchase>
</PaymentProvider>
</NotificationsProvider>
</SettingsProvider>
</SettingsProvider>
</NotificationsProvider>
</LoaderProvider>
);
};
1 change: 1 addition & 0 deletions src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit dae4036

Please sign in to comment.