pingpp

来自于:ping++立即使用

createPayment getVersion setDebugMode getPingppVersion setSEPay setUniversalLink

概述

pingpp 封装了支付宝(alipay),微信(wx),银联(upacp),百度钱包(bfb_wap)四个渠道的支付接口。使用此模块可轻松实现各个渠道的支付功能。
使用之前需要先到 Ping++ 注册,并根据技术文档部署 Server SDK。

注意

  1. 使用此模块时,请勿同时勾选 aliPay 模块;
  2. 如果需要使用微信支付,请同时添加 wxPlus 模块,并确保在调用支付前调用 setUniversalLink 方法;
  3. 本模块需要配合其他含阿里 utdid 包的模块才能正常使用。或者使用 utdid 自定义模块(版本 1.0.3)(需要修改 module.json 内容,添加一对大括号{})

createPayment

调用 Ping++ SDK

params

charge:

  • 类型:字符串
  • 描述:从 Server SDK 获取到的 charge 对象 JSON 序列化字符串

scheme:

  • 类型:字符串
  • 描述:自定义的 iOS URL Schemes,请在 config.xml 添加,配置方法参考文档。Android 平台不需要。

callback(ret, err)

ret:

  • 类型:字符串

内部字段:

  1. {
  2. "result": "success" // 结果:"success", "fail", "cancel", "invalid"
  3. }

微信客户端未安装时会返回 invalid,建议提前判断是否有安装微信,而不是根据这个返回结果去提示用户。

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. "code": 0, // 错误码
  3. "msg": "" // 错误描述
  4. }

错误码:

  1. 0: 无效的 Charge;
  2. 1: 无效的 Credential;
  3. 2: 无效的渠道;
  4. 3: 微信客户端未安装;
  5. 4: 微信客户端版本不支持 OpenApi;
  6. 5: 取消;
  7. 6: 找不到 ViewController;(仅在 iOS 出现)
  8. 7: 测试模式异步通知失败;
  9. 8: 渠道返回失败;
  10. 9: 网络错误;
  11. 10: 未知错误。

实例代码

  1. var pingpp = api.require('pingpp');
  2. var params = {
  3. charge: chargeJSONString,
  4. scheme: "yourappurlscheme"
  5. };
  6. pingpp.createPayment(params, function(ret, err){
  7. if (ret.result == "success") {
  8. api.alert({msg:"success"});
  9. }
  10. });

补充说明

  • 百度钱包渠道字段,请用 bfb_wap。iOS 使用该渠道时,会跳出应用到浏览器,请在结果页面跳转到 yourappurlscheme://pingppwappay?result=success 来返回应用。Android 使用该渠道,请在结果页面用 JS 调用 PingppAndroidSDK.setResult("success"); 来返回你的页面。

可用性

iOS 系统,Android 系统

getVersion

获取版本号

实例代码

  1. var pingpp = api.require('pingpp');
  2. var version = pingpp.getVersion();

补充说明

可用性

iOS 系统,Android 系统

setDebugMode

设置是否开启 Debug 模式

params

enabled:

  • 类型:布尔型
  • 描述:是否开启 Debug 模式

实例代码

  1. var pingpp = api.require('pingpp');
  2. pingpp.setDebugMode({enabled:true});

补充说明

可用性

iOS 系统,Android 系统

getPingppVersion

获取版本号

实例代码

  1. var pingpp = api.require('pingpp');
  2. var version = pingpp.getPingppVersion();

补充说明

可用性

iOS 系统,Android 系统

setSEPay

设置是否允许使用手机 Pay

params

enabled:

  • 类型:布尔型
  • 描述:是否允许使用手机 Pay

实例代码

  1. var pingpp = api.require('pingpp');
  2. pingpp.setSEPay({enabled:false});

补充说明

可用性

Android 系统

setUniversalLink

设置微信支付的 Universal Link

params

universalLink:

  • 类型:字符串
  • 描述:微信支付的 Universal Link

实例代码

  1. var pingpp = api.require('pingpp');
  2. pingpp.setUniversalLink({universalLink: "https://app.example.com/"});

补充说明

可用性

iOS 系统