支付
This commit is contained in:
162
dist/index.d.ts
vendored
162
dist/index.d.ts
vendored
@@ -53,14 +53,6 @@ interface ScanConfigOptions {
|
||||
* 是否允许 H5 摄像头扫码:true 强制开启(仍需有媒体 API),false 强制关闭
|
||||
*/
|
||||
webScanCameraEnabled?: boolean,
|
||||
/**
|
||||
* @deprecated 请用 webScanCameraEnabled;保留兼容
|
||||
*/
|
||||
webScanCameraInWechat?: boolean,
|
||||
/**
|
||||
* @deprecated 摄像头权限已后置到 startScan,请用 webScanVideoAccessTimeout
|
||||
*/
|
||||
webScanCameraProbeTimeout?: number,
|
||||
/**
|
||||
* startScan 走 Web 摄像头前是否展示权限说明弹窗,默认 true
|
||||
*/
|
||||
@@ -196,6 +188,68 @@ interface ScanConfigOptions {
|
||||
* 扫码成功是否播放提示音,默认启用;任意识别模式匹配成功时生效
|
||||
*/
|
||||
scanBeepEnabled?: boolean,
|
||||
/**
|
||||
* PC 微信 Native 扫码支付是否展示内置二维码弹层,默认 true
|
||||
*/
|
||||
paymentNativeQrEnabled?: boolean,
|
||||
/**
|
||||
* Native 支付二维码弹层标题
|
||||
*/
|
||||
paymentNativeQrTitle?: string,
|
||||
/**
|
||||
* Native 支付二维码弹层说明文案
|
||||
*/
|
||||
paymentNativeQrMessage?: string,
|
||||
/**
|
||||
* Native 支付二维码底部提示
|
||||
*/
|
||||
paymentNativeQrHint?: string,
|
||||
/**
|
||||
* Native 支付二维码边长(像素),默认 220
|
||||
*/
|
||||
paymentNativeQrSize?: number,
|
||||
/**
|
||||
* Native 支付二维码弹层遮罩样式
|
||||
*/
|
||||
paymentNativeQrOverlayStyle?: string,
|
||||
/**
|
||||
* Native 支付二维码弹层面板样式
|
||||
*/
|
||||
paymentNativeQrPanelStyle?: string,
|
||||
/**
|
||||
* Native 支付二维码关闭按钮样式
|
||||
*/
|
||||
paymentNativeQrCloseButtonStyle?: string,
|
||||
/**
|
||||
* Native 支付二维码弹层遮罩 class
|
||||
*/
|
||||
paymentNativeQrOverlayClass?: string,
|
||||
/**
|
||||
* Native 支付二维码弹层面板 class
|
||||
*/
|
||||
paymentNativeQrPanelClass?: string,
|
||||
/**
|
||||
* 微信支付 OAuth 配置(paymentType 为 wechat 且微信内 JSAPI 时由 requestPayment 自动处理)
|
||||
*/
|
||||
initWechatPayment?: {
|
||||
/**
|
||||
* 用 code 换 openid,对应 api.biz.wechat.oauth
|
||||
*/
|
||||
oauthApiUrl?: string,
|
||||
/**
|
||||
* 获取 OAuth 授权信息(含 appId、authorizeUrl),对应 api.biz.wechat.oauthAuthorizeUrl
|
||||
*/
|
||||
oauthAuthorizeUrlApiUrl?: string,
|
||||
/**
|
||||
* openid 缓存 key,默认 iscan_wechat_openid_${appId}(appId 来自授权接口响应)
|
||||
*/
|
||||
storageKey?: string,
|
||||
/**
|
||||
* OAuth 授权回跳完整 URL(redirectUri),须与当前页域名一致且已在公众号登记;
|
||||
* 未配置时默认使用当前页 location.href(不含 hash)
|
||||
*/
|
||||
redirectUri?: string,
|
||||
},
|
||||
/**
|
||||
* 微信JSSDK配置,微信环境才会生效,配置后会自动初始化微信JSSDK
|
||||
*/
|
||||
@@ -319,6 +373,79 @@ interface ScanErrorListenerInfo {
|
||||
*/
|
||||
type ScanStatusCallback = (status: ScanStatus) => any;
|
||||
|
||||
/**
|
||||
* 支付渠道
|
||||
*/
|
||||
type PaymentType = 'wechat' | 'alipay';
|
||||
|
||||
/**
|
||||
* JSAPI 收银台交互结果(仅表示用户在收银台的操作,非支付到账结果)
|
||||
*/
|
||||
type PaymentCashierResult = 'ok' | 'cancel' | 'fail';
|
||||
|
||||
/**
|
||||
* 微信支付场景
|
||||
*/
|
||||
type PayScene = 'jsapi' | 'h5' | 'native';
|
||||
|
||||
/**
|
||||
* SDK 传给业务支付函数的参数(OAuth、环境判断由 SDK 自动完成)
|
||||
*/
|
||||
interface PaymentPrepareParams {
|
||||
/** 微信 JSAPI 场景下的 openid,其他场景为空字符串 */
|
||||
openid: string;
|
||||
/** 当前环境对应的微信支付场景 */
|
||||
payScene: PayScene;
|
||||
/** navigator.userAgent */
|
||||
userAgent: string;
|
||||
/** 用户 IP,默认空字符串 */
|
||||
clientIp: string;
|
||||
/** 支付完成回跳地址 */
|
||||
returnUrl: string;
|
||||
/** 支付渠道 */
|
||||
paymentType: PaymentType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 业务支付函数:调用自己的支付接口,返回 paymentFormData
|
||||
*/
|
||||
type PaymentFormDataProvider = (
|
||||
params: PaymentPrepareParams
|
||||
) => string | Record<string, any> | Promise<string | Record<string, any>>;
|
||||
|
||||
/**
|
||||
* SDK 发起支付后的返回(不代表支付成功,业务须自行查单)
|
||||
*/
|
||||
interface PaymentInvokeResult {
|
||||
payType?: 'jsapi' | 'h5' | 'native' | 'alipay';
|
||||
/** SDK 是否已发起支付流程 */
|
||||
invoked: boolean;
|
||||
/** 微信 OAuth 授权跳转中(页面将刷新,业务函数尚未执行) */
|
||||
oauthRedirecting?: boolean;
|
||||
/** 支付未发起(含微信 OAuth 失败) */
|
||||
failed?: boolean;
|
||||
/** 微信 OAuth / openid 获取失败 */
|
||||
oauthFailed?: boolean;
|
||||
/** OAuth 或调起失败时的错误信息 */
|
||||
error?: string;
|
||||
/** H5 / 支付宝是否已跳转 */
|
||||
redirected?: boolean;
|
||||
/** Native 场景是否展示了二维码弹层 */
|
||||
qrShown?: boolean;
|
||||
/** 微信 JSAPI 收银台交互结果(非支付到账结果) */
|
||||
cashierResult?: PaymentCashierResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付请求选项
|
||||
*/
|
||||
interface RequestPaymentOptions {
|
||||
/** 支付完成回跳地址,未传时使用当前页 URL */
|
||||
returnUrl?: string;
|
||||
/** OAuth 授权回跳完整 URL(redirectUri),覆盖 initWechatPayment.redirectUri */
|
||||
redirectUri?: string;
|
||||
}
|
||||
|
||||
/** IScan */
|
||||
interface IScan {
|
||||
/**
|
||||
@@ -377,12 +504,29 @@ interface IScan {
|
||||
* @param key 可选,指定后结果仅分发给同 key 的 onScanListener
|
||||
*/
|
||||
scanImage(key?: string): void;
|
||||
/** 由业务/原生传入已选图片 File 识别(WebView input.files 异常时使用) */
|
||||
/**
|
||||
* 由业务/原生传入已选图片 File 识别(WebView input.files 异常时使用)
|
||||
* @param file 已选图片 File
|
||||
* @param key 可选,指定后结果仅分发给同 key 的 onScanListener
|
||||
*/
|
||||
scanImageFromFile(file: File | Blob, key?: string): void;
|
||||
/**
|
||||
* 清除全部监听
|
||||
*/
|
||||
clear(): void;
|
||||
/**
|
||||
* 发起支付:按 paymentType 决定是否走微信 OAuth,再将参数传给业务函数获取 paymentFormData 并调起支付。
|
||||
* 不代表支付成功,业务须自行查单。
|
||||
*/
|
||||
requestPayment(
|
||||
paymentType: PaymentType,
|
||||
fetchPaymentFormData: PaymentFormDataProvider,
|
||||
options?: RequestPaymentOptions
|
||||
): Promise<PaymentInvokeResult>;
|
||||
/**
|
||||
* 关闭 SDK 管理的支付相关 UI(如 PC Native 二维码弹层)
|
||||
*/
|
||||
closePaymentDialog(): void;
|
||||
|
||||
}
|
||||
|
||||
|
||||
2
dist/index.js
vendored
2
dist/index.js
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user