<?php

// 华为创建订单
//
include_once __DIR__ . '/../../../main.php';             # 导入game utils
include_once __DIR__ . '/../Mo/resp.php';                # 导入通用返回值结构
include_once __DIR__ . '/../Mo/payRequest.php';          # 导入通用订单请求结构
require_once 'config.huawei.php';                        # 配置文件,

use loyalsoft\CLog;
use loyalsoft\JsonUtil;
use loyalsoft\HttpUtil;

$str = HttpUtil::getQueryString();                       # 取参数
//    $str = gzinflate($str);
$data = JsonUtil::decode($str);
$req = new PayRequest($data);                            # 解析参数并创建订单
$cfg = config_for_huawei::Inst();

$payReq = array(
    "productName" => $req->product_name,
    "productDesc" => $data->product_desc, // 产品描述
    "merchantId" => $cfg->pay_appid,
    "applicationID" => $cfg->appid,
    "amount" => $req->amount,
    "requestId" => $req->cpOrderId,
    "country" => 'CN',
    "currency" => 'CNY',
    "sdkChannel" => '1',
    "urlver" => '2',
//    "merchantName" => '龙游科技有限公司',  // 不参与签名
//    "serviceCatalog" => 'X6',            // 不参与签名
//    "extReserved" => $req->callbackInfo, // 不参与签名
    "url" => $req->notifyUrl,
);
$sign = $cfg->paySign($payReq);

if ($req->InserDataBase()) {                             # 订单数据入库
    CLog::pay('[华为.pay]创建订单' . $req);
    $arr = $req->retData();
    $arr['sign'] = $sign;
//    var_dump($arr);
    echo Resp::ok($arr);                # 返回值
} else {
    CLog::pay('[华为.pay]创建订单失败' . $req);
    echo Resp::err(1, '创建订单失败');                     # 返回值
}