Appearance
收银台支付
本规范定义了移动端(iOS/Android)需要实现的 H5 支付接口。您需按照此规范在原生应用中实现相应的接口方法,供 H5 页面调用。
iOS: 使用
WKWebView的evaluateJavaScript方式Android: 使用
WebView的evaluateJavascript方式
H5 → 原生:拉起收银台接口
接口定义
接口定义
javascript
// H5 页面将调用此方法触发原生支付
window.nativeBridge.launchCheckout(requestData);参数规范
json
// 代币直扣: requestData 直接为空即可!
// 无感支付: requestData 说明如下(JSON 字符串)
{
"package_id": "100", // [string] 套餐ID,必填
"package_name": "320金币套餐", // [string] 套餐名称,必填
"order_id": "OD_20262133424324", // [string] 订单ID,必填
"deduct_amount": 100, // [number] 扣款金额,必填
"custom_data": {} // [object] 自定义数据,可选
}原生 → H5:支付结果回调接口
回调接口定义
原生端支付完成后,必须调用以下方法通知 H5 页面
5.1 支付成功回调(无感支付Only)
支付成功回调
javascript
// 原生端需要实现的JS调用
window.nativeBridge.onPaymentSuccess(responseData);json
// responseData 结构(JSON 字符串)
{
"status": "success", // [string] 状态,固定值为success,必填
"message": "ok", // [string] 成功消息,必填
"order_id": "OD_20262133424324", // [string] 订单ID,参数回填
"transaction_id": "TRC_23897412341231", // [string] 交易ID,必填
"package_id": "100", // [string] 原套餐ID,必填
}5.2 支付失败回调(无感支付Only)
javascript
// 原生端需要实现的JS调用
window.nativeBridge.onPaymentFailed(errorData);json
// errorData 结构(JSON 字符串)
{
"status": "failed", // [string] 状态,固定值failed,必填
"message": "error", // [string] 错误描述,必填
"error_code": "USER_CANCELLED", // [string] 错误代码,必填
"error_detail": "用户取消支付", // [string] 错误详情,必填
"order_id": "OD_20262133424324", // [string] 订单ID,参数回填
"package_id": "100" // [string] 原套餐ID,必填
}
// error_code错误代码参考:
USER_CANCELLED - 用户取消
PAYMENT_FAILED - 支付失败
NETWORK_ERROR - 网络错误
INSUFFICIENT_BALANCE - 余额不足
SYSTEM_ERROR - 系统错误