Payment Document

payment

Payment模块管理支付功能,用于提供网页安全支付能力,支持通过Web接口进行支付操作。通过plus.payment可获取支付管理对象。

方法:

对象:

回调方法:

权限:

permissions

"Payment": {
	"description": "访问支付插件"
}
			

getChannels

获取支付通道

void plus.payment.getChannels( successCB, errorCB );
				

说明:

在进行支付操作前需获取终端支持的支付通道列表,用于提示用户进行选择。获取支付通道成功后通过successCB回调返回支持的所有通道列表,获取支付通道列表失败则通过errorCB回调返回。

参数:

返回值:

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回调返回。

参数:

返回值:

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

支付通道标识

说明:

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
}
				

说明:

当获取支付通道列表成功时的回调函数,用于返回终端支持的支付通道列表。

参数:

返回值:

void : 无

PaymentSuccessCallback

支付操作成功回调

void PaymentSuccessCallback ( result ) {
	// Payment success code
}
				

说明:

  当支付操作成功时的回调函数,用于返回支付操作的成功信息。

参数:

返回值:

void : 无

PaymentErrorCallback

支付操作失败回调

void PaymentErrorCallback( error ) {
	// Payment error code
}
				

说明:

当支付操作失败时的回调函数,用于返回支付操作失败的错误信息。

参数:

返回值:

void : 无