# 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'),
    };