export type UpdateTradeInfo = { tradeNo: string; status: string; amount?: number; remark?: string; payNo?: string; payTime?: number; }; export type UpdateTrade = (tradeInfo: UpdateTradeInfo) => Promise; export interface IPaymentProvider { createOrder: (trade: any, opts: { bindUrl: string; clientIp: string; }) => Promise; getDetail(tradeNo: string): Promise; onNotify: (data: any, updateTrade: UpdateTrade) => Promise; }