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 表示通知成功