华为快应用(2)-本地接入支付

本文介绍了如何在没有服务器支持的情况下,使用华为快应用(基于cocos creator 2.0.7)接入本地支付服务。详细步骤包括:构造源串、使用ksort算法排序、SHA256withRSA算法签名、base64编码签名值,并调用华为的hbs.hwPay()方法进行支付。回调处理中获取requestId以完成支付流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的快游戏基于cocos creator 2.0.7。

首先华为的支付流程是这样的:https://developer.huawei.com/consumer/cn/service/hms/catalog/fastgameRuntime.html?page=fastapp_fastgameRuntime_devguide_open_ability#%E6%8E%A5%E5%85%A5%E6%94%AF%E4%BB%98%E6%9C%8D%E5%8A%A1

首先我的游戏是单机游戏,没有服务器的支持。所以只能把签名算法写在本地,首先写好自己的订单信息,然后必须参与签名的字段先构造源串。在orderInfo参数中,在你的订单信息中必填的字段中选择参与签名的信息,提取出来,使用它们构造源串。例如字段url参与订单信息非必填,但是参与签名。只要你的订单信息中没有出现url,签名就可以不包含字段url。

第一步提取出的参数先构造源串。使用一个ksort算法,根据键值的ASCII码增序排序。我是在网上百度搜到的方法,拷过来单独写一个类,模块化。用到的时候调用就可以。

var SignScript ={

    ksort(inputArr, sort_flags) {
        //  discuss at: http://phpjs.org/functions/ksort/
        // original by: GeekFG (http://geekfg.blogspot.com)
        // improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
        // improved by: Brett Zamir (http://brett-zamir.me)
        //        note: The examples are correct, this is a new way
        //        note: This function deviates from PHP in returning a copy of the array instead
        //        note: of acting by reference and returning true; this was necessa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值