微信支付api真的是各种坑啊
今天一整天都在折腾微信支付jsapi的参数不能通过get,post方式获取的问题!!
微信网页支付在用户点击发起支付前的流程:
问题:用户h5页面输入的参数通过post 或者get的方式传递到商户后台,商户后台无法处理用户传入的参数,并生成商户订单。
原因:在创建商户订单时,需要获取到用户的openid
//①、获取用户openid
$tools = new JsApiPay();
$openId = $tools->GetOpenid();
public function GetOpenid()
{
//通过code获得openid
if (!isset($_GET['code'])){
//触发微信返回code码
$baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].$_SERVER['QUERY_STRING']);
$url = $this->__CreateOauthUrlForCode($baseUrl);
Header("Location: $url");
exit();
} else {
//获取code码,以获取openid