哥伦布海外 API
<p>[TOC]</p>
<h2>版本记录</h2>
<table>
<thead>
<tr>
<th style="text-align: left;">文档版本</th>
<th style="text-align: left;">时间</th>
<th style="text-align: left;">修改内容</th>
<th style="text-align: left;">责任人</th>
<th style="text-align: left;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">1.0.0</td>
<td style="text-align: left;">2020/3/30</td>
<td style="text-align: left;">海外SDK</td>
<td style="text-align: left;">tenk.chen</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<h2>文档简介</h2>
<blockquote>
<p>哥伦布-海外SDK。</p>
<p>该文档是 SDK 对外 API,方便开发者接入 SDK,有问题可以 <a href="https://www.showdoc.cc/mssdk?page_id=2615409307929897">联系我们</a>。</p>
</blockquote>
<h2>重要信息</h2>
<p>哥伦布基于MSSDK开发,除新增facebook和google相关功能,其余能力参照MSSDK相关文档。</p>
<h2>异步回调接口</h2>
<blockquote>
<p>SDK 异步回调的函数原型。以下 API 接口中有使用该回调函数。</p>
<p>接口:MSLDCallback</p>
</blockquote>
<p><strong>成功函数原型:</strong></p>
<pre><code class="language-java">void onSuccess(String msg, T data);</code></pre>
<p><strong>成功函数参数说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>错误详情</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">T</td>
<td>成功结果对象,可能为null</td>
</tr>
</tbody>
</table>
<p><strong>失败函数原型:</strong></p>
<pre><code class="language-java">void onFail(int code, String msg, Object errorData);</code></pre>
<p><strong>失败函数参数说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误状态码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>错误详情</td>
</tr>
<tr>
<td style="text-align: left;">errorData</td>
<td style="text-align: left;">Object</td>
<td>错误结果对象,可能为null</td>
</tr>
</tbody>
</table>
<h2>API详情</h2>
<h3>摘要</h3>
<blockquote>
<p>包路径:com.ms.sdk.api</p>
<p>类: MSLDSDK</p>
<p>描述:SDK唯一提供给游戏接入的API入口类,SDK所有对外开放的接口都将通过该类统一输出</p>
</blockquote>
<h3>1. 登陆</h3>
<blockquote>
<p>提供账号登录、三方账号授权登录等能力。</p>
</blockquote>
<h4>1.1 登陆面板</h4>
<p><strong>简要描述:</strong>
打开登陆面板,在MSSDK初始化成功之后调用</p>
<p><strong>功能说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">功能名称</th>
<th style="text-align: left;">调用类型</th>
<th style="text-align: left;">功能标识</th>
<th style="text-align: left;">返回值</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">登陆面板</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">AccountPath.ROUTE_COLUMBUS_ACCOUNT_UI_LOGIN</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<p><strong>回调声明:</strong></p>
<pre><code class="language-java"> MSLDSDK.action(activity, AccountPath.ROUTE_COLUMBUS_ACCOUNT_UI_LOGIN, new
HashMap<>(), new MSLDCallback<MSLDAccount>() {
@Override
public void onSuccess(String msg, MSLDAccount data) {
loginSuccess(data);
}
@Override
public void onFail(int code, String msg, Object errorData) {
showMsg(msg);
}
});</code></pre>
<p><strong>回调参数说明:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>状态详情</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">MSLDAccount</td>
<td>返回对象</td>
</tr>
<tr>
<td style="text-align: left;">errorData</td>
<td style="text-align: left;">Object</td>
<td>返回错误,可能为空</td>
</tr>
</tbody>
</table>
<h4>1.2 自动登陆</h4>
<p><strong>简要描述:</strong>
自动登陆已有账号,在MSSDK初始化成功之后调用</p>
<p><strong>功能说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">功能名称</th>
<th style="text-align: left;">调用类型</th>
<th style="text-align: left;">功能标识</th>
<th style="text-align: left;">返回值</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">登陆面板</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">AccountPath.ROUTE_COLUMBUS_ACCOUNT_DIRECT_AUTO_LOGIN</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<p><strong>回调声明:</strong></p>
<pre><code class="language-java"> MSLDSDK.action(activity, AccountPath.ROUTE_COLUMBUS_ACCOUNT_DIRECT_AUTO_LOGIN, new
HashMap<>(), new MSLDCallback<MSLDAccount>() {
@Override
public void onSuccess(String msg, MSLDAccount data) {
loginSuccess(data);
}
@Override
public void onFail(int code, String msg, Object errorData) {
showMsg(msg);
}
});</code></pre>
<p><strong>回调参数说明:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>状态详情</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">MSLDAccount</td>
<td>返回对象</td>
</tr>
<tr>
<td style="text-align: left;">errorData</td>
<td style="text-align: left;">Object</td>
<td>返回错误,可能为空</td>
</tr>
</tbody>
</table>
<h4>1.3 游客登陆</h4>
<p><strong>简要描述:</strong>
游客登录,在MSSDK初始化成功之后调用</p>
<p><strong>功能说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">功能名称</th>
<th style="text-align: left;">调用类型</th>
<th style="text-align: left;">功能标识</th>
<th style="text-align: left;">返回值</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">登陆面板</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">AccountPath.ROUTE_COLUMBUS_ACCOUNT_DIRECT_GUEST_LOGIN</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<p><strong>回调声明:</strong></p>
<pre><code class="language-java"> MSLDSDK.action(activity, AccountPath.ROUTE_COLUMBUS_ACCOUNT_DIRECT_GUEST_LOGIN, new
HashMap<>(), new MSLDCallback<MSLDAccount>() {
@Override
public void onSuccess(String msg, MSLDAccount data) {
loginSuccess(data);
}
@Override
public void onFail(int code, String msg, Object errorData) {
showMsg(msg);
}
});</code></pre>
<p><strong>回调参数说明:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>状态详情</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">MSLDAccount</td>
<td>返回对象</td>
</tr>
<tr>
<td style="text-align: left;">errorData</td>
<td style="text-align: left;">Object</td>
<td>返回错误,可能为空</td>
</tr>
</tbody>
</table>
<h4>1.4 Facebook登陆</h4>
<p><strong>简要描述:</strong>
Facebook授权登录,在MSSDK初始化成功之后调用</p>
<p><strong>功能说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">功能名称</th>
<th style="text-align: left;">调用类型</th>
<th style="text-align: left;">功能标识</th>
<th style="text-align: left;">返回值</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">登陆面板</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">AccountPath.ROUTE_COLUMBUS_ACCOUNT_DIRECT_FACEBOOK_LOGIN</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<p><strong>回调声明:</strong></p>
<pre><code class="language-java"> MSLDSDK.action(activity, AccountPath.ROUTE_COLUMBUS_ACCOUNT_DIRECT_FACEBOOK_LOGIN, new
HashMap<>(), new MSLDCallback<MSLDAccount>() {
@Override
public void onSuccess(String msg, MSLDAccount data) {
loginSuccess(data);
}
@Override
public void onFail(int code, String msg, Object errorData) {
showMsg(msg);
}
});</code></pre>
<p><strong>回调参数说明:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>状态详情</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">MSLDAccount</td>
<td>返回对象</td>
</tr>
<tr>
<td style="text-align: left;">errorData</td>
<td style="text-align: left;">Object</td>
<td>返回错误,可能为空</td>
</tr>
</tbody>
</table>
<h4>1.5 Google登陆</h4>
<p><strong>简要描述:</strong>
Google授权登录,在MSSDK初始化成功之后调用</p>
<p><strong>功能说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">功能名称</th>
<th style="text-align: left;">调用类型</th>
<th style="text-align: left;">功能标识</th>
<th style="text-align: left;">返回值</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">登陆面板</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">AccountPath.ROUTE_COLUMBUS_ACCOUNT_DIRECT_GOOGLE_LOGIN</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<p><strong>回调声明:</strong></p>
<pre><code class="language-java"> MSLDSDK.action(activity, AccountPath.ROUTE_COLUMBUS_ACCOUNT_DIRECT_GOOGLE_LOGIN, new
HashMap<>(), new MSLDCallback<MSLDAccount>() {
@Override
public void onSuccess(String msg, MSLDAccount data) {
loginSuccess(data);
}
@Override
public void onFail(int code, String msg, Object errorData) {
showMsg(msg);
}
});</code></pre>
<p><strong>回调参数说明:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>状态详情</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">MSLDAccount</td>
<td>返回对象</td>
</tr>
<tr>
<td style="text-align: left;">errorData</td>
<td style="text-align: left;">Object</td>
<td>返回错误,可能为空</td>
</tr>
</tbody>
</table>
<h3>2. 分享</h3>
<blockquote>
<p>提供Facebook的分享能力。</p>
</blockquote>
<h4>2.1 Facebook分享图片</h4>
<p><strong>简要描述</strong>
分享一张图片到Facebook中</p>
<p><strong>功能说明</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">功能名称</th>
<th style="text-align: left;">调用类型</th>
<th style="text-align: left;">功能标识</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">分享图片</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">SharePath.ROUTE_SHARE_IMAGE</td>
<td style="text-align: left;">确保安装了7.0以上版本的Facebook</td>
</tr>
</tbody>
</table>
<p><strong>参数说明</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">是否已定义为常量</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">scene</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">[String]</td>
<td>分享场景,详见下表[RouteParam说明]</td>
</tr>
<tr>
<td style="text-align: left;">image</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">String</td>
<td>图片的本地路径或者图片的二进制数据,需将byte[]转换成String类型</td>
</tr>
</tbody>
</table>
<p><strong>RouteParam说明</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">ShareParam.SHARE_FACEBOOK</td>
<td style="text-align: left;">String</td>
<td>分享到Facebook</td>
</tr>
</tbody>
</table>
<p><strong>回调声明:</strong></p>
<pre><code class="language-java">void onSuccess(String msg, Object data);
void onFail(int code, String msg, Object errorData);</code></pre>
<p><strong>回调参数说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>错误详情</td>
</tr>
<tr>
<td style="text-align: left;">errorData</td>
<td style="text-align: left;">Object</td>
<td>返回对象</td>
</tr>
</tbody>
</table>
<h4>2.2 Facebook分享链接到会话</h4>
<p><strong>简要描述</strong>
分享某个链接到指定的Facebook中</p>
<p><strong>功能说明</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">功能名称</th>
<th style="text-align: left;">调用类型</th>
<th style="text-align: left;">功能标识</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">分享链接</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">SharePath.ROUTE_SHARE_WEBPAGE</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<p><strong>参数说明</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">是否已定义为常量</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">scene</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td>分享场景,详见下表[RouteParam说明]</td>
</tr>
<tr>
<td style="text-align: left;">webpageUrl</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">String</td>
<td>要分享的链接</td>
</tr>
</tbody>
</table>
<p><strong>RouteParam说明</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">ShareParam.SHARE_FACEBOOK</td>
<td style="text-align: left;">String</td>
<td>分享到Facebook</td>
</tr>
</tbody>
</table>
<p><strong>回调声明:</strong></p>
<pre><code class="language-java">void onSuccess(String msg, Object data);
void onFail(int code, String msg, Object errorData);</code></pre>
<p><strong>回调参数说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>错误详情</td>
</tr>
<tr>
<td style="text-align: left;">errorData</td>
<td style="text-align: left;">Object</td>
<td>返回对象</td>
</tr>
</tbody>
</table>
<h3>3. 支付</h3>
<blockquote>
<p>SDK 提供Google支付 API,通过指定支付方式进行支付。
为避免支付被盗刷的风险,SDK增加支付校验处理。</p>
</blockquote>
<h5>3.1 指定支付方式支付</h5>
<p><strong>简要描述:</strong>
指定支付方式支付</p>
<p><strong>注意:</strong>
若要使用该功能则必须是已登录状态</p>
<p><strong>功能说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">功能名称</th>
<th style="text-align: left;">调用类型</th>
<th style="text-align: left;">功能标识</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">指定支付方式支付</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">PaymentPath.ROUTE_PAY_BY_METHOD_ID</td>
<td style="text-align: left;"></td>
</tr>
</tbody>
</table>
<p><strong>HashMap参数说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">PaymentParam.PAY_PLAYER_ID</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">用户唯一标识,可以传入openid或者playerid</td>
</tr>
<tr>
<td style="text-align: left;">PaymentParam.PAY_MCH_ORDER_NO</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">商户订单号,即游戏CP订单号, 选填</td>
</tr>
<tr>
<td style="text-align: left;">PaymentParam.PAY_PRODUCT_DES</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">商品描述</td>
</tr>
<tr>
<td style="text-align: left;">PaymentParam.PAY_SUBJECT</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">订单标题</td>
</tr>
<tr>
<td style="text-align: left;">PaymentParam.PAY_PRICE</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">价格 ,值为float类型字符串</td>
</tr>
<tr>
<td style="text-align: left;">PaymentParam.PAY_ATTACH</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">透传字段,创建成功和查询接口会原样返回</td>
</tr>
<tr>
<td style="text-align: left;">PaymentParam.PAY_PRODUCT_LIST</td>
<td style="text-align: left;">JsonArray</td>
<td style="text-align: left;">商品信息列表 (一笔订单可能包含多个商品,详情见接入文档 )</td>
</tr>
<tr>
<td style="text-align: left;">PaymentParam.PAY_PRODUCT_ID</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">道具ID</td>
</tr>
<tr>
<td style="text-align: left;">PaymentParam.PAY_QUANTITY</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">购买数量</td>
</tr>
<tr>
<td style="text-align: left;">PaymentParam.PAY_IDENTIFY</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">支付标识,由乐逗微服务控制台分配,Google支付:GOOGLE</td>
</tr>
</tbody>
</table>
<p><strong>注意:PaymentParam.PAY_PLAYER_ID 建议接入者如果接入了乐逗登录,务必传入openid或者playerid或者游戏用户的唯一标识;如果没有接入乐逗登录模块,可以自定义一个唯一用户标识</strong></p>
<p><strong>extral</strong> 定义:
支付时,将随机数作为 [extral ]传入, [extral ]需要和支付的道具进行绑定,保存在本地数据库
收到[事件回调处理-支付成功通知] 的时候,需要通过RSA解密,获得 [extral],通过 [extral] 去本地数据库查询后,再下发道具。并进行 <a href="#jump_consume">订单消费结果上报</a></p>
<p><strong>回调声明:</strong></p>
<p>MSLDPayCallback 定义</p>
<pre><code class="language-java">void onComplete();
void onCancel();
void onFail(int code, String msg);</code></pre>
<p><strong>回调参数说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>状态详情</td>
</tr>
</tbody>
</table>
<p><strong>示例:</strong></p>
<pre><code class="language-java">HashMap<String, Object> map = new HashMap<String, Object>();
// 商品支付 直接传入价格
map.put(PaymentParam.PAY_PLAYER_ID, "300012345");
map.put(PaymentParam.PAY_MCH_ORDER_NO, "123456");
map.put(PaymentParam.PAY_PRODUCT_DES, "平台支付描述");
map.put(PaymentParam.PAY_SUBJECT, "平台支付订单标题");
map.put(PaymentParam.PAY_PRICE, "6");
map.put(PaymentParam.PAY_ATTACH, "透传信息");
// 平台支付 平台需配置道具文件 可传入多个道具
map.put(PaymentParam.PAY_PLAYER_ID, "300012345");
// cp自己的订单号,如果没有就不用填写
map.put(PaymentParam.PAY_MCH_ORDER_NO, "123456");
map.put(PaymentParam.PAY_PRODUCT_DES, "平台支付描述");
map.put(PaymentParam.PAY_SUBJECT, "平台支付订单标题");
map.put(PaymentParam.PAY_ATTACH, "透传信息");
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty(PaymentParam.PAY_PRODUCT_ID, "laimo_product");
jsonObject.addProperty(PaymentParam.PAY_QUANTITY, 1);
JsonArray jsonArray = new JsonArray();
jsonArray.add(jsonObject);
map.put(PaymentParam.PAY_PRODUCT_LIST, jsonArray.toString());
// 支付标识,由乐逗微服务控制台分配, Google支付:GOOGLE
map.put(PaymentParam.PAY_IDENTIFY, "GOOGLE");
MSLDSDK.action(this, PaymentPath.ROUTE_PAY_BY_METHOD_ID, map, new
MSLDPayCallback() {
@Override
public void onComplete() {
show("支付完成");
}
@Override
public void onCancel() {
show("支付取消");
}
@Override
public void onFail(int code, String msg) {
show(msg);
}
});</code></pre>