payment
Payment模块管理支付功能,用于提供网页安全支付能力,支持通过Web接口进行支付操作。通过plus.payment可获取支付管理对象。
方法:
- getChannels: 获取支付通道
- request: 请求支付操作
对象:
- PaymentChannel: 支付通道对象
回调方法:
- ChannelsSuccessCallback : 获取支付通道成功回调
- PaymentSuccessCallback: 支付操作成功回调
- PaymentErrorCallback: 支付操作失败回调
权限:
permissions
"Payment": { "description": "访问支付插件" }
getChannels
获取支付通道
void plus.payment.getChannels( successCB, errorCB );
说明:
在进行支付操作前需获取终端支持的支付通道列表,用于提示用户进行选择。获取支付通道成功后通过successCB回调返回支持的所有通道列表,获取支付通道列表失败则通过errorCB回调返回。
参数:
- successCB:
(
ChannelsSuccessCallback
)
必选 获取支付通道成功回调函数
获取支付通道列表成功时的回调函数,用于返回终端支持的支付通道列表。 - errorCB:
(
PaymentErrorCallback
)
可选 获取支付通道失败回调函数
获取支付通道列表失败时的回调函数,用于返回错误信息。
返回值:
void : 无示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Payment Example</title> <script type="text/javascript"> var channels=null; // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API plus.payment.getChannels( function(s){ channels = s; }, function(e){ alert( "获取支付通道列表失败:"+e.message ); } ); }, false ); </script> </head> <body> </body> </html>
request
请求支付操作
void plus.payment.request( channel, statement, successCB, errorCB );
说明:
调用指定的支付通道进行支付操作,其中statement包含支付操作的相关信息,支付模块将弹出支付界面供用户进行支付信息的输入确认操作。用户支付操作成功后通过successCB回调返回支付操作结果,支付操作失败则通过errorCB回调返回。
参数:
- successCB:
(
ChannelsSuccessCallback
)
必选 获取支付通道成功回调函数
获取支付通道列表成功时的回调函数,用于返回终端支持的支付通道列表。 - channel:
(
PaymentChannel
)
必选 支付通道
指定支付操作的通道,通过getChannels接口获取。 - statement:
(
DOMString
)
必选 支付订单信息
支付订单信息,由支付通道定义的数据格式,通常是由业务服务器生成或向支付服务器获取,必须是经过加密的信息。 - errorCB:
(
PaymentErrorCallback
)
可选 获取支付通道失败回调函数
获取支付通道列表失败时的回调函数,用于返回错误信息。
返回值:
void : 无示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Payment Example</title> <script type="text/javascript"> var channels=null; // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API plus.payment.getChannels( function(s){ channels = s; }, function(e){ alert( "获取支付通道列表失败:"+e.message ); } ); }, false ); // 请求支付操作 function requestPay( c ) { // 必须从业务服务器获取支付信息 var statement = "..."; plus.payment.request( c, statement, function(){ alert( "支付操作成功!" ); }, function(e){ alert( "支付失败:"+e.message ); } ); } </script> </head> <body> </body> </html>
PaymentChannel
支付通道对象
interface plus.payment.PaymentChannel { attribute DOMString id; attribute DOMString description; attribute Boolean serviceReady; function void installService(); }
说明:
PaymentChannel对象表示特定的支付通道,用于向系统请求支付操作。
属性:
- id: 支付通道标识
- description: 支付通道描述
- serviceReady: 支付通道服务是否安装
- lang: 语音识别引擎的语言
方法:
- installService: 安装支付通道依赖的服务
id
支付通道标识
说明:
DOMString 类型 只读属性
用于标识支付通道,如“alipay”表示支付宝、“unionpay”表示银联支付。
description
支付通道描述
说明:
DOMString 类型 只读属性
支付通道的描述信息,如“支付宝”、“银联”。
serviceReady
支付通道服务是否安装
说明:
Boolean 类型 只读属性
通常特定的支付通道依赖系统安装相关的服务,此属性用于标识其服务是否安装,如果没有安装则为false,否则为true。如果系统没有安装相关的服务,则可能导致调用支付操作失败,这是需要调用installService方法进行安装。
lang
语音识别引擎的语言
说明:
DOMString 类型
用于定义语音识别引擎的语言,其取值需符合W3C的Language codes规范。默认值为浏览器的默认语言。
installService
安装支付通道依赖的服务
void pay.installService();
说明:
对于某些支付通道,通常特定的支付通道依赖系统安装相关的服务,调用此方法将安装其依赖的支付服务。如支付宝,则在系统中安装支付宝客户端程序。
参数:
无
返回值:
void : 无示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Payment Example</title> <script type="text/javascript"> var channels=null; // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API plus.payment.getChannels( function(s){ channels = s; }, function(e){ alert( "获取支付通道列表失败:"+e.message ); } ); }, false ); // 请求支付操作 function requestPay( c ) { // 必须从业务服务器获取支付信息 var statement = "..."; if ( !c.serviceReady ) { c.installService(); } plus.payment.request( c, statement, function(){ alert( "支付操作成功!" ); }, function(e){ alert( "支付失败:"+e.message ); } ); } </script> </head> <body> </body> </html>
ChannelsSuccessCallback
获取支付通道成功回调
void ChannelsSuccessCallback ( channels ) { // Get payment channels success code }
说明:
当获取支付通道列表成功时的回调函数,用于返回终端支持的支付通道列表。
参数:
- channels:
(
PaymentChannel
)
必选 数组,系统支持的支付通道列表
返回值:
void : 无PaymentSuccessCallback
支付操作成功回调
void PaymentSuccessCallback ( result ) { // Payment success code }
说明:
当支付操作成功时的回调函数,用于返回支付操作的成功信息。
参数:
- result :
(
PaymentResult
)
必选 支付操作成功的信息
返回值:
void : 无PaymentErrorCallback
支付操作失败回调
void PaymentErrorCallback( error ) { // Payment error code }
说明:
当支付操作失败时的回调函数,用于返回支付操作失败的错误信息。
参数:
- error:
(
DOMException
)
必选 支付操作失败错误信息,可通过error.code获取错误代码