A powerful, lightweight, and developer-friendly Shopee API PHP SDK designed to integrate Shopee Open Platform v2 into vanilla PHP applications, Laravel, or Symfony projects.
Easily manage Shopee OAuth2 authentication, automate access token generation, sync products, and fetch orders with minimal configuration.
Install the Shopee PHP Client via Composer:
composer require ecomphp/shopee-phpInitialize the Shopee Client using your partner credentials provided by the Shopee Open Platform Console:
use EcomPHP\Shopee\Client;
$partner_id = 'your_partner_id_here';
$partner_key = 'your_partner_key_here';
$client = new Client($partner_id, $partner_key);The SDK provides a dedicated Auth class to seamlessly handle Shopee's OAuth2 login mechanism, access tokens, and refresh tokens.
$auth = $client->auth();Generate the authorization redirect URL for the shop owner to grant permissions:
$redirect_uri = 'http://your-redirect-url.com';
// Returns the Shopee authentication URL instead of auto-redirecting
$authUrl = $auth->createAuthRequest($redirect_uri, true);
// Redirect user to Shopee Authorization page
header('Location: ' . $authUrl);
exit;Once authorized, Shopee redirects the user back to your Redirect URI with an authorization code. Exchange it for your API tokens:
$authorization_code = $_GET['code'];
$shop_id = $_GET['shop_id'];
// Exchange code for Access Token & Refresh Token
$token = $auth->getToken($authorization_code, $shop_id);
$access_token = $token['access_token'];
$refresh_token = $token['refresh_token'];
// IMPORTANT: Save your access_token, refresh_token & shop_id to your database for later useTo make authorized calls on behalf of a specific shop, attach the token to your client instance:
$access_token = 'your_stored_access_token';
$shop_id = 'your_stored_shop_id';
$client->setAccessToken($shop_id, $access_token);Shopee access tokens expire quickly. Automate token renewal using your persistent refresh_token:
$new_token = $auth->refreshNewToken($refresh_token, $shop_id);
$new_access_token = $new_token['access_token'];
$new_refresh_token = $new_token['refresh_token'];Note: A valid
access_tokenandshop_idare required to interact with store-level data.
Fetch product details and stock information from your store. Refer to the official Shopee Product API Document.
$products = $client->Product->getItemList([
'offset' => 0,
'page_size' => 50,
'item_status' => 'NORMAL',
]);Retrieve recent sales and pending orders. Refer to the official Shopee Order API Document.
$orders = $client->Order->getOrderList([
'order_status' => 'READY_TO_SHIP',
'page_size' => 50,
]);Contributions, feature suggestions, and bug reports for the ecomphp/shopee-php client are highly appreciated. Feel free to open issues or submit Pull Requests!
This project is open-source software licensed under the Apache License 2.0.