接口文档

冰柠乐接口文档


微信/QQ小游戏用户转移文档

<p>[TOC]</p> <h1>1.研发需要提供</h1> <p>H5小游戏链接(通过该链接能直接打开游戏区服选择界面)</p> <h1>2.H5网页端调用</h1> <p>游戏h5页面引入js文件,js会返回SDK实例csdk</p> <pre><code>https://cps.moyangmoyang.com/h5sdk/js/client.mini.js</code></pre> <h1>3.登录</h1> <h2>3.1接口说明</h2> <p>&lt;div style=&quot;background: #9efca6;padding: 12px; border-radius: 8px; color: #000;&quot;&gt;✍玩家登录游戏,登录成功返回openid,sign</p> <p><code> csdk.login </code> &lt;/div&gt;</p> <h2>3.2参数说明</h2> <p>无需传参</p> <h2>3.3示例代码</h2> <pre><code class="language-javascript">csdk.login(function (data) { console.log(data, &amp;#039;内部登录z&amp;#039;) });</code></pre> <h2>3.4接口返回</h2> <pre><code class="language-javascript">// 登录成功,{&amp;quot;openid&amp;quot;:&amp;quot;o7zW95dNJ3ahVNJWBDkUR1fejpt4&amp;quot;,&amp;quot;sign&amp;quot;:&amp;quot;d315ce27454b5d0be22d520bc16b74f6&amp;quot;}</code></pre> <h1>4.网页下单支付</h1> <h2>4.1接口说明</h2> <p>&lt;div style=&quot;background: #9efca6;padding: 12px; border-radius: 8px; color: #000;&quot;&gt;✍小游戏订单提交,生成支付订单并保存,玩家选择支付方式,调支付,游戏发货必须以服务端支付回调为准</p> <p><code> csdk.pay </code> &lt;/div&gt;</p> <h2>4.2参数说明</h2> <p>|参数名|必选|类型|说明| |:----    |:---|:----- |-----   | |goods_name |是  |string |商品名称 由接入方提供 如:元宝  | |pay_amount |是  |int | 支付总金额(元)=单价乘数量, 由接入方提供,整数    | |redirect_uri     |是  |string | 异步通知游戏支付结果地址 由接入方提供   | |extra_info     |是  |string | 额外拓展参数(将在服务端支付回调原样透传),可以为空字符串,a=b&amp;c=d   | |order_sn     |是  |string | 订单编号(游戏的订单号)   | |role_name     |是  |string | 角色名称 由接入方提供   | |server_name     |是  |string | 区服名称   | |goods_identifier     |是  |string | 商品ID   |</p> <h2>4.3示例代码</h2> <p>&lt;div style=&quot;background: #FFE4B5;padding: 12px; border-radius: 8px; color: #000;&quot;&gt;⚠️ <strong>注意</strong> 如果下单接口调用成功,会跳出选择支付方式; 不能再微信环境里面调用。 &lt;/div&gt;</p> <pre><code class="language-javascript">//下单参数 function order() { let pay_data = { pay_amount:0.01, extra_info: &amp;#039;额外参数&amp;#039;, goods_identifier: &amp;#039;moyang&amp;#039;, goods_name: &amp;#039;测试商品&amp;#039;, redirect_uri: &amp;#039;https://test.com/testttt&amp;#039;,//支付回调函数 role_name: &amp;#039;无角色&amp;#039;, server_name: &amp;#039;默认服务器&amp;#039;, order_sn: randomNumber(), } csdk.pay(pay_data,function (orders) { console.log(orders,&amp;#039;orsersssss&amp;#039;) }) }</code></pre> <h1>5.支付成功回调通知(服务端接口)</h1> <h2>5.1接口说明</h2> <p>&lt;div style=&quot;background: #9efca6;padding: 12px; border-radius: 8px; color: #000;&quot;&gt;✍ 1.回调地址在客户端调用支付接口时传入,字段&lt;font color=&quot;red&quot;&gt;redirect_uri&lt;/font&gt;。 2.回调方式为POST(请使用post方式接收回调值),数据提交为表单方式(Content-Type: application/x-www-form-urlencoded) 3.此接口地址由游戏服务方提供,用于接收用户支付结果的接口,控制游戏内发货,2S不响应则超时,做好过滤,防止重复通知 &lt;/div&gt;</p> <h2>5.2回调参数说明(post)</h2> <p>|参数名|说明| |:----   |-----   | |order_sn |订单编号(游戏的订单号)   | |extra_info |透传参数(原样返回,游戏在创建订单时传入,不允许有空格)   | |pay_amount |订单金额(单位:元,double类型,精确到小数点后两位)一定要校验价格 | |pay_status |订单支付状态(1或0;1为成功支付,0为未支付)   | |pay_time |支付时间(若为三方或渠道支付,此时间为平台接收到支付成功时间)   | |uid |用户的唯一id,与客户端的openid字段相同   | |goods_name |小游戏道具名字(商品名字)   | |appid |小游戏appid   | |sign |签名(为了安全,请校验签名)签名规则看回调签名  |</p> <h2>5.3回调签名</h2> <pre><code class="language-javascript">1)去除sign,其他所有POST的参数均参与签名,签名不需要转化大小写 2)参数名进行升序排序后 3)按照key1=val1&amp;amp;key2=val2&amp;amp;key3=val3格式生成源字符串。 4)md5(源字符串+加密secret_key)生成签名sign; key1=val1&amp;amp;key2=val2&amp;amp;key3=val3secret_key 签名示例: 假设现有参数为:{&amp;quot;order_sn&amp;quot;:&amp;quot;1603702733183568507&amp;quot;,&amp;quot;extra_info&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;goods_identifier&amp;quot;:&amp;quot;f4355f16858fc0244ea74ac540581148&amp;quot;,&amp;quot;pay_amount&amp;quot;:&amp;quot;1.00&amp;quot;,&amp;quot;pay_status&amp;quot;:1,&amp;quot;pay_time&amp;quot;:1603702732,&amp;quot;uid&amp;quot;:&amp;quot;09122E14E6DE6E81F493000A15121368&amp;quot;} 密钥为:ibIa4rDIxHnT1uw 参数名排序后拼接的字符串为:extra_info=&amp;amp;goods_identifier=f4355f16858fc0244ea74ac540581148&amp;amp;order_sn=1603702733183568507&amp;amp;pay_amount=1.00&amp;amp;pay_status=1&amp;amp;pay_time=1603702732&amp;amp;uid=09122E14E6DE6E81F493000A15121368ibIa4rDIxHnT1uw Sha1加密为:aa5eff8b0c74764909550daf5e908cbc1fd72ea9 Md5加密为:3762f09a6804ec6aed26955854c6f7ee</code></pre> <h2>5.4回调返回(json)</h2> <pre><code class="language-javascript">1.游戏服务端在收到回调后,返回{&amp;quot;code&amp;quot;:0,&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;}代表游戏发货成功。其他code码,游戏服务端自己定义。 2.可能存在重复通知的情况,如果已经发货成功,也请直接返回{&amp;quot;code&amp;quot;:0,&amp;quot;message&amp;quot;:&amp;quot;success&amp;quot;}。</code></pre>

页面列表

ITEM_HTML