Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion includes/Handlers/Connection.php
Original file line number Diff line number Diff line change
Expand Up @@ -955,7 +955,7 @@ private function get_connect_parameters_extras() {
*
* @return string
*/
private function get_timezone_string() {
public function get_timezone_string() {
$timezone = wc_timezone_string();
// convert +05:30 and +05:00 into Etc/GMT+5 - we ignore the minutes because Facebook does not allow minute offsets
if ( preg_match( '/([+-])(\d{2}):\d{2}/', $timezone, $matches ) ) {
Expand Down
16 changes: 8 additions & 8 deletions includes/Handlers/MetaExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,11 @@
class MetaExtension {

/** @var string Client token */
const CLIENT_TOKEN = '195311308289826|52dcd04d6c7ed113121b5eb4be23b4a7';
const CLIENT_TOKEN = '474166926521348|92e978eb27baf47f9df578b48d430a2e';
const APP_ID = '474166926521348';
/** @var string Business name */
const BUSINESS_NAME = 'WooCommerce';

/** @var string API version */
const API_VERSION = 'v18.0';
const API_VERSION = 'v22.0';

/** @var string Commerce Hub base URL */
const COMMERCE_HUB_URL = 'https://www.commercepartnerhub.com/';
Expand Down Expand Up @@ -422,23 +420,25 @@ public static function rest_handle_uninstall() {
* @param string $external_business_id External business ID.
* @return string
*/
public static function generate_iframe_splash_url( $is_connected, $plugin, $external_business_id ) {
public static function generate_iframe_splash_url( $is_connected, $plugin, $external_business_id ): string {
$connection_handler = facebook_for_woocommerce()->get_connection_handler();
$external_client_metadata = array(
'shop_domain' => wc_get_page_permalink( 'shop' ) ? wc_get_page_permalink( 'shop' ) : \home_url(),
'shop_domain' => wc_get_page_permalink( 'shop' ),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious -- do you think we can discard the fallback?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wc_get_page_permalink
https://hooks.wbcomdesigns.com/reference/functions/wc_get_page_permalink/

This one already contains the fallback. Remove to keep the code cleaner

'admin_url' => admin_url(),
'client_version' => $plugin->get_version(),
'commerce_partner_seller_platform_type' => 'SELF_SERVE_PLATFORM',
'country_code' => WC()->countries->get_base_country(),
'platform_store_id' => get_current_blog_id(),
);
return add_query_arg(
array(
'access_client_token' => self::CLIENT_TOKEN,
'business_vertical' => 'ECOMMERCE',
'channel' => 'COMMERCE',
'app_id' => Connection::CLIENT_ID,
'business_name' => self::BUSINESS_NAME,
'business_name' => rawurlencode( $connection_handler->get_business_name() ),
'currency' => get_woocommerce_currency(),
'timezone' => 'America/Los_Angeles',
'timezone' => $connection_handler->get_timezone_string(),
'external_business_id' => $external_business_id,
'installed' => $is_connected,
'external_client_metadata' => rawurlencode( wp_json_encode( $external_client_metadata ) ),
Expand Down
3 changes: 2 additions & 1 deletion tests/Unit/Handlers/MetaExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,12 @@ public function test_generate_iframe_splash_url() {
$plugin = facebook_for_woocommerce();

$url = MetaExtension::generate_iframe_splash_url(true, $plugin, 'test_business_id');
$handler = facebook_for_woocommerce()->get_connection_handler();

// Assert URL contains expected parameters
$this->assertStringContainsString('access_client_token=' . MetaExtension::CLIENT_TOKEN, $url);
$this->assertStringContainsString('app_id=', $url);
$this->assertStringContainsString('business_name=' . urlencode(MetaExtension::BUSINESS_NAME), $url);
$this->assertStringContainsString('business_name=' . rawurlencode($handler->get_business_name()), $url);
$this->assertStringContainsString('external_business_id=test_business_id', $url);
$this->assertStringContainsString('installed=1', $url);
$this->assertStringContainsString('external_client_metadata=', $url);
Expand Down