diff --git a/src/front/Api/LeCoffreApi/Admin/Stripe/Stripe.ts b/src/front/Api/LeCoffreApi/Admin/Stripe/Stripe.ts index 365bc894..0a087c37 100644 --- a/src/front/Api/LeCoffreApi/Admin/Stripe/Stripe.ts +++ b/src/front/Api/LeCoffreApi/Admin/Stripe/Stripe.ts @@ -14,6 +14,11 @@ export type IGetClientPortalSessionResponse = { url: string; }; +export interface IGetCustomerBySubscriptionIdParams { + email: string; + name: string; +} + export default class Stripe extends BaseAdmin { private static instance: Stripe; private readonly baseURl = this.namespaceUrl.concat("/stripe"); @@ -53,4 +58,14 @@ export default class Stripe extends BaseAdmin { return Promise.reject(err); } } + + public async getCustomerBySubscriptionId(subscriptionId: string) { + const url = new URL(this.baseURl.concat(`/${subscriptionId}/customer`)); + try { + return await this.getRequest(url); + } catch (err) { + this.onError(err); + return Promise.reject(err); + } + } } diff --git a/src/front/Components/Layouts/Subscription/Components/SubscriptionClientInfos/index.tsx b/src/front/Components/Layouts/Subscription/Components/SubscriptionClientInfos/index.tsx index ed03f97b..ce769b4c 100644 --- a/src/front/Components/Layouts/Subscription/Components/SubscriptionClientInfos/index.tsx +++ b/src/front/Components/Layouts/Subscription/Components/SubscriptionClientInfos/index.tsx @@ -1,24 +1,30 @@ import Typography, { ITypo, ITypoColor } from "@Front/Components/DesignSystem/Typography"; import classes from "./classes.module.scss"; +import { IGetCustomerBySubscriptionIdParams } from "@Front/Api/LeCoffreApi/Admin/Stripe/Stripe"; -export default function SubscriptionClientInfos() { +type IProps = { + customer: IGetCustomerBySubscriptionIdParams; +}; + +export default function SubscriptionClientInfos(props: IProps) { + const { customer } = props; return (
Informations client - john.doe@contact.fr + {customer.email} - + {/* Adresse de facturation - + */} - John Doe
- 23 rue taitbout, + {customer.name}
+ {/* 23 rue taitbout,
75009 Paris -
+
*/} France
diff --git a/src/front/Components/Layouts/Subscription/SubscriptionSuccess/index.tsx b/src/front/Components/Layouts/Subscription/SubscriptionSuccess/index.tsx index 267288c3..6ec13f3f 100644 --- a/src/front/Components/Layouts/Subscription/SubscriptionSuccess/index.tsx +++ b/src/front/Components/Layouts/Subscription/SubscriptionSuccess/index.tsx @@ -12,15 +12,19 @@ import { useCallback, useEffect, useState } from "react"; import Subscriptions from "@Front/Api/LeCoffreApi/Admin/Subscriptions/Subscriptions"; import JwtService from "@Front/Services/JwtService/JwtService"; import { Subscription } from "le-coffre-resources/dist/Admin"; +import Stripe from "@Front/Api/LeCoffreApi/Admin/Stripe/Stripe"; export default function SubscriptionSuccess() { const [subscription, setSubscription] = useState(null); + const [customer, setCustomer] = useState(null); const loadSubscription = useCallback(async () => { const jwt = JwtService.getInstance().decodeJwt(); const subscription = await Subscriptions.getInstance().get({ where: { office: { uid: jwt?.office_Id } } }); if (!subscription[0]) return; setSubscription(subscription[0]); + const customer = await Stripe.getInstance().getCustomerBySubscriptionId(subscription[0].stripe_subscription_id!); + setCustomer(customer); }, []); const getFrequency = useCallback(() => { @@ -39,7 +43,7 @@ export default function SubscriptionSuccess() { return ( - {subscription && ( + {subscription && customer && (
@@ -57,7 +61,7 @@ export default function SubscriptionSuccess() {
- +
{subscription.type === "STANDARD" && (