//#region src/plus/piPaymentOld/sdk/contracts/payment.d.ts /** SDK 当前支持的支付方式;新增方式时需同步注册对应 Provider。 */ type PaymentMethod = 'eftpos' | 'ecom'; /** Provider 是可注册标识;内置常量由具体 UI/宿主提供类型提示。 */ type PaymentProvider = string; /** 支付操作所在场景,影响人工确认等交互是否可见。 */ type PaymentUsageScene = 'user' | 'merchant'; /** 场景枚举值,供调用方避免直接书写字符串。 */ declare const PaymentUsageScene: { readonly User: "user"; readonly Merchant: "merchant"; }; /** 后端返回的刷卡设备;保留未知字段以兼容不同厂商配置。 */ interface PaymentReader { id: string | number; name?: string; type?: string; setting?: Record; [key: string]: unknown; } /** 后端统一小票类型;联单语义只能由 type 判断,不能依赖数组位置。 */ type PaymentReceiptType = 'customer' | 'merchant' | 'signature' | 'unknown'; /** 后端统一返回的单份小票。lines 中每项由对应 Provider 解释。 */ interface PaymentReceipt { type: PaymentReceiptType; lines: string[]; } /** 后端统一支付接口返回的交易摘要,是判断交易终态的唯一依据。 */ interface PaymentSummary { number: string; sales_id: string; payment_method: PaymentMethod; payment_provider: string; action: 'pay' | 'refund' | 'verify' | 'action' | 'transactions' | 'transaction' | 'transaction_update'; status: 'succeeded' | 'processing' | 'failed'; code: string | number; message: string; amount: string | number; /** 扫码支付等待用户付款时返回的二维码内容。 */ action_url?: string; currency?: string; card_reader_surcharge?: string | number; /** 成功小票的唯一数据源;空数组表示没有可用小票。 */ receipt?: PaymentReceipt[]; card_reader_snapshot?: PaymentReader; } /** 单次支付接口的标准结果;厂商原始数据保持不透明地透传。 */ interface PaymentResult { payment: PaymentSummary; provider_response?: unknown; method_result?: unknown; [key: string]: unknown; } type PaymentQueryResult = PaymentResult; /** 发起一次支付尝试时可选的公共参数。 */ interface PaymentAttemptParams { number?: string; requestUniqueIdempotencyToken?: string; amount?: string | number; currency?: string; reader?: PaymentReader; cardReaderId?: string | number; originalAmount?: string | number; internalServiceChargeFee?: string | number; customPaymentId?: string | number; serviceCharge?: Record; payParamBase64?: string; operatorId?: string | number; operatorType?: string; methodOptions?: Record; metadata?: Record; /** Provider 受控扩展参数;Adyen Scan 仅允许传递 return_url。 */ data?: { return_url?: string; }; } /** 支付操作参数。 */ interface PaymentPayParams extends PaymentAttemptParams { /** 消费者付款码;当前仅 HuiFu 反扫支付使用。 */ authCode?: string; } /** 退款必须指定金额,必要时以原支付交易号关联原单。 */ interface PaymentRefundParams extends PaymentAttemptParams { amount: string | number; originalPaymentNumber?: string; } /** 按交易号或销售单号二选一查询支付交易。 */ type PaymentQueryOptions = { paymentMethod: PaymentMethod; paymentProvider?: PaymentProvider; } & ({ number: string; salesId?: never; } | { number?: never; salesId: string; }); /** 刷卡设备列表的筛选条件。 */ interface ListReaderParams { provider?: PaymentProvider; status?: string; } //#endregion export { ListReaderParams, PaymentMethod, PaymentPayParams, PaymentProvider, PaymentQueryOptions, PaymentQueryResult, PaymentReader, PaymentRefundParams, PaymentResult, PaymentSummary, PaymentUsageScene };