查看: 83|回复: 0

扣丁学堂PHP培训之PHP实现APP微信支付的实例讲解

发表于 2018-8-2 11:40:09

如今大家用微信支付已经是很常见的事情了,本篇文章扣丁学堂PHP培训小编主要是和大家分享一下PHP实现APP微信支付的实例,想要学习或了解该功能的小伙伴就随小编一起来看一下吧。


一、PHP后台后台生成预支付交易单,返回正确的预支付交易回话标识后再在APP里面调起支付!
1、根据文档拼接微信需要的参数,这里需要几个方法,直接上代码。
传输给微信的参数要组装成xml格式发送,传如参数数组!
public function ToXml($data=array())
{
if(!is_array($data) || count($data) <= 0)
{
  return '数组异常';
}
$xml = "<xml>";
foreach ($data as $key=>$val)
{
  if (is_numeric($val)){
  $xml.="<".$key.">".$val."</".$key.">";
  }else{
  $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
  }
}
$xml.="</xml>";
return $xml;
}
2、生成随机字符串,微信所需参数! 这里方法很多,看自己爱好都行。
function rand_code(){
$str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';//62个字符
$str = str_shuffle($str);
$str = substr($str,0,32);
return $str;
}
3、这里是微信比较重要的一步了,这个方法会多次用到!生成签名。
private function getSign($params) {
ksort($params); //将参数数组按照参数名ASCII码从小到大排序
foreach ($params as $key => $item) {
  if (!empty($item)) {  //剔除参数值为空的参数
  $newArr[] = $key.'='.$item; // 整合新的参数数组
  }
}
$stringA = implode("&", $newArr);  //使用 & 符号连接参数
$stringSignTemp = $stringA."&key="."************************"; //拼接key
// key是在商户平台API安全里自己设置的
$stringSignTemp = MD5($stringSignTemp); //将字符串进行MD5加密
$sign = strtoupper($stringSignTemp); //将所有字符转换为大写
return $sign;
}
以上就是扣丁学堂PHP培训小编给大家分享的PHP实现APP微信支付的实例讲解,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。扣丁学堂不仅有专业的PHP培训班供大家报名学习,还有大量的PHP视频教程供学员观看学习,想要学好php开发技术的小伙伴快到扣丁学堂报名学习吧。扣丁学堂PHP技术交流群:374332265。

文章转载自:扣丁学堂http://www.codingke.com/


回复

使用道具 举报