12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2016/1/28
- * Time: 16:16
- */
- namespace common\library\Pay;
- use common\library\Apireturn;
- use common\library\Pay\lib\WxPayApi;
- use common\library\Pay\lib\WxPayUnifiedOrder;
- use yii\helpers\Url;
- use Yii;
- class WechatPay
- {
- public function pay($orderInfo)
- {
- $input = new WxPayUnifiedOrder();
- $input->SetBody("豪省心装修网-升级会员");//商品描述 APP——需传入应用市场上的APP名字-实际商品名称,天天爱消除-游戏充值。
- //$input->SetAttach("test");//自定义参数
- $input->SetOut_trade_no($orderInfo->out_trade_no);//内容订单号,使用我们的订单号
- $input->SetAppid(Yii::$app->params['wechatapi']['appidCompany']);//公众账号ID
- $input->SetMch_id(Yii::$app->params['wechat']['mchid']);//商户号
- $input->key = Yii::$app->params['wechat']['key'];
- $input->SetTotal_fee($orderInfo->amount * 100);//付款金额,单位分
- $notify_url =\Yii::$app->request->getHostInfo().Url::toRoute(['pay/wechatnotify']);
- $input->SetNotify_url($notify_url);//回调地址
- $input->SetOpenid($orderInfo->openid);//openid
- $input->SetTrade_type("JSAPI");//支付类型
- $order = WxPayApi::unifiedOrder($input);
- if($order['return_code']!='SUCCESS')
- return Apireturn::sent(0,$order['return_msg'],200);
- return $order;
- }
- static function getSign($data)
- {
- ksort($data);
- $buff = "";
- foreach ($data as $k => $v)
- {
- if($k != "sign" && $v != "" && !is_array($v)){
- $buff .= $k . "=" . $v . "&";
- }
- }
- $buff = trim($buff, "&");
- $string = $buff . "&key=".Yii::$app->params['wechat']['key'];
- //签名步骤三:MD5加密
- $string = md5($string);
- //签名步骤四:所有字符转为大写
- $result = strtoupper($string);
- return $result;
- }
- }
|