payscore.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * 微信支付分相关 API
  3. */
  4. import { get, post } from '../utils/request';
  5. /**
  6. * 检查用户是否已开通微信支付分
  7. */
  8. export interface CheckPayscoreResponse {
  9. enabled: boolean;
  10. userId: number;
  11. }
  12. /**
  13. * 开通微信支付分
  14. */
  15. export interface EnablePayscoreResponse {
  16. enabled: boolean;
  17. userId: number;
  18. outOrderNo?: string;
  19. serviceId?: string;
  20. appId?: string;
  21. }
  22. /**
  23. * 创建支付分服务订单
  24. */
  25. export interface CreatePayscoreOrderRequest {
  26. orderId: number;
  27. openId: string;
  28. riskFundAmount?: string;
  29. riskFundName?: string;
  30. }
  31. export interface CreatePayscoreOrderResponse {
  32. outOrderNo: string;
  33. state: string;
  34. package: string;
  35. }
  36. /**
  37. * 检查用户是否已开通微信支付分
  38. */
  39. export const checkPayscoreEnabled = (): Promise<CheckPayscoreResponse> => {
  40. return get<CheckPayscoreResponse>('/payscore/check-enable');
  41. };
  42. /**
  43. * 开通微信支付分(标记已开通)
  44. */
  45. export const enablePayscore = (): Promise<EnablePayscoreResponse> => {
  46. return post<EnablePayscoreResponse>('/payscore/enable', {});
  47. };
  48. /**
  49. * 创建支付分服务订单
  50. */
  51. export const createPayscoreOrder = (params: CreatePayscoreOrderRequest): Promise<CreatePayscoreOrderResponse> => {
  52. return post<CreatePayscoreOrderResponse>('/payscore/create', params);
  53. };
  54. /**
  55. * 轮询确认开通状态
  56. */
  57. export const confirmEnablePayscore = (outOrderNo: string): Promise<{ enabled: boolean }> => {
  58. return post<{ enabled: boolean }>('/payscore/confirm-enable', { outOrderNo });
  59. };