微信支付—使用授權碼獲取用戶的openid(PHP)
博客說明
文章所涉及的資料來自互聯網整理和個人總結,意在於個人學習和經驗彙總,如有什麼地方侵權,請聯繫本人刪除,謝謝!
說明
有一個業務需求是通過掃碼槍付款,然後獲取微信小程序的用戶的openid,以便後面的活動開展
這是一種靜默的授權
限制
通過授權碼查詢公衆號Openid,調用查詢後,該授權碼只能由此商戶號發起扣款,直至授權碼更新。
如果子商戶號沒有綁定appid,只返回openid
如果子商戶號綁定一個appid,入參sub_appid非必傳,返回openid和sub_openid
如果子商戶號綁定多個appid,入參sub_appid必傳,返回openid和sub_openid
注意傳入的參數
代碼
使用的是PHP的demo,框架是TP5.1
namespace app\admin\service;
use think\facade\Env;
require Env::get('root_path'). "extend/WxPay/WxPay.Api.php";
class GetOpenid
{
public function getOpenid($data){
$WxOrderData = new \WxPayMicroPay();
$WxOrderData->SetSub_Mch_id($data['sub_mch_id']);
$WxOrderData->SetSubAppid(config('base.app_id'));
$WxOrderData->SetAuth_code($data['auth_code']);
$wxOrder = \WxPayApi::getopenid($WxOrderData);
return $wxOrder;
}
}
其實大部分的都已經封裝好啦
結果
萬能的網絡
以及勤勞的自己