As e-commerce continues to evolve, live shopping within WeChat Mini Programs has become a major focus for many merchants. This feature allows users to watch live streams while making purchases directly in the app, significantly improving conversion rates. In this article, we’ll explore how to develop the live shopping functionality using PHP, including fetching live room and product data through WeChat APIs.
Before diving into PHP development, ensure the following prerequisites are met:
You have a registered WeChat Mini Program account and obtained your AppID.
The live streaming feature is enabled, and you have access to a live room ID.
PHP environment is installed locally, recommended version 7.0 or above.
Below is a PHP script that interacts with WeChat’s API to retrieve the list of available live rooms associated with the Mini Program:
$appid = "your_appid"; // Mini Program AppID $appsecret = "your_appsecret"; // Mini Program AppSecret $accessToken = ""; // Function to get access_token function getAccessToken($appid, $appsecret) { global $accessToken; $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}"; $response = file_get_contents($url); $result = json_decode($response, true); $accessToken = $result["access_token"]; } // Function to get live room list function getLiveRooms() { global $accessToken; $url = "https://api.weixin.qq.com/wxa/business/getliveinfo?access_token={$accessToken}"; $response = file_get_contents($url); $result = json_decode($response, true); return $result; } // Get live room data getAccessToken($appid, $appsecret); $liveRooms = getLiveRooms(); // Display live room information foreach ($liveRooms["room_info"] as $room) { echo "Room ID: {$room["roomid"]}\n"; echo "Room Title: {$room["name"]}\n"; echo "Cover Image: {$room["cover_img"]}\n"; }
The getAccessToken function retrieves the API token, while getLiveRooms fetches the list of live rooms using that token.
To display products during the livestream, you need to retrieve product data for a specific live room. Here's the code to accomplish that:
$appid = "your_appid"; $appsecret = "your_appsecret"; $accessToken = ""; // Get access_token function getAccessToken($appid, $appsecret) { global $accessToken; $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}"; $response = file_get_contents($url); $result = json_decode($response, true); $accessToken = $result["access_token"]; } // Get live room product list function getLiveGoods($roomId) { global $accessToken; $url = "https://api.weixin.qq.com/wxaapi/broadcast/room/getgoodslist?access_token={$accessToken}"; $data = [ "roomId" => $roomId ]; $options = [ "http" => [ "method" => "POST", "header" => "Content-type: application/json", "content" => json_encode($data) ] ]; $context = stream_context_create($options); $response = file_get_contents($url, false, $context); $result = json_decode($response, true); return $result; } // Get data getAccessToken($appid, $appsecret); $roomId = "your_roomid"; // Replace with actual room ID $liveGoods = getLiveGoods($roomId); // Display product information foreach ($liveGoods["goods_info"] as $goods) { echo "Product ID: {$goods["goods_id"]}\n"; echo "Product Title: {$goods["name"]}\n"; echo "Cover Image: {$goods["cover_img"]}\n"; echo "Price: {$goods["price"]}\n"; }
This script sends a POST request to the getgoodslist endpoint with the room ID and displays each product's ID, title, cover image, and price.
With the code examples above, you've learned how to implement core features of WeChat Mini Program live shopping using PHP. You can build on this foundation to add more features and integrate front-end components for a better user experience. As live commerce continues to rise, this functionality provides significant value for e-commerce platforms. Hopefully, this guide helps accelerate your project development.