cocos-creator使用记录35_开通微信小游戏虚拟支付

本文档详细记录了在cocos-creator中开通并实现微信小游戏虚拟支付的步骤,包括开通前提、所需参数和代码实现。重点介绍了支付流程、获取access_token、扣游戏币的接口调用以及相关加密算法的使用。
摘要由CSDN通过智能技术生成


1.前言
https://developers.weixin.qq.com/minigame/dev/tutorial/open-ability/payment.html
开通虚拟支付的前提:你注册的微信公众平台账号的主体是公司。
若是你注册的是个人账号,则不能更改。

开通成功会获得如下参数:
offerid、secret、

代码中需要的参数:
appid、appsecret、
access_token、      
openid、session_key

2.代码
common.js---------------
appid: "wx11111111",
appsecret: "abcdefg",
offerid: "123456789", //在米大师中申请的应用id
url:{
    path4: "https://api.weixin.qq.com/", //扣游戏币url
    pay1: "cgi-bin/midas/pay",  //扣游戏币
    pay2: "cgi-bin/midas/sandbox/pay", //扣游戏币测试
},
userLoginData: {}, //用户信息(nickName,avatarUrl,gender,time第1次进入游戏时间,openId,sessionKey)
httpRequest: function(url, data, call = function(){}, sync = false, method = 'POST', json = false){ //默认'POST',根据情况设置为'GET'
    if(!(cc.sys.platform === cc.sys.WECHAT_GAME)) return;
    if(json){
        wx.request({
            url: url,
            data: data,
            method: method || "POST",
            header: {'content-type': 'application/json'},
            success(res){call(res);},
            fail(){call();}
        });
    }else{
        wx.request({
            url: url,
            data: data,
            method: method || "POST",
            header: {'content-type': 'application/x-www-form-urlencoded'},
            success(res){call(res);},
            fail(){call();}
        });
    }
},

shop.js---------------
var sha256 = require('sha256');

onBuyBtn: function(event, index){ //购买按钮
    this.playBtnSound();
    var self = this;
    if(cc.sys.platform === cc.sys.OS_ANDROID){ //android平台
        var moneyList = [1, 6, 12];
        //虚拟支付的流程:支付、扣游戏币(需要access_token、openid、session_key)
        wx.requestMidasPayment({
            mode: 'game',
            offerId: '', //在米大师侧申请的应用 id
            buyQuantity: 10 * moneyList[index - 1],
            zoneId: 1,
            env: 1, //0米大师正式环境,1米大师沙箱环境
            currencyType: CNY,
            platform: android,
            success() { // 支付成功
                console.log("支付成功!" + moneyList[index - 1] + "元");
                //获得access_token
                common.httpRequest("https://api.weixin.qq.com/cgi-bin/token",
                    {
                        grant_type: client_credential,
                        appid: common.appid,
                        secret: common.appsecret
                    },
                    function(data){
                        console.log("获得access_token成功:", data);
                        var accessToken = data.data.data.access_token;
                        //扣游戏币
                        var now = Date.now();
                        var billNum = common.app_name + "_" + now + "_" + Math.floor(Math.random() * (titleList.length - 1 + 1) + 1);
                        var stringA = "appid=" + common.appid + "&offer_id=" + common.offerid + "&openid=" + common.userLoginData.openId + "pf=android&ts=" + now + "&zone_id=1";
                        var stringB = stringA + "&org_loc=/" + common.url.pay2 + "&method=POST&secret=" + common.paySecret;
                        var sigStr = sha256.hex_hmac_sha256(common.paySecret, stringB);
                  

Cocos Creator是一款流行的游戏开发引擎,它提供了方便的工具和功能,可以帮助开发者在多个平台上创建游戏,包括微信小游戏平台。 接入微信小游戏的步骤如下: 1. 准备工作: - 确保你已经安装并配置好了Cocos Creator开发环境。 - 在微信公众平台上注册一个小程序账号,并获取到小程序的AppID。 2. 创建项目: - 打开Cocos Creator,选择新建项目,并选择微信小游戏项目模板。 - 配置项目信息,包括项目名称、路径等。 3. 项目设置: - 在项目设置中,选择微信小游戏平台,并填写小程序的AppID。 - 根据需要配置其他相关设置,如屏幕适配、引擎版本等。 4. 开发游戏: - 使用Cocos Creator提供的编辑器和工具进行游戏开发。 - 可以使用JavaScript或TypeScript编写代码,创建场景、精灵、动画等。 5. 调试与预览: - 在Cocos Creator中,可以选择微信小游戏平台进行调试和预览。 - 在微信开发者工具中,导入Cocos Creator生成的小游戏项目,并进行调试、预览和测试。 6. 发布与上线: - 在Cocos Creator中,选择发布小游戏,并按照提示进行配置和打包。 - 将生成的小游戏包上传至微信开放平台,并进行审核和发布。 以上是接入微信小游戏的基本步骤,具体的细节和操作步骤可以参考Cocos Creator的官方文档和微信小游戏的开发文档,以获得更详细的指导。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值