/** pending = 待支付(含用户正在付);paid = 已支付;closed = 已关闭/超时/支付失败 */ export type PayOrderStatus = 'pending' | 'paid' | 'closed'; export interface PayOrder { orderId: string; /** 平台生成的商户订单号(微信侧 out_trade_no),对账时用 */ outTradeNo: string; /** 你自己的业务单号(下单时传的) */ bizId: string | null; /** 金额(**分**) */ amount: number; subject: string; method: 'native' | 'h5'; status: PayOrderStatus; /** 微信交易单号;**要退款就拿它到微信支付商户平台操作**(一期没有应用内退款) */ transactionId: string | null; paidAt: string | null; createdAt: string; expiresAt: string; } export interface PayCreateOptions { /** 金额,单位**分**(19.9 元 = 1990)。必须服务端算出来,别从表单里读 */ amount: number; /** 商品/项目名称,进微信账单 */ subject: string; /** native = PC 扫码(默认);h5 = 微信外的手机浏览器 */ method?: 'native' | 'h5'; /** 你自己的业务单号(报名 id、订单 id…),之后可用 orders({ bizId }) 回查 */ bizId?: string; /** 多久未支付自动关单(秒,默认 900,范围 300–7200) */ expiresIn?: number; } export interface PayCreateResult extends PayOrder { /** method=native 时有:把它渲染成二维码给用户扫 */ codeUrl: string | null; /** method=h5 时有:把用户跳到这个地址 */ h5Url: string | null; } export interface PayClient { create(options: PayCreateOptions): Promise; /** 查支付单;还是 pending 时服务端会顺带向微信复核一次,所以回调丢了也能自愈 */ getOrder(orderId: string): Promise; /** 对账 / 后台列表 */ orders(options?: { status?: PayOrderStatus; bizId?: string; limit?: number; skip?: number; }): Promise<{ orders: PayOrder[]; total: number; }>; /** 用户放弃支付时主动关单(不关也会到期自动关) */ closeOrder(orderId: string): Promise; } export declare function getPay(): PayClient; /** 便捷单例:`import { pay } from '@chatu-ai/app-sdk'` */ export declare const pay: PayClient;