diff --git a/includes/constants/class-wc-stripe-hong-kong-states.php b/includes/constants/class-wc-stripe-hong-kong-states.php
new file mode 100644
index 0000000..b2e8cce
--- /dev/null
+++ b/includes/constants/class-wc-stripe-hong-kong-states.php
@@ -0,0 +1,349 @@
+<?php
+
+if ( ! defined( 'ABSPATH' ) ) {
+	exit; // Exit if accessed directly.
+}
+
+/**
+ * Class WC_Stripe_Hong_Kong_States
+ *
+ * Contains a list of districts (equivalent to WC states) in Hong Kong used for normalization and validation purposes.
+ * This is necessary due to a bug in Apple Pay that's currently being worked on. Until
+ * that bug is fixed this workaround will be necessary.
+ *
+ * More info in pc4etw-bY-p2.
+ *
+ * @since 5.8.0
+ */
+class WC_Stripe_Hong_Kong_States {
+	// Source: https://www.rvd.gov.hk/doc/tc/hkpr13/06.pdf
+	const STATES = [
+		'hong kong',
+		'港島',
+
+		'central and western',
+		'中西區',
+
+		'kennedy town',
+		'shek tong tsui',
+		'sai ying pun',
+		'sheung wan',
+		'central',
+		'admiralty',
+		'mid-levels',
+		'peak',
+		'堅尼地城',
+		'石塘咀',
+		'西營盤',
+		'上環',
+		'中環',
+		'金鐘',
+		'半山區',
+		'山頂',
+
+		'wan chai',
+		'灣仔',
+
+		'causeway bay',
+		'happy valley',
+		'tai hang',
+		'so kon po',
+		"jardine's lookout",
+		'灣仔',
+		'銅鑼灣',
+		'跑馬地',
+		'大坑',
+		'掃桿埔',
+		'渣甸山',
+
+		'eastern',
+		'東區',
+
+		'tin hau',
+		'braemar hill',
+		'north point',
+		'quarry bay',
+		'sai wan ho',
+		'shau kei wan',
+		'chai wan',
+		'siu sai wan',
+		'天后',
+		'寶馬山',
+		'北角',
+		'鰂魚涌',
+		'西灣河',
+		'筲箕灣',
+		'柴灣',
+		'小西灣',
+
+		'southern',
+		'南區',
+
+		'pok fu lam',
+		'aberdeen',
+		'ap lei chau',
+		'wong chuk hang',
+		'shouson hill',
+		'repulse bay',
+		'chung hom kok',
+		'stanley',
+		'tai tam',
+		'shek o',
+		'薄扶林',
+		'香港仔',
+		'鴨脷洲',
+		'黃竹坑',
+		'壽臣山',
+		'淺水灣',
+		'舂磡角',
+		'赤柱',
+		'大潭',
+		'石澳',
+
+		'kowloon',
+		'九龍',
+
+		'yau tsim mong',
+		'油尖旺',
+
+		'tsim sha tsui',
+		'yau ma tei',
+		'west kowloon reclamation',
+		"king's park, mong kok",
+		'tai kok tsui',
+		'尖沙咀',
+		'油麻地',
+		'西九龍填海區',
+		'京士柏',
+		'旺角',
+		'大角咀',
+
+		'sham shui po',
+		'深水埗',
+
+		'mei foo',
+		'lai chi kok',
+		'cheung sha wan',
+		'shek kip mei',
+		'yau yat tsuen',
+		'tai wo ping',
+		'stonecutters island',
+		'美孚',
+		'荔枝角',
+		'長沙灣',
+		'石硤尾',
+		'又一村',
+		'大窩坪',
+		'昂船洲',
+
+		'kowloon city',
+		'九龍城',
+
+		'hung hom',
+		'to kwa wan',
+		'ma tau kok',
+		'ma tau wai',
+		'kai tak',
+		'ho man tin',
+		'kowloon tong',
+		'beacon hill',
+		'紅磡',
+		'土瓜灣',
+		'馬頭角',
+		'馬頭圍',
+		'啟德',
+		'何文田',
+		'九龍塘',
+		'筆架山',
+
+		'wong tai sin',
+		'黃大仙',
+
+		'san po kong',
+		'tung tau',
+		'wang tau hom',
+		'lok fu',
+		'diamond hill',
+		'tsz wan shan',
+		'ngau chi wan',
+		'新蒲崗',
+		'東頭',
+		'橫頭磡',
+		'樂富',
+		'鑽石山',
+		'慈雲山',
+		'牛池灣',
+
+		'kwun tong',
+		'觀塘',
+
+		'ping shek',
+		'kowloon bay',
+		'ngau tau kok',
+		'jordan valley',
+		'kwun tong',
+		'sau mau ping',
+		'lam tin',
+		'yau tong',
+		'lei yue mun',
+		'坪石',
+		'九龍灣',
+		'牛頭角',
+		'佐敦谷',
+		'觀塘',
+		'秀茂坪',
+		'藍田',
+		'油塘',
+		'鯉魚門',
+
+		'new territories',
+		'新界',
+
+		'kwai tsing',
+		'葵青',
+
+		'kwai chung',
+		'tsing yi',
+		'葵涌',
+		'青衣',
+
+		'tsuen wan',
+		'荃灣',
+
+		'lei muk shue',
+		'ting kau',
+		'sham tseng',
+		'tsing lung tau',
+		'ma wan',
+		'sunny bay',
+		'梨木樹',
+		'汀九',
+		'深井',
+		'青龍頭',
+		'馬灣',
+		'欣澳',
+
+		'tuen mun',
+		'屯門',
+
+		'tai lam chung',
+		'so kwun wat',
+		'tuen mun',
+		'lam tei',
+		'大欖涌',
+		'掃管笏',
+		'屯門',
+		'藍地',
+
+		'yuen long',
+		'元朗',
+
+		'hung shui kiu',
+		'ha tsuen',
+		'lau fau shan',
+		'tin shui wai',
+		'yuen long',
+		'san tin',
+		'lok ma chau',
+		'kam tin',
+		'shek kong',
+		'pat heung',
+		'洪水橋',
+		'廈村',
+		'流浮山',
+		'天水圍',
+		'元朗',
+		'新田',
+		'落馬洲',
+		'錦田',
+		'石崗',
+		'八鄉',
+
+		'north',
+		'北區',
+
+		'fanling',
+		'luen wo hui',
+		'sheung shui',
+		'shek wu hui',
+		'sha tau kok',
+		'luk keng',
+		'wu kau tang',
+		'粉嶺',
+		'聯和墟',
+		'上水',
+		'石湖墟',
+		'沙頭角',
+		'鹿頸',
+		'烏蛟騰',
+
+		'tai po',
+		'大埔',
+
+		'tai po market',
+		'tai po kau',
+		'tai mei tuk',
+		'shuen wan',
+		'cheung muk tau',
+		'kei ling ha',
+		'大埔墟',
+		'大埔',
+		'大埔滘',
+		'大尾篤',
+		'船灣',
+		'樟木頭',
+		'企嶺下',
+
+		'sha tin',
+		'沙田',
+
+		'tai wai',
+		'fo tan',
+		'ma liu shui',
+		'wu kai sha',
+		'ma on shan',
+		'大圍',
+		'火炭',
+		'馬料水',
+		'烏溪沙',
+		'馬鞍山',
+
+		'sai kung',
+		'西貢',
+
+		'clear water bay',
+		'tai mong tsai',
+		'tseung kwan o',
+		'hang hau',
+		'tiu keng leng',
+		'ma yau tong',
+		'清水灣',
+		'大網仔',
+		'將軍澳',
+		'坑口',
+		'調景嶺',
+		'馬游塘',
+
+		'islands',
+		'離島',
+
+		'cheung chau',
+		'peng chau',
+		'lantau island (including tung chung)',
+		'lamma island',
+		'長洲',
+		'坪洲',
+		'大嶼山(包括東涌)',
+		'南丫島',
+	];
+
+	/**
+	 * Checks if the given state is a valid region (equivalent to WC state) in Hong Kong.
+	 *
+	 * @param string $state  The state to be evaluated.
+	 * @return bool  True if the provided state is valid, false otherwise.
+	 */
+	public static function is_valid_state( $state ) {
+		return in_array( $state, self::STATES, true );
+	}
+}
