pay.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. // 华为创建订单
  3. //
  4. include_once __DIR__ . '/../../../main.php'; # 导入game utils
  5. include_once __DIR__ . '/../Mo/resp.php'; # 导入通用返回值结构
  6. include_once __DIR__ . '/../Mo/payRequest.php'; # 导入通用订单请求结构
  7. require_once 'config.huawei.php'; # 配置文件,
  8. use loyalsoft\CLog;
  9. use loyalsoft\JsonUtil;
  10. use loyalsoft\HttpUtil;
  11. $str = HttpUtil::getQueryString(); # 取参数
  12. // $str = gzinflate($str);
  13. $data = JsonUtil::decode($str);
  14. $req = new PayRequest($data); # 解析参数并创建订单
  15. $cfg = config_for_huawei::Inst();
  16. $payReq = array(
  17. "productName" => $req->product_name,
  18. "productDesc" => $data->product_desc, // 产品描述
  19. "merchantId" => $cfg->pay_appid,
  20. "applicationID" => $cfg->appid,
  21. "amount" => $req->amount,
  22. "requestId" => $req->cpOrderId,
  23. "country" => 'CN',
  24. "currency" => 'CNY',
  25. "sdkChannel" => '1',
  26. "urlver" => '2',
  27. // "merchantName" => '龙游科技有限公司', // 不参与签名
  28. // "serviceCatalog" => 'X6', // 不参与签名
  29. // "extReserved" => $req->callbackInfo, // 不参与签名
  30. "url" => $req->notifyUrl,
  31. );
  32. $sign = $cfg->paySign($payReq);
  33. if ($req->InserDataBase()) { # 订单数据入库
  34. CLog::pay('[华为.pay]创建订单' . $req);
  35. $arr = $req->retData();
  36. $arr['sign'] = $sign;
  37. // var_dump($arr);
  38. echo Resp::ok($arr); # 返回值
  39. } else {
  40. CLog::pay('[华为.pay]创建订单失败' . $req);
  41. echo Resp::err(1, '创建订单失败'); # 返回值
  42. }