payscore.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /**
  2. * 微信支付分相关 API
  3. */
  4. import { get, post } from '../utils/request';
  5. import { API_PATHS } from '../utils/config';
  6. /**
  7. * 预创建支付分服务订单(需确认模式,开门前调用)
  8. */
  9. export interface PreCreatePayscoreOrderRequest {
  10. deviceId: string;
  11. }
  12. export interface PreCreatePayscoreOrderResponse {
  13. success: boolean;
  14. outOrderNo: string;
  15. package: string;
  16. mchId?: string;
  17. errorMsg?: string;
  18. }
  19. export const preCreatePayscoreOrder = (params: PreCreatePayscoreOrderRequest): Promise<PreCreatePayscoreOrderResponse> => {
  20. return post<PreCreatePayscoreOrderResponse>(API_PATHS.preCreatePayscoreOrder, params);
  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. export const createPayscoreOrder = (params: CreatePayscoreOrderRequest): Promise<CreatePayscoreOrderResponse> => {
  37. return post<CreatePayscoreOrderResponse>(API_PATHS.createPayscoreOrder, params);
  38. };
  39. /**
  40. * 修改支付分订单金额
  41. */
  42. export interface ModifyPayscoreOrderRequest {
  43. orderId: number;
  44. totalAmount: number;
  45. payments?: Array<{ name: string; amount: number; description?: string; count?: number }>;
  46. reason?: string;
  47. }
  48. export const modifyPayscoreOrder = (params: ModifyPayscoreOrderRequest): Promise<{ outOrderNo: string; state: string }> => {
  49. return post<{ outOrderNo: string; state: string }>(API_PATHS.modifyPayscoreOrder, params);
  50. };
  51. /**
  52. * 同步订单支付信息(用户已通过其他方式支付)
  53. */
  54. export const syncPayscoreOrderInfo = (orderId: number, detail?: string): Promise<{ outOrderNo: string; state: string }> => {
  55. return post<{ outOrderNo: string; state: string }>(API_PATHS.syncPayscoreOrderInfo(orderId), { detail });
  56. };
  57. /**
  58. * 支付分退款
  59. */
  60. export interface RefundPayscoreOrderRequest {
  61. refundAmount?: number;
  62. reason?: string;
  63. }
  64. export const refundPayscoreOrder = (orderId: number, params: RefundPayscoreOrderRequest): Promise<{ outOrderNo: string; refundId: string }> => {
  65. return post<{ outOrderNo: string; refundId: string }>(API_PATHS.refundPayscoreOrder(orderId), params);
  66. };
  67. /**
  68. * 查询支付分退款状态
  69. */
  70. export const queryPayscoreRefund = (orderId: number, outRefundNo: string): Promise<{ outOrderNo: string; status: string; amount: number }> => {
  71. return get<{ outOrderNo: string; status: string; amount: number }>(API_PATHS.queryPayscoreRefund(orderId, outRefundNo));
  72. };
  73. /**
  74. * 按 outOrderNo 查询支付分订单状态(授权返回后判断用户确认还是取消)
  75. */
  76. export const queryPayscoreByOutNo = (outOrderNo: string): Promise<{ outOrderNo: string; state: string }> => {
  77. return get<{ outOrderNo: string; state: string }>(API_PATHS.queryPayscoreByOutNo(outOrderNo), undefined, { silent: true });
  78. };