亚洲必赢手机入口_亚洲必赢官网_www.633.net

APP 亚洲必赢手机入口


APP亚洲必赢手机入口功能 ,简单的封装到函数中

开发环境 

window 

ThinkPHP5 

phpStudy


1 下载demo 

2 引入核心文件

ini_set('date.timezone', 'Asia/Shanghai');
Loader::import('paywx.lib.WxPay', EXTEND_PATH, '.Api.htmp');

3 函数

public static function getParam($subject,$out_trade_no,$total_amount){
   $input = new \WxPayUnifiedOrder();
   $input->SetBody($subject);
   $input->SetOut_trade_no($out_trade_no);
   $input->SetTotal_fee($total_amount * 100);
   $input->SetNotify_url(config('wxpay.pay_back_url'));
   $input->SetTrade_type("APP");
   $wxOrder = \WxPayApi::unifiedOrder($input);
   if ($wxOrder['return_code'] != 'SUCCESS' ||
       $wxOrder['result_code'] != 'SUCCESS'
   )
   {
       Log::record($wxOrder, 'error');
       Log::record('获取预支付订单失败', 'error');
   }

   $signature = self::sign($wxOrder);
   return $signature;
}


/**
* 生成签名
* @param $wxOrder
* @return array
*/
private static function sign($wxOrder)
{
   $jsApiPayData = new \WxPayJsApiPay();
   $jsApiPayData->SetAppid($wxOrder['appid']);
   $jsApiPayData->SetTimeStamp((string)time());

   $rand = md5(time() . mt_rand(0, 1000));
   $jsApiPayData->SetNonceStr($rand);

   $jsApiPayData->SetPackage('prepay_id='.$wxOrder['prepay_id']);
   $jsApiPayData->SetSignType('md5');

   $sign = $jsApiPayData->MakeSign();
   $rawValues = $jsApiPayData->GetValues();
   $rawValues['paySign'] = $sign;

   unset($rawValues['appId']);

   return $rawValues;
}


来源: up61技术博客 欢迎分享 (QQ:529857614)

qq交流群:63739043 up61博客-php交流群

上一篇: ThinkCMF 配置到服务器 一直返回500
下一篇: 怎么取消mac的输入自动提示



Baidu
sogou