帮助与支持

1功能
     
为指定用户充值一定金额的人民币, 系统转换为相应金额的金币数量
     充值接口为异步接口, 获取成功响应之后, 只能说明此次充值请求提交成功, 不能说明用户充值已到账
     可以重新查询用户的余额, 或者等待服务器的定期推送信息来获取用户的当前余额

2方法名称
     lecloud.ilive.deposit

3HTTP请求:POST

4参数

参数名数据类型是否必须说明
chIdstringY渠道ID
appGroupIdintY充值用户所属应用组ID
appIdintY充值用户所属应用ID
uuidstringY充值用户在公海平台上的唯一序号(appGroupId-uid)
moneyintY充值金额, 单位是人民币的分, 例如充值1元, 则money=100
platformTypestringY充值所属的手机平台, 目前需要使用 ios 和android其中之一
useridstringY乐视云客户ID, 等同于渠道ID
timestamplongY充值发生的时间戳,
signstringY根据secretKey等生成签名信息(提供生成方法)
varstringY版本号   "ver=1.0"
methodstringY方法名称“method=lecloud.ilive.deposit”

5返回值

提交成功HttpCode=200 响应体为 { "success":true }
提交失败HttpCode=400 响应体为 { "success":false,   "message","失败的原因" }

 6代码示例

·        String chId= "1234"
·         String secretKey = "AxDefG1dgef"
·         String openapiUrl = "http://api.open.lecloud.com/ilive/execute" ;
·
·
·                 Map<String, String> params = new HashMap<>();
·                 params.put("uuid", uuid);
·                 params.put("interactionId",interactionId );
·                 params.put("optionId", optionId);
·                 params.put("repeat", repeat);
·                 params.put("channelId", channelId);
·                 params.put("chId", chId);
·                 params.put("interactionType", interactionType);
·                 params.put("renderData", renderData);
·                 params.put("platformType", platformType);
·                 params.put("userid", userid);
·                 params.put("method", "lecloud.ilive.deposit");
·                 params.put("ver", "1.0");
·                 params.put("timestamp", String.valueOf(System.currentTimeMillis()));
·                 String sign = LetvApiUtil.digest(params, secretKey);//sign的生成规则
·                 params.put("sign", sign);
·
·                 HttpResponse response = HttpApi.doPost(openapiUrl, params);
                //http请求调用公海的openapi接口 POST
·                 if (response.getStatusLine().getStatusCode() != HttpStatus.OK.value()) {
·                     throw new Exception(EntityUtils.toString(response.getEntity()));
·                 }
·                 LOGGER.debug("success");
·             }
·         }
·
·         sign值的生成规则
·         public class LetvApiUtil {
·
·             private LetvApiUtil() {
·             }
·
·             public static String digest(Map<String, String> params, String secret) {
·                 StringBuilder result = new StringBuilder();
·                 ArrayList keys = new ArrayList(params.keySet());
·                 Collections.sort(keys);
·                 Iterator iterator = keys.iterator();
·
·                 while(iterator.hasNext()) {
·                     String key = (String)iterator.next();
·                     if(!"sign".equalsIgnoreCase(key)) {
·                         result.append(key).append((String)params.get(key));
·                     }
·                 }
·
·                 result.append(secret);
·                 return MD5(result.toString());
·             }
·
·             public static String MD5(String src) {
·                 try {
·                     if(src == null) {
·                         return "";
·                     } else {
·                         Object e = null;
·                         MessageDigest alg = MessageDigest.getInstance("MD5");
·                         byte[] e1 = alg.digest(src.getBytes("utf-8"));
·                         return byte2hex(e1);
·                     }
·                 } catch (Exception var3) {
·                     throw new RuntimeException();
·                 }
·             }
·
·             private static String byte2hex(byte[] b) {
·                 if(b == null) {
·                     return "";
·                 } else {
·                     StringBuffer hs = new StringBuffer();
·                     String stmp = null;
·
·                     for(int n = 0; n < b.length; ++n) {
·                         stmp = Integer.toHexString(b[n] & 255);
·                         if(stmp.length() == 1) {
·                             hs.append("0");
·                         }
·
·                         hs.append(stmp);
·                     }
·
·                     return hs.toString();
·                 }
·             }
·
}