{"id":322935,"date":"2026-09-01T14:45:48","date_gmt":"2026-09-01T14:45:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sideup-eg\/"},"modified":"2026-09-01T15:10:37","modified_gmt":"2026-09-01T15:10:37","slug":"sideup-shipping-egypt","status":"publish","type":"plugin","link":"https:\/\/haz.wordpress.org\/plugins\/sideup-shipping-egypt\/","author":23512099,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.2.0","stable_tag":"2.2.0","tested":"7.0.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"SIDEUP Shipping Egypt","header_author":"SIDEUP","header_description":"Connect your WooCommerce store to your SIDEUP merchant account to create shipments, sync order status, and track deliveries in Egypt.","assets_banners_color":"","last_updated":"2026-09-01 15:10:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/eg.sideup.co\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":58,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"2.0.5":{"tag":"2.0.5","author":"sideupeg","date":"2026-09-01 14:45:12","revision":3676355},"2.2.0":{"tag":"2.2.0","author":"sideupeg","date":"2026-09-01 15:10:37","revision":3676401}},"upgrade_notice":{"2.2.0":"<ul>\n<li>Fixed the Ship button failing with &quot;Order data not found&quot; on stores using High-Performance Order Storage. Every value the shipping dialog needs is now rendered onto the button itself instead of a separate orders array that HPOS left empty.<\/li>\n<li>Fixed order status, tracking number and payment link not showing under HPOS: the plugin now reads and writes order meta through the order object rather than post meta.<\/li>\n<li>Fixed shipments being recorded against the numeric WooCommerce order id instead of the order key, which stopped the status sync from ever matching them. Both identifiers are now sent when syncing, so shipments created by earlier versions stay visible.<\/li>\n<li>Fixed carrier prices never rendering. Pricing now goes through the portal&#039;s WooCommerce pricing branch, which resolves the pickup and destination zones server-side, and prices refresh when the payment method or area changes so the quote matches what is billed.<\/li>\n<li>Fixed credit card orders being priced as cash on delivery.<\/li>\n<li>Requests now send the API key as a Bearer token, as the SIDEUP API expects.<\/li>\n<li>The delivery area can now be picked in the shipping dialog when the order&#039;s address does not match a SIDEUP area, instead of the order being refused.<\/li>\n<li>&quot;Ship with SIDEUP&quot; and &quot;Refresh SIDEUP status&quot; now appear in the orders bulk actions menu on both order screens; neither was previously reachable.<\/li>\n<li>The status sync no longer sends every order in the store on each page load, which timed out on large stores, and no longer clears tracking data when SIDEUP cannot be reached.<\/li>\n<\/ul>","2.1.0":"<p>Delivery areas now come from SIDEUP directly, fixing shipments created without an area and adding the areas that were previously unavailable. Existing orders placed against an area SIDEUP no longer lists must have their area re-selected before they can be shipped.<\/p>","2.0.5":"<p>Minor cleanup to meet WordPress.org plugin guidelines. Update recommended.<\/p>","2.0.4":"<p>Security hardening, proper asset enqueuing, and a new plugin name. Update recommended.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.5","2.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Configure the plugin by adding your API key.","2":"Send the orders you need to ship via sideup.","3":"Keep track of your orders' status."}},"plugin_section":[],"plugin_tags":[282,24676,3546,215922,286],"plugin_category":[45],"plugin_contributors":[278675],"plugin_business_model":[],"class_list":["post-322935","plugin","type-plugin","status-publish","hentry","plugin_tags-ecommerce","plugin_tags-egypt","plugin_tags-shipping","plugin_tags-sideup","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-sideupeg","plugin_committers-sideupeg"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/sideup-shipping-egypt.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>SIDEUP's official extension for WooCommerce on WordPress in Egypt. It connects your WooCommerce store to your SIDEUP account so you can create shipments, sync order status, and track deliveries from inside your WordPress admin.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Easy setup and use.<\/li>\n<li>A well-designed dashboard for your WooCommerce orders.<\/li>\n<li>A full dashboard on our system for all details about your account.<\/li>\n<li>Place your order, print its bill, and track it from the same place.<\/li>\n<li>A dedicated account manager you can contact for any issue, more information, or services.<\/li>\n<li>Built to make your eCommerce experience easier and faster. If you have any suggestions, don't hesitate to contact us.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the SIDEUP shipping service to create and track shipments for your WooCommerce orders. Creating and tracking shipments requires an active SIDEUP merchant account and an API key, which you enter in WooCommerce -&gt; Settings -&gt; Shipping -&gt; SIDEUP.<\/p>\n\n<p>The plugin communicates with the SIDEUP API in three situations:<\/p>\n\n<ol>\n<li><p>Retrieving the list of delivery areas. To offer your customers the areas SIDEUP actually delivers to, the plugin fetches SIDEUP's public list of cities and areas and caches it for 12 hours. This request sends no data about your store, your orders, or your customers, and requires no API key. If the list cannot be retrieved, the plugin falls back to a copy bundled with it, so your checkout keeps working.<\/p><\/li>\n<li><p>Creating shipments. When you click \"Ship\" on an order (or run the bulk ship action), the plugin sends that order's data to SIDEUP to create the shipment. The data sent includes: customer name, phone number, shipping address, order total, and the ordered items. This requires an API key.<\/p><\/li>\n<li><p>Syncing shipment status. Once an API key is configured, when you open the WooCommerce Orders screen the plugin sends your orders' order keys to SIDEUP to retrieve their current shipment and payment status, so the tracking columns can be displayed. No customer personal data is sent for this status lookup.<\/p><\/li>\n<\/ol>\n\n<p>Aside from the delivery-area list in (1), the plugin does not contact SIDEUP until an API key has been configured.<\/p>\n\n<p>All of these endpoints are reached at https:\/\/portal.eg.sideup.co\/api\/. The service is provided by SIDEUP:<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/eg.sideup.co\/terms<\/li>\n<li>Privacy Policy: https:\/\/eg.sideup.co\/privacy<\/li>\n<\/ul>\n\n<h3>Installation &amp; Configuration<\/h3>\n\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/sideup-shipping-egypt<\/code> directory, <strong>OR<\/strong> install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Go to WooCommerce -&gt; Settings -&gt; Shipping and select the sideup unit to configure the plugin.<\/li>\n<li>Add your business API key, which you will find in your dashboard in our system under the <strong>Integrations<\/strong> tab, or contact your <strong>Account Manager<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20sideup%20account%20to%20use%20this%20plugin%3F\"><h3>Do I need a sideup account to use this plugin?<\/h3><\/dt>\n<dd><p>Yes. The plugin requires an active sideup merchant account and an API key to connect your store to the shipping service.<\/p><\/dd>\n<dt id=\"where%20do%20i%20find%20my%20api%20key%3F\"><h3>Where do I find my API key?<\/h3><\/dt>\n<dd><p>In your sideup dashboard under the Integrations tab, or by contacting your account manager.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Fixed the Ship button failing with \"Order data not found\" on stores using High-Performance Order Storage. Every value the shipping dialog needs is now rendered onto the button itself instead of a separate orders array that HPOS left empty.<\/li>\n<li>Fixed order status, tracking number and payment link not showing under HPOS: the plugin now reads and writes order meta through the order object rather than post meta.<\/li>\n<li>Fixed shipments being recorded against the numeric WooCommerce order id instead of the order key, which stopped the status sync from ever matching them. Both identifiers are now sent when syncing, so shipments created by earlier versions stay visible.<\/li>\n<li>Fixed carrier prices never rendering. Pricing now goes through the portal's WooCommerce pricing branch, which resolves the pickup and destination zones server-side, and prices refresh when the payment method or area changes so the quote matches what is billed.<\/li>\n<li>Fixed credit card orders being priced as cash on delivery.<\/li>\n<li>Requests now send the API key as a Bearer token, as the SIDEUP API expects.<\/li>\n<li>The delivery area can now be picked in the shipping dialog when the order's address does not match a SIDEUP area, instead of the order being refused.<\/li>\n<li>\"Ship with SIDEUP\" and \"Refresh SIDEUP status\" now appear in the orders bulk actions menu on both order screens; neither was previously reachable.<\/li>\n<li>The status sync no longer sends every order in the store on each page load, which timed out on large stores, and no longer clears tracking data when SIDEUP cannot be reached.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>The delivery areas offered at checkout now come from SIDEUP directly, instead of a list hard-coded in the plugin. All 246 serviceable areas are now available; the old list reached 50 and named governorates that SIDEUP has since split into individual areas.<\/li>\n<li>Fixed shipments being created with no delivery area. Any area missing from the old hard-coded list was sent to SIDEUP with an empty area, which covered most of the country outside greater Cairo.<\/li>\n<li>Fixed three areas being sent under the wrong area id (Tanta, Mansoura, and Al Badrashin).<\/li>\n<li>Fixed the bulk ship action sending the area name where SIDEUP expects the area id.<\/li>\n<li>Areas that exist in two cities (Dar El Salam, North Coast) are now both selectable; previously one of each pair was unreachable.<\/li>\n<li>Orders whose address is not a SIDEUP delivery area now report which order and which area, instead of failing at SIDEUP with no explanation.<\/li>\n<li>The area list is cached for 12 hours, and falls back to a bundled copy if SIDEUP cannot be reached, so checkout keeps working.<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Removed an unused, unprefixed global variable ($areaMap) and leftover debug comments to comply with the WordPress.org plugin naming guidelines.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Renamed the plugin to \"SIDEUP Shipping Egypt\".<\/li>\n<li>Security: escape all admin output and stop printing the API key into page markup.<\/li>\n<li>Enqueue all scripts\/styles properly instead of inline \/ output.<\/li>\n<li>Prefix all functions and script handles; corrected the text domain.<\/li>\n<li>The plugin now contacts SIDEUP only after an API key is configured.<\/li>\n<li>Documented the external SIDEUP service and its status sync.<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Compatibility with WordPress 7.0.<\/li>\n<li>Code hardening: output escaping and text domain corrections.<\/li>\n<li>General stability improvements.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Minor fixes and improvements.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Minor fixes and improvements.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Change description.<\/li>\n<\/ul>\n\n<h4>1.9<\/h4>\n\n<ul>\n<li>Welcome to the new era of sideup.<\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Add J&amp;T to available couriers.<\/li>\n<\/ul>\n\n<h4>1.7<\/h4>\n\n<ul>\n<li>Fix issue with trashed orders.<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Enhance trace and debug issue.<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Fix some headers issue.<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Add some Egyptian areas for Cairo and Giza.<\/li>\n<li>Fix missed input for optional extra receiver mobile.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Add some Egyptian areas.<\/li>\n<li>Add optional input for a backup receiver phone number for the order.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Add option to change the COD required from the client in COD or Online Payment orders.<\/li>\n<li>Fix the receiver address and remove name, email, and phone from the address.<\/li>\n<li>Fix the difference in the order total and sideup COD.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Update handling of WooCommerce shipping fees with sideup.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<\/ul>","raw_excerpt":"The official SIDEUP plugin for WooCommerce lets you automate your e-commerce order and shipping process in Egypt.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/322935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=322935"}],"author":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sideupeg"}],"wp:attachment":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=322935"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=322935"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=322935"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=322935"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=322935"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=322935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}