简单记载一下实现微信支付的历程
认认真真看文档!
认认真真看文档!
认认真真看文档!
重要的事情说三遍!
1.统一下单地址
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1
2.调起支付地址
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
看完这两个地址的文档基本实现微信支付了
接下来就是上代码啦
第一步
按照统一下单文档要求,把需要的参数都获取到
第二步,组装签名数据
//签名步骤一:按字典序排序参数
ksort($data);
$string = ToUrlParams($data);
//签名步骤二:在string后加入KEY
$string = $string . "&key=".$key;
//签名步骤三:MD5加密 转大写
$sign = strtoupper(MD5($string));
$data['sign'] = $sign;
$post_data = ToXml($data);
$dataxml = postXmlCurl($post_data, $url);
$objectxml = xmlToArray($dataxml);
函数部分
/**
* 格式化参数格式化成url参数
*/
function ToUrlParams($values)
{
$buff = "";
foreach ($values as $k => $v)
{
if($k != "sign" && $v != "" && !is_array($v)){
$buff .= $k . "=" . $v . "&";
}
}
$buff = trim($buff, "&");
return $buff;
}
/**
* 输出xml字符
* @throws WxPayException
**/
function ToXml($values)
{
if(!is_array($values)
|| count($values) <= 0)
{
throw new WxPayException("数组数据异常!");
}
$xml = "<xml>";
foreach ($values as $key=