All files / src/api subscription.ts

0% Statements 0/6
100% Branches 0/0
0% Functions 0/5
0% Lines 0/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                                                             
import { api } from './client';
import type {
  CheckoutSessionRequest,
  CheckoutSessionResponse,
  SubscriptionStatusResponse,
  PortalSessionResponse,
  PaymentVerificationResponse,
} from './types';
 
export const subscriptionApi = {
  // 创建支付会话
  checkout: (data: CheckoutSessionRequest) =>
    api.post<CheckoutSessionResponse>('/subscription/checkout', data),
 
  // 验证支付结果
  verify: (sessionId: string) =>
    api.get<PaymentVerificationResponse>(`/subscription/verify?session_id=${sessionId}`),
 
  // 获取订阅状态
  getStatus: () =>
    api.get<SubscriptionStatusResponse>('/subscription/status'),
 
  // 取消订阅
  cancel: () =>
    api.post<SubscriptionStatusResponse>('/subscription/cancel'),
 
  // 跳转账单管理
  portal: () =>
    api.post<PortalSessionResponse>('/subscription/portal'),
};