PHP app 喚起微信支付 獲取鏈結 專案例項

2021-08-15 21:27:08 字數 2491 閱讀 2464

public function weixin_params_data()

$wxpayconfig = array(

'mchid'=>'123456',

'key'=>'key',

);$out_trade_no = $data['out_trade_no'];  //訂單號

//訂單名稱,必填

//付款金額,必填

$total_amount = 1*100; //一分     *100

//商品描述,可空

$body = $oid_body;//trim($_post['widbody']);

$_data_pay['mch_id'] = $wxpayconfig['mchid']; //商戶號

$_data_pay['nonce_str'] = md5(rand(100000,999999)); //隨機字串

$_data_pay['sign_type'] = 'md5'; //簽名型別

$_data_pay['body'] = ''.$body; //商品描述

$_data_pay['attach'] = $_type; //附加資料

$_data_pay['out_trade_no'] = $out_trade_no; //商戶訂單號

$_data_pay['fee_type'] = 'cny'; //貨幣型別

$_data_pay['total_fee'] = $total_amount; //總金額

$_data_pay['spbill_create_ip'] = $data['ip']; //終端ip

$_data_pay['notify_url'] = $return_url; //通知位址

$_data_pay['sign'] = $this->get_weixin_sign($_data_pay,$wxpayconfig['key']); //簽名

$xml = "";

foreach ($_data_pay as $key=>$val)

else

}$xml.="";

// $json['xml'] = $xml;

$url = '';

$ch = curl_init();

//設定超時

curl_setopt($ch, curlopt_timeout, 30);

curl_setopt($ch,curlopt_url, $url);

curl_setopt($ch,curlopt_ssl_verifypeer,true);

curl_setopt($ch,curlopt_ssl_verifyhost,2);//嚴格校驗

//設定header

curl_setopt($ch, curlopt_header, false);

//要求結果為字串且輸出到螢幕上

curl_setopt($ch, curlopt_returntransfer, true);

//post提交方式

curl_setopt($ch, curlopt_post, true);

curl_setopt($ch, curlopt_postfields, $xml);

//執行curl

$data = curl_exec($ch);

//返回結果

if($data)

} else

// $json_data['msg'] = '1';

// $json_data['state'] = '1';

$json_data['partnerid'] = $wxpayconfig['mchid']; //商戶號

$json_data['prepayid'] = $prepay_id;

$json_data['package'] = 'sign=wxpay';

$json_data['noncestr'] = $_data_pay['nonce_str'];

$json_data['timestamp'] = time();

$json_data['sign'] = $this->get_weixin_sign($json_data,$wxpayconfig['key']);

$_json['msg']= '1';

$_json['state']= '1';

$_json['data']= $json_data;

echo json_encode($_json);exit;

}private function get_weixin_sign($data,$key)

}$buff = trim($buff, "&") . "&key=".$key;

$string = md5($buff);

//簽名步驟四:所有字元轉為大寫

$result = strtoupper($string);

return $result;

}//非同步通知位址

public function notify_weixin()

}

PHP APP端微信支付

1.我封裝好的乙個支付類檔案,多餘的東西都去除掉了,並且把配置引數放到了這個支付類中,只需要修改weixinpayandroid方法內的幾個引數就可以直接複製使用 class wxpayandroid else 介面輸出 function echoresult errorcode 0,errorms...

微信支付 微信JSAPI支付

pay.php baby extend wx pay.php namespace wx class pay 通過redirecturi獲取授權資訊 return mixed public function getauthinfo 通過code換取網頁授權資訊 res this curlgetreq ...

python微信支付 微信支付 python版

需求 說明坑 簽名校驗通過時還是提示簽名錯誤,可能時候商戶號key配置的問題了,重置一下key,你可以繼續使用原來的key來重置 需要的id和key wpc 複製 流程簡介 那麼開發思路便是一步步回朔了.1.獲取code buy click function 複製 2.獲取openid classm...