beecloud
来自于:BeeCloud立即使用
pay getApiVersion isSandboxMode isWXAppInstalled
概述
beecloud 封装了支付宝(ALI_APP),微信(WX_APP),银联(UN_APP)三个主流渠道的支付接口。使用此模块可轻松实现各个渠道的支付功能。
如需使用Apple Pay功能,请使用bcapplepay
模块.
使用之前需要先到BeeCloud 注册认证,并快速开始接入BeeCloud Pay.
更多信息请访问BeeCloud帮助中心。
此模块支持沙箱测试,沙箱测试模式下不产生真实交易。
说明:自模块版本1.6.2起不再支持百度钱包。
不含UTDID的iOS模块包 当与其他模块因UTDID冲突时,可下载此模块包上传自定义模块使用。
配置
注意: 使用此模块时,请勿同时勾选 aliPay
, weChat
, unionPay
, taobao
, alibaichuan
,ble
模块.
使用此模块之前需先配置config文件的Feature
配置示例:
<feature name="beecloud">
<param name="urlScheme" value="wxf1aa465362b4c8f1" />
<param name="bcAppID" value="c5d1cba1-5e3f-4ba0-941d-9b0a371fe719" />
<param name="sandbox" value="true" />
</feature>
配置描述:
1.feature-name: beecloud.
2.param-urlScheme: 此字段为URL Scheme类型,配置为微信开放平台APPID,使得本应用可以启动微信客户端,并与之交换数据.如果不使用微信支付,可自定义配置。
3.param-bcAppID: BeeCloud平台AppID.
4.param-sandbox: "true|false"。默认为"false"。
"true"代表切换到沙箱测试模式,沙箱测试模式下不产生真实交易;
"false"代表切换到生产模式;
配置可被检测的URL Scheme
字段名:querySchemes
描述:iOS9中对检测应用是否安装的方法做了限制,只允许检测在Info.plist中配置过的LSApplicationQueriesSchemes字段(即白名单列表)里面的应用。所以若代码里面调用了api.appInstalled等方法来检测应用是否安装,那么需要在此字段里面配置被检测应用的URL Scheme才能得到期望的结果。此字段云编译有效。
配置示例:
//多个值之间用英文逗号隔开
<preference name="querySchemes" value="weixin" />
pay
支付
pay(params, callback);
params
channel:
- 类型:String
- 默认值:无
- 描述:支付渠道。微信(WX_APP),支付宝(ALI_APP),银联在线(UN_APP)
title:
- 类型:String
- 默认值:无
- 描述:订单描述。32个字节,最长支持16个汉字。
billno:
- 类型:String
- 默认值:无
- 描述:订单号。8~32位字母和\或数字组合,必须保证在商户系统中唯一。建议根据当前时间生成订单号,格式为:yyyyMMddHHmmssSSS,”201508191436987”。
totalfee:
- 类型:Int
- 默认值:无
- 描述:订单金额。以分为单位,例如:100代表1元。
optional:
- 类型:Map(String, String)
- 默认值:无
- 描述:商户业务扩展,用于商户传递处理业务参数,会在webhook回调中返回。例:{‘userID’:’张三’,’mobile’:’0512-86861620’}
callback(ret, err)
ret:
- 类型:JSON对象
内部字段:
{
result_code: 0, //返回码,0代表成功
result_msg: "支付成功", //返回信息
err_detail: "" //当result_code不为0时,返回具体fail原因
}
err:
- 描述:所有信息都通过ret返回,err暂未启用。
示例代码
var payData = {
channel: "UN_APP",
title: "apicloud",
totalfee: 1,
billno: "201508191436987",
optional: { 'userID': '张三', 'mobile': '0512-86861620' }
};
var demo = api.require('beecloud');
demo.pay(payData, payCallBack);
function payCallBack(ret, err) {
api.toast({ msg: ret.result_msg });
}
补充说明
回调样例:
//成功
{
result_code: 0,
result_msg: "支付成功",
err_detail: ""
}
//失败
{
result_code: -1,
result_msg: "title 必须是长度不大于32个字节,最长16个汉字的字符串的合法字符串",
err_detail: "title 必须是长度不大于32个字节,最长16个汉字的字符串的合法字符串"
}
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getApiVersion
获取API版本
getApiVersion(callback);
callBack(ret, err)
ret:
- 类型:JSON对象
内部字段:
{
apiVersion: "1.0.0"
}
示例代码
var demo = api.require('beecloud');
demo.getApiVersion(callBack);
function callBack(ret, err) {
api.toast({ msg: ret.apiVersion });
}
补充说明
无
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isSandboxMode
判断当前是否是沙箱测试环境
isSandboxMode(callback);
callBack(ret, err)
ret:
- 类型:JSON对象
内部字段:
{
flag: true //沙箱测试环境
}
示例代码
var demo = api.require('beecloud');
demo.isSandboxMode(callBack);
function callBack(ret, err) {
api.toast({ msg: ret.flag });
}
补充说明
无
可用性
iOS系统,Android系统
可提供的1.4.0及更高版本
isWXAppInstalled
判断是否安装微信客户端
isWXAppInstalled(callback);
callBack(ret, err)
ret:
- 类型:JSON对象
内部字段:
{
flag: true //沙箱测试环境
}
示例代码
var demo = api.require('beecloud');
demo.isWXAppInstalled(callBack);
function callBack(ret, err) {
api.toast({ msg: ret.flag });
}
补充说明
无
可用性
iOS系统,Android系统
可提供的1.4.0及更高版本