Merge commit 'eae078f23a1e5bfbac6386bd0bd9347462cea034' into dev
This commit is contained in:
commit
74561d5362
@ -10,6 +10,10 @@ export type IPostStripeResponse = {
|
||||
url: string;
|
||||
};
|
||||
|
||||
export type IGetClientPortalSessionResponse = {
|
||||
url: string;
|
||||
};
|
||||
|
||||
export default class Stripe extends BaseAdmin {
|
||||
private static instance: Stripe;
|
||||
private readonly baseURl = this.namespaceUrl.concat("/stripe");
|
||||
@ -37,4 +41,14 @@ export default class Stripe extends BaseAdmin {
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
|
||||
public async getClientPortalSession(stripe_subscription_id: string) {
|
||||
const url = new URL(this.baseURl.concat(`/${stripe_subscription_id}`));
|
||||
try {
|
||||
return await this.getRequest<IGetClientPortalSessionResponse>(url);
|
||||
} catch (err) {
|
||||
this.onError(err);
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { Subscription } from "le-coffre-resources/dist/Admin";
|
||||
import BaseAdmin from "../../../../../common/Api/LeCoffreApi/Admin/BaseAdmin";
|
||||
|
||||
export interface IPostSubscriptionsParams {
|
||||
@ -20,6 +21,18 @@ export default class Subscriptions extends BaseAdmin {
|
||||
}
|
||||
}
|
||||
|
||||
public async get(q: any) {
|
||||
const url = new URL(this.baseURl);
|
||||
const query = { q };
|
||||
if (q) Object.entries(query).forEach(([key, value]) => url.searchParams.set(key, JSON.stringify(value)));
|
||||
try {
|
||||
return await this.getRequest<Subscription>(url);
|
||||
} catch (err) {
|
||||
this.onError(err);
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @description : Create a Document
|
||||
*/
|
||||
|
@ -46,8 +46,6 @@ export default function SubscribeCheckoutTicket(props: IProps) {
|
||||
};
|
||||
|
||||
const handleSubmitPayment = async () => {
|
||||
console.log("handleSubmitPayment");
|
||||
|
||||
const stripeCheckout = {
|
||||
type: EType.Standard,
|
||||
nb_seats: numberOfCollaborators,
|
||||
|
@ -8,12 +8,17 @@ import useOpenable from "@Front/Hooks/useOpenable";
|
||||
import MessageBox from "@Front/Components/Elements/MessageBox";
|
||||
import Link from "next/link";
|
||||
import Module from "@Front/Config/Module";
|
||||
import Subscriptions from "@Front/Api/LeCoffreApi/Admin/Subscriptions/Subscriptions";
|
||||
import JwtService from "@Front/Services/JwtService/JwtService";
|
||||
import Stripe from "@Front/Api/LeCoffreApi/Admin/Stripe/Stripe";
|
||||
import { useRouter } from "next/router";
|
||||
|
||||
export enum EForfeitType {
|
||||
"standard",
|
||||
"unlimited",
|
||||
}
|
||||
export default function SubscriptionFacturation() {
|
||||
const router = useRouter();
|
||||
const [forfeitType, _setForfeitType] = useState(EForfeitType.standard);
|
||||
const { close: closeCancelSubscription, isOpen: isCancelSubscriptionOpen, open: openCancelSubscription } = useOpenable();
|
||||
const { close: closeConfirmation, isOpen: isConfirmationOpen, open: openConfirmation } = useOpenable();
|
||||
@ -24,6 +29,17 @@ export default function SubscriptionFacturation() {
|
||||
return;
|
||||
}, [closeCancelSubscription, openConfirmation]);
|
||||
|
||||
const manageBilling = async () => {
|
||||
console.log("handleSubmitPayment");
|
||||
|
||||
try {
|
||||
const jwt = JwtService.getInstance().decodeJwt();
|
||||
const subscription = await Subscriptions.getInstance().get({ officeId: jwt?.office_Id });
|
||||
const stripe_client_portal = await Stripe.getInstance().getClientPortalSession(subscription.stripe_subscription_id!);
|
||||
router.push(stripe_client_portal.url);
|
||||
} catch (error) {}
|
||||
};
|
||||
|
||||
return (
|
||||
<DefaultTemplate title="Nouvelle souscription">
|
||||
<div className={classes["root"]}>
|
||||
@ -141,7 +157,7 @@ export default function SubscriptionFacturation() {
|
||||
Arrêter l'abonnement
|
||||
</Typography>
|
||||
</Button>
|
||||
<Button>Gérer la facturation</Button>
|
||||
<Button onClick={manageBilling}>Gérer la facturation</Button>
|
||||
</div>
|
||||
</div>
|
||||
<Confirm
|
||||
|
Loading…
x
Reference in New Issue
Block a user