1、开发测试

相关软件配置

  • 天猫精灵容器版本 推荐2.1.191.0版本及以上(检查容器版本方法: adb shell dumpsys package com.alibaba.ailabs.genie.webapps | grep versionName打印容器版本, 若容器版本过低,请联系天猫精灵方为您单独推送测试容器)

    打开方式

  • adb shell am start -d “webapp://com.alibaba.ailabs.genie.webapps/h5/game?url=替换为你的html5网址\&appId=100010000001”

  • 参数说明
    1. - url: h5网址,传入编码后的url即可
    2. - appId: 天猫精灵为h5分配的应用id,此处仅为测试使用

2、小游戏JSAPI

页面引入

  • 只在天猫精灵上使用

使用示例

  1. <head>
  2. <script type="text/javascript" src="https://appx/genie.game.min.js"></script>
  3. ...
  4. </head>
  • 在天猫精灵上使用,同时也在非天猫精灵上使用
    1. <head>
    2. <!-- 如该 H5 页面需要同时在非天猫精灵设备内使用,为避免该请求404,可参考以下写法 -->
    3. <!-- 请尽量在 html 头部执行以下脚本 -->
    4. <script>
    5. if (navigator.userAgent.indexOf('TmallGenie') > -1) {
    6. document.writeln('<script src="https://appx/genie.game.min.js"' + '>' + '<' + '/' + 'script>');
    7. }
    8. </script>
    9. </head>

二维码支付

  • API: my.tg.qrcodePay
  • 功能:二维码支付,调起收银台付款
  • 入参:param:{ //参数说明如下 } | 属性 | 类型 | 必填 | 说明 | | —- | —- | —- | —- | | sellerId | Number | 是 | 商户的淘宝id | | content | String | 是 | 支付内容(内容的字段说明下表说明) | | sign | String | 是 | 对content 内容签名,商户的RSA私钥对内容的签名;平台会用商户上传的公钥验签 |

content支付内容字段说明

属性 类型 必填 说明
amount Number 是 订单金额 (单位:元)
appId String 是 商户入职时分配的appid
outItemId String 否 商户商品id
outItemName String 否 商户售卖的产品名称
outOrderId String 是 商户订单号
payExpireTime String 否 订单的超时时间
sellerId Number 是 商户的淘宝id

秘钥说明

参数名 获取方式
RSA私钥 商户自我管理
RSA公钥 商户入驻时,在开发设置里提供,必填

sign加签说明(服务端)

  1. 通过支付宝SDK提供的工具类进行加签验签操作。 电魂侧可以在maven中央仓库下载到,版本选择3.7.80.ALL以上即可
  2. https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java
  3. <dependency>
  4. <groupId>alipay-sdk-java</groupId>
  5. <artifactId>alipay-sdk-java</artifactId>
  6. <version>3.7.80.ALL</version>
  7. </dependency>
  8. content: 需要加签的业务参数,json字符串
  9. 加签:
  10. String sign = AlipaySignature.rsaSign(content, sysPriKey, "UTF-8", "RSA");
  11. 验签:
  12. boolean signCheck = AlipaySignature.rsaCheck(content, sign2, sysPubKey, "UTF-8", "RSA");
  • response:支付结果回调 | 回调方法 | 类型 | 必填 | 说明 | | —- | —- | —- | —- | | success | Function | 是 | 支付成功的回调 | | fail | Function | 是 | 支付失败的回调 |
  • 支付回调说明

    1. {"code":"", "msg":""} //code值0代表成功, msg为对应code的描述
  • 支付样式:

创建订单:
image.png

支付宝支付:
image.png

  • 使用示例:
    1. //二维码支付
    2. function qrcodePay() {
    3. my.tg.qrcodePay({
    4. param: {
    5. sellerId: '3919645743',
    6. content: '\{\"amount\":1,\"appId\":\"2019121169798623\",\"outItemId\":\"1000001\",\"outItemName\":\"豆腐\",\"outOrderId\":\"eebfce93-a760-415f-a6b5-4f0c9a1f3134\",\"payExpireTime\":1578908465797,\"sellerId\":3919645743}',
    7. sign: 'lF9t3uBB3ZOIbvoFqIibcOgXI7SS8PHfm0ZKKb1DCXhRnvfmYTQwKHisUQh9ieg3u891ANPMEsPD3haySqzyC2+MJQJNutRduUOxFHsRTXuErKmoci1XtQJwez5Wh7A6CMBDYTykIWdZorP3zwf2ZtgcddasUj9kWq9eB1VkfgE='
    8. },
    9. success: (res) => {
    10. alert("支付回调成功:" +JSON.stringify(res));
    11. },
    12. fail: (res) => {
    13. alert("支付回调失败:" +JSON.stringify(res));
    14. }
    15. });
    16. }

3、服务端HTTP支付结果回调

  • 回调接口是天猫精灵作为发起方,客户方作为提供方 | 说明 | 测试 | 生产 | 产生方式 | | —- | —- | —- | —- | | 请求方式 | POST | POST | http协议自带 | | RSA公钥 | | | 由天猫精灵提供给客户方,用于通知结果验签 |
  • 业务请求参数 | 参数名 | 中文名 | 字段类型 | 产生方式 | 是否毕传 | | —- | —- | —- | —- | —- | | content | 业务参数 | String | 将业务参数转成json字符串得到 | 是 | | sign | 签名 | String | 将业务参数转成json字符串,使用RSA私钥加密得到 | 是 |
  • 业务参数 | 参数名 | 中文名 | 字段类型 | 是否毕传 | | —- | —- | —- | —- | | sellerId | 卖家id | Long | 是 | | appId | 商户入驻时分配的appId | String | 是 | | outOrderId | 商户的订单id | String | 是 |
  • 响应参数

无, 当前认为 httpstatus = 200 表示通知成功