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, alibaichuanble模块.

使用此模块之前需先配置config文件的Feature

配置示例:

  1. <feature name="beecloud">
  2. <param name="urlScheme" value="wxf1aa465362b4c8f1" />
  3. <param name="bcAppID" value="c5d1cba1-5e3f-4ba0-941d-9b0a371fe719" />
  4. <param name="sandbox" value="true" />
  5. </feature>

配置描述:

  1. 1.feature-name: beecloud.
  2. 2.param-urlScheme: 此字段为URL Scheme类型,配置为微信开放平台APPID,使得本应用可以启动微信客户端,并与之交换数据.如果不使用微信支付,可自定义配置。
  3. 3.param-bcAppID: BeeCloud平台AppID.
  4. 4.param-sandbox: "true|false"。默认为"false"
  5. "true"代表切换到沙箱测试模式,沙箱测试模式下不产生真实交易;
  6. "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对象

内部字段:

  1. {
  2. result_code: 0, //返回码,0代表成功
  3. result_msg: "支付成功", //返回信息
  4. err_detail: "" //当result_code不为0时,返回具体fail原因
  5. }

err:

  • 描述:所有信息都通过ret返回,err暂未启用。

示例代码

  1. var payData = {
  2. channel: "UN_APP",
  3. title: "apicloud",
  4. totalfee: 1,
  5. billno: "201508191436987",
  6. optional: { 'userID': '张三', 'mobile': '0512-86861620' }
  7. };
  8. var demo = api.require('beecloud');
  9. demo.pay(payData, payCallBack);
  10. function payCallBack(ret, err) {
  11. api.toast({ msg: ret.result_msg });
  12. }

补充说明

回调样例:

  1. //成功
  2. {
  3. result_code: 0,
  4. result_msg: "支付成功",
  5. err_detail: ""
  6. }
  7. //失败
  8. {
  9. result_code: -1,
  10. result_msg: "title 必须是长度不大于32个字节,最长16个汉字的字符串的合法字符串",
  11. err_detail: "title 必须是长度不大于32个字节,最长16个汉字的字符串的合法字符串"
  12. }

可用性

iOS系统,Android系统
可提供的1.0.0及更高版本

getApiVersion

获取API版本

getApiVersion(callback);

callBack(ret, err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. apiVersion: "1.0.0"
  3. }

示例代码

  1. var demo = api.require('beecloud');
  2. demo.getApiVersion(callBack);
  3. function callBack(ret, err) {
  4. api.toast({ msg: ret.apiVersion });
  5. }

补充说明

可用性

iOS系统,Android系统
可提供的1.0.0及更高版本

isSandboxMode

判断当前是否是沙箱测试环境

isSandboxMode(callback);

callBack(ret, err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. flag: true //沙箱测试环境
  3. }

示例代码

  1. var demo = api.require('beecloud');
  2. demo.isSandboxMode(callBack);
  3. function callBack(ret, err) {
  4. api.toast({ msg: ret.flag });
  5. }

补充说明

可用性

iOS系统,Android系统
可提供的1.4.0及更高版本

isWXAppInstalled

判断是否安装微信客户端

isWXAppInstalled(callback);

callBack(ret, err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. flag: true //沙箱测试环境
  3. }

示例代码

  1. var demo = api.require('beecloud');
  2. demo.isWXAppInstalled(callBack);
  3. function callBack(ret, err) {
  4. api.toast({ msg: ret.flag });
  5. }

补充说明

可用性

iOS系统,Android系统
可提供的1.4.0及更高版本