import routes from "@/routes"; import { getAuthHeaders } from "../utils"; interface Payload { token: string; } export type PayloadGet = Payload; export interface PayloadPost extends Payload { data: { user: { id: string; email: string; name: string; sign: string; age: number; }; partner: { sign: string | null; age: number | null; }; paymentInfo: { productId: string; }; return_url: string; }; } export interface ResponseGet { key: string; productId: string; amount: number; currency: string; } export interface ResponsePost { paymentIntent: { status: string; data: { client_secret: string; paymentIntentId: string; return_url?: string; public_key: string; product: { id: string; name: string; description: null | string; price: { id: string; unit_amount: number; currency: string; }; }; }; }; } export interface ResponsePostExistPaymentData { payment: { status: string; invoiceId: string; }; } export const createRequestPost = ({ data, token }: PayloadPost): Request => { const url = new URL(routes.server.dApiPaymentCheckout()); const body = JSON.stringify(data); return new Request(url, { method: "POST", headers: getAuthHeaders(token), body, }); }; export const createRequestGet = ({ token }: PayloadGet): Request => { const url = new URL(routes.server.dApiTestPaymentProducts()); return new Request(url, { method: "GET", headers: getAuthHeaders(token) }); };