增加docke部署
This commit is contained in:
79
codes/agent/game-docker/api/payment/wechat/WxPay.AppPay.php
Normal file
79
codes/agent/game-docker/api/payment/wechat/WxPay.AppPay.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . "/lib/WxPay.Api.php";
|
||||
|
||||
/**
|
||||
*
|
||||
* APP支付实现类
|
||||
* @author widyhu
|
||||
*
|
||||
*/
|
||||
class AppPay
|
||||
{
|
||||
/**
|
||||
*
|
||||
* 参数数组转换为url参数
|
||||
* @param array $urlObj
|
||||
*/
|
||||
private function ToUrlParams($urlObj)
|
||||
{
|
||||
$buff = "";
|
||||
foreach ($urlObj as $k => $v)
|
||||
{
|
||||
$buff .= $k . "=" . $v . "&";
|
||||
}
|
||||
|
||||
$buff = trim($buff, "&");
|
||||
return $buff;
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成直接支付url,支付url有效期为2小时,模式二
|
||||
* @param WxPayUnifiedOrder $input
|
||||
* @param array $wechatInfo
|
||||
* @return array
|
||||
* @throws WxPayException
|
||||
*/
|
||||
public function GetPayPrepayId($input, $wechatInfo)
|
||||
{
|
||||
if ($input->GetTrade_type() == "APP")
|
||||
{
|
||||
$result = WxPayApi::unifiedOrder($input, 6, $wechatInfo);
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* 获取app支付的参数
|
||||
* @param array $UnifiedOrderResult 统一支付接口返回的数据
|
||||
* @param array $weixinInfo 微信公众号相关信息
|
||||
* @throws WxPayException
|
||||
*
|
||||
* @return string json数据,可直接填入js函数作为参数
|
||||
*/
|
||||
public function GetAppApiParameters($UnifiedOrderResult, $weixinInfo)
|
||||
{
|
||||
if(!array_key_exists("appid", $UnifiedOrderResult)
|
||||
|| !array_key_exists("prepay_id", $UnifiedOrderResult)
|
||||
|| $UnifiedOrderResult['prepay_id'] == "")
|
||||
{
|
||||
throw new WxPayException("参数错误");
|
||||
}
|
||||
|
||||
$appapi = new WxPayAppApiPay();
|
||||
$appapi->SetAppid($UnifiedOrderResult["appid"]);
|
||||
$appapi->SetPartnerId($UnifiedOrderResult["mch_id"]);
|
||||
$appapi->SetPrepayId($UnifiedOrderResult["prepay_id"]);
|
||||
$timeStamp = time();
|
||||
$appapi->SetTimeStamp($timeStamp);
|
||||
$appapi->SetNonceStr(WxPayApi::getNonceStr());
|
||||
$appapi->SetPackage("Sign=WXPay");
|
||||
$appapi->SetSign($appapi->MakeSign($weixinInfo));
|
||||
$back_arr=$appapi->GetValues();
|
||||
$back_arr['prepay_id']=$UnifiedOrderResult["prepay_id"];
|
||||
$parameters = json_encode($appapi->GetValues());
|
||||
return $parameters;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user