Payment
Payment模块管理支付功能,用于提供网页安全支付能力,支持通过Web接口进行支付操作。通过plus.payment可获取支付管理对象。
方法:
- getChannels获取支付通道
- request请求支付操作
对象:
- PaymentChannel支付通道对象
- PaymentResult支付操作结果对象
回调方法:
- ChannelsSuccessCallback 获取支付通道成功回调
- PaymentSuccessCallback支付操作成功回调
- PaymentErrorCallback支付操作失败回调
getChannels
获取支付通道
void plus.payment.getChannels( successCB, errorCB );
说明:
在进行支付操作前需获取终端支持的支付通道列表,用于提示用户进行选择。获取支付通道成功后通过successCB回调返回支持的所有通道列表,获取支付通道列表失败则通过errorCB回调返回。
参数:
- successCB (ChannelsSuccessCallback) 可选 获取支付通道列表成功时的回调函数,用于返回终端支持的支付通道列表。
- errorCB (PaymentErrorCallback) 可选 获取支付通道列表失败时的回调函数,用于返回错误信息。
返回值:
无
示例:
<!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回调返回。
参数:
- channel (PaymentChannel) 可选 指定支付操作的通道,通过getChannels接口获取。
- statement (DOMString) 可选 支付订单信息,由支付通道定义的数据格式,通常是由业务服务器生成或向支付服务器获取,是经过加密的字符串信息。
- successCB (PaymentSuccessCallback) 可选 获取支付通道列表成功时的回调函数,用于返回终端支持的支付通道列表。
- errorCB (PaymentErrorCallback) 可选 获取支付通道列表失败时的回调函数,用于返回错误信息。
返回值:
无
示例:
<!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对象表示特定的支付通道,用于向系统请求支付操作。
方法:
- installService安装支付通道依赖的服务
属性:
- id:DOMString,只读属性,用于标识支付通道,如“alipay”表示支付宝、“wxpay”表示微信支付。
- description:DOMString,只读属性,支付通道的描述信息,如“支付宝”、“微信”。
- serviceReady:Boolean,只读属性,通常特定的支付通道依赖系统安装相关的服务,此属性用于标识其服务是否安装,如果没有安装则为false,否则为true。 若系统环境中没有安装相关的服务,则可能导致调用支付操作失败,这时可以调用installService方法进行安装。 注意:如果支付通道不需要依赖系统安装服务,则永远返回true。
installService
安装支付通道依赖的服务
void pay.installService();
说明:
对于某些支付通道,通常特定的支付通道依赖系统安装相关的服务,调用此方法将安装其依赖的支付服务。如支付宝,则在系统中安装支付宝客户端程序。
返回值:
无
平台支持:
Android : 2.2+
支付宝:支付操作可不依赖系统环境服务,此方法不做任何操作。当调用plus.payment.request请求支付操作时如果系统环境中已经安装“支付宝钱包”则会调用支付宝钱包进行支付,否则调用Webview窗口进行支付。
iOS : 5.0+
支付宝:支付操作可不依赖系统环境服务,此方法不做任何操作。当调用plus.payment.request请求支付操作时如果系统环境中已经安装“支付宝钱包”则会调用支付宝钱包进行支付,否则调用Webview窗口进行支付。
WP : 不支持
示例:
<!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>
PaymentResult
支付操作结果对象
interface plus.payment.PaymentResult { attribute PaymentChannel channel; attribute DOMString tradeno; attribute DOMString description; attribute DOMString url; attribute DOMString signature; }
说明:
PaymentResult对象表示支付操作返回结果,用于确认支付操作成功。
属性:
- channel:PaymentChannel,只读属性,用于发起支付操作的支付通道对象。
- tradeno:String,只读属性,支付交易编号信息
- description:Boolean,只读属性,交易描述信息
- url:Boolean,只读属性,查找支付交易信息地址
- signature:String,只读属性,用于向支付服务器查询支付订单信息。
ChannelsSuccessCallback
获取支付通道成功回调
void ChannelsSuccessCallback ( channels ) { // Get payment channels success code }
说明:
当获取支付通道列表成功时的回调函数,用于返回终端支持的支付通道列表。
参数:
- channels (Array) 可选 数组,系统支持的支付通道PaymentChannel列表
PaymentSuccessCallback
支付操作成功回调
void PaymentSuccessCallback ( result ) { // Payment success code }
说明:
当支付操作成功时的回调函数,用于返回支付操作的成功信息。
参数:
- result(PaymentResult) 可选 支付操作成功的信息
PaymentErrorCallback
支付操作失败回调
void PaymentErrorCallback( error ) { // Payment error code }
说明:
当支付操作失败时的回调函数,用于返回支付操作失败的错误信息。
参数:
- error (DOMException) 可选 支付错误代码如下: 62000,客户端未安装支付通道依赖的服务; 62001,用户取消支付操作; 62002,此设备不支持支付; 62003,数据格式错误; 62004,支付账号状态错误; 62005,订单信息错误; 62006,支付操作内部错误; 62007,支付服务器错误; 62008,网络问题引起的错误; 62009,其它未定义的错误。
关键词: html5puls,Payment 编辑时间: 2015-03-23 23:20:21
0
高兴0
支持0
搞笑0
不解0
谎言0
枪稿0
震惊0
无奈0
无聊0
反对0
愤怒
- 暂无评论
网友评论