<?php
// php 获取沙盒sandbox_signkey
header("Content-type: text/xml");
include_once "./application/vendor/wechat/pay/WxMp.Config.php";
$config = new \WxMpConfig();
//include_once "./application/vendor/wechat/pay/WxPay.Config.php";
//$config = new \WxPayConfig();
$mch_id = $config->GetMerchantId();
$nonce_str = getNonceStr();
$key = $config->GetKey();
$sign = strtoupper(md5( "mch_id=".$mch_id."&nonce_str=".$nonce_str."&key=".$key ));
$xml = "<xml><mch_id>{$mch_id}</mch_id><nonce_str>{$nonce_str}</nonce_str><sign>{$sign}</sign></xml>";
$url = "https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey";
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $xml);
$response = curl_exec($ch);
if(curl_errno($ch)){
exit('Curl error: ' . curl_error($ch));
}
curl_close($ch);
echo $response;
function getNonceStr($length = 32)
{
$chars = "abcdefghijklmnopqrstuvwxyz0123456789";
$str ="";
for ( $i = 0; $i < $length; $i++ ) {
$str .= substr($chars, mt_rand(0, strlen($chars)-1), 1);
}
return $str;
}