验证Huawei Play 的付费状态

最近公司的游戏 要推放华为海外版本,这个单独的版本只能用华为支付,不能使用Google 与 Ios 所以...

其实华为 的验证和 支付宝与 微信 非常接近,都是通过 回调的地址就可以了

前两天做了 IOS 的验证,由于领导不给我账号进去 看能不能调用回调地址,所以只能请求IOS的通用API进行验证

Google Pay 几个月就做了验证,是通过拿google pay 里生成的json 文件进行验证

``` $order_id 后台生成唯一订单ID $paytype 1=华为支付 2 ... (为接别的支付做的扩展字段)

/**
 * 支付回调接口
 * @return string;
 */
public function notify(){
    @ob_clean();        //清空输出缓存,防止之前有输出

    $paytype = $this->request->param('id',0,'int');  // 接收支付类型
    $order_id = $this->request->param('order',0);  // 接收支付订单

    if(!$paytype)
        return false;

    $data = $_POST;     //接收的数据

    $pay_data = [];
    $status = '';
    // 签名验证
    if($paytype == 1){
        // 华为验证
        $status = HuaweiPay::verifyNotify($data);
        }

} 主要验证方法: $value) { if($key != "sign" && $key != "signType") { $content .= ($i == 0 ? '' : '&').$key.'='.$value; } $i++; } $filename = dirname(FILE)."/payPublicKey.pem";

if(!file_exists($filename))
        return false;

    $pubKey = @file_get_contents($filename);
    $openssl_public_key = @openssl_get_publickey($pubKey);
    $ok = @openssl_verify($content,base64_decode($sign), $openssl_public_key, 'SHA256');
    @openssl_free_key($openssl_public_key);

    $result = "";

    if($ok)
    {
        return true;
    }

    return false;
}

} ```

华为支付相关文档:https://developer.huawei.com/consumer/cn/service/hms/catalog/huaweiiapoversea.html?page=hmssdkhuaweiiapapireferenceoverseas1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值