๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)
๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)

๐€๐ง๐ง๐ข๐ž๐‚๐š๐ซ๐ž® ๐…๐ข๐ซ๐ฆ๐ข๐ง๐  ๐‚๐ซ๐ž๐š๐ฆ (๐”๐ฉ๐ ๐ซ๐š๐๐ž๐ ๐๐š๐œ๐ค๐š๐ ๐ข๐ง๐ ๐Ÿ‘จ‍โš•๏ธ๐‚๐ฅ๐ข๐ง๐ข๐œ๐š๐ฅ๐ฅ๐ฒ ๐๐š๐œ๐ค๐ž๐ ๐‘๐ž๐ฌ๐ฎ๐ฅ๐ญ๐ฌ)

๐ŸŒŽWorldwide Deliveryโญโญโญโญโญ4.9 (1837 Reviews)
โœ…30-day money back guarantee
๐Ÿ’ฐReturnable within 30 days of receipt of shipment
๐Ÿ†—Filed with the FDA & EU Certification
๐Ÿ”ฅ92.8% of customers buy 4 or more (free shipping)-2 bottles
Please select a ๐Ÿ”ฅ92.8% of customers buy 4 or more (free shipping)
$36.97
$89.97
-$53.00
Quantity
const getPluginI18nMessages = (message, replaceObj = {}) => { const lang = document.documentElement.lang || "en-US"; const [form, key] = message.split('.') let text = window.payment_plugin_message['en-US'][form][key]; if (window.payment_plugin_message[lang][form].hasOwnProperty(key)) { text = window.payment_plugin_message[lang][form][key]; } Object.keys(replaceObj).forEach(key => { text = text.replace(new RegExp(`\{${key}\}`, 'gi'), replaceObj[key]); }) return text; } const zhCN = { ec: { not_active_channel: "่ฏทๅˆฐๆ”ถๆฌพ่ฎพ็ฝฎไธญ{channelName}ๆˆ–ๅœจใ€Œๅฟซๆทๆ”ฏไป˜ๆŒ‰้’ฎใ€่ฎพ็ฝฎไธญ้€‰ๆ‹ฉๅ…ถไป–็š„ๆœๅŠกๆไพ›ๆ–น๏ผŒๅฆๅˆ™ๆŒ‰้’ฎๅฐ†ๆ— ๆณ•ๅฑ•็คบ", not_support_theme: "ๅฝ“ๅ‰ไธป้ข˜ไธๆ”ฏๆŒๆทปๅŠ ใ€Œๅฟซๆทๆ”ฏไป˜ๆŒ‰้’ฎใ€", more_button: "ๆ›ดๅคšๆ”ฏไป˜ๆ–นๅผ", skeleton_layer_tips_title: "ๅฟซๆทๆ”ฏไป˜ๆŒ‰้’ฎ", skeleton_layer_tips_content: "่ฏท็‚นๅ‡ปๅทฆไพงๅˆ—่กจไธญ็š„ใ€Œๅฟซๆทๆ”ฏไป˜ๆŒ‰้’ฎใ€๏ผŒๅœจ่ฎพ็ฝฎ้กต้ขๅผ€ๅฏๆƒณ่ฆ็š„ๅฑ•็คบ็š„ๆ”ฏไป˜ๆŒ‰้’ฎ", mock_tips: "ๅฟซๆทๆ”ฏไป˜ๆŒ‰้’ฎๆ˜ฏๅฆๅฑ•็คบ่ฟ˜ๅ–ๅ†ณไบŽไนฐๅฎถไฝฟ็”จ็š„ๆต่งˆๅ™จไปฅๅŠๅ•†ๅ“็š„่ดงๅธใ€้‡‘้ข", not_find_form_tips: "ๅฟซๆทๆ”ฏไป˜ๆŒ‰้’ฎ็ป„ไปถไป…ๆ”ฏๆŒ้…็ฝฎๅˆฐๅ•†ๅ“่ฏฆๆƒ…ๅก็‰‡ๅ†…", } }; const zhTW = { ec: { not_active_channel: "่ฏทๅˆฐๆ”ถๆฌพ่ฎพ็ฝฎไธญ{channelName}ๆˆ–ๅœจใ€Œๅฟซๆทๆ”ฏไป˜ๆŒ‰้’ฎใ€่ฎพ็ฝฎไธญ้€‰ๆ‹ฉๅ…ถไป–็š„ๆœๅŠกๆไพ›ๆ–น๏ผŒๅฆๅˆ™ๆŒ‰้’ฎๅฐ†ๆ— ๆณ•ๅฑ•็คบ", not_support_theme: "ๅฝ“ๅ‰ไธป้ข˜ไธๆ”ฏๆŒๆทปๅŠ ใ€Œๅฟซๆทๆ”ฏไป˜ๆŒ‰้’ฎใ€", more_button: "ๆ›ดๅคšไป˜ๆฌพๆ–นๅผ", } }; const arSA = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "ุงู„ู…ุฒูŠุฏ ู…ู† ุฎูŠุงุฑุงุช ุงู„ุฏูุน", } }; const deDE = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "Weitere Bezahlmรถglichkeiten", } }; const esES = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "Mรกs opciones de pago", } }; const frFR = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "Plus d'options de paiement", } }; const idID = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "Opsi pembayaran lainnya", } }; const itIT = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "Altre opzioni di pagamento", } }; const jaJP = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "ใใฎไป–ใฎๆ”ฏๆ‰•ใ„ใ‚ชใƒ—ใ‚ทใƒงใƒณ", } }; const koKR = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "๋” ๋งŽ์€ ๊ฒฐ์ œ ์˜ต์…˜", } }; const enUS = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "More payment options", skeleton_layer_tips_title: "Express Checkout Button", skeleton_layer_tips_content: "Please click theใ€ŒExpress checkout buttonใ€on the block list๏ผŒthen you could enable the payment option you want to display in settings.", mock_tips: "Whether the Express checkout button is displayed also depends on the browser used by the buyer and the currency and amount of the product.", not_find_form_tips: "Express Checkout Button could only be added to Product details block.", } }; const nlNL = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "Meer betalingsmogelijkheden", } }; const plPL = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "Wiฤ™cej Opcji Pล‚atnoล›ci", } }; const ptPT = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "Mais opรงรตes de pagamento", } }; const ruRU = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "ะ”ั€ัƒะณะธะต ะฒะฐั€ะธะฐะฝั‚ั‹ ะพะฟะปะฐั‚ั‹", } }; const thTH = { ec: { not_active_channel: "Please activate {channelName} on B Admin or select another provider in theใ€ŒExpress checkout buttonใ€ settings, otherwise it will not display.", not_support_theme: "This Theme doesn't support addingใ€ŒExpress checkout buttonใ€", more_button: "เธ•เธฑเธงเน€เธฅเธทเธญเธเธเธฒเธฃเธŠเธณเธฃเธฐเน€เธ‡เธดเธ™เน€เธžเธดเนˆเธกเน€เธ•เธดเธก", } }; window.payment_plugin_message = { getPluginI18nMessages, "zh-CN": zhCN, "zh-TW": zhTW, "ar-SA": arSA, "de-DE": deDE, "es-ES": esES, "fr-FR": frFR, "id-ID": idID, "it-IT": itIT, "ja-JP": jaJP, "ko-KR": koKR, "en-US": enUS, "nl-NL": nlNL, "pl-PL": plPL, "pt-PT": ptPT, "ru-RU": ruRU, "th-TH": thTH, } document.dispatchEvent(new CustomEvent('payment_plugin_message_reader'));
try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9'); dom.i18n = window?.payment_plugin_message?.getPluginI18nMessages; if (dom.i18n) { document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { i18n: true } })) } else { document.addEventListener('payment_plugin_message_reader', () => { dom.i18n = window?.payment_plugin_message?.getPluginI18nMessages; document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { i18n: true } })) }, {once: true}); } } catch (e) { } // ้€š็”จๅทฅๅ…ทๆ–นๆณ• try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9') const ROOT_URL = (C_SETTINGS && C_SETTINGS.routes && C_SETTINGS.routes.root) || ''; const eventListeners = {}; const commonUtils = function () { return { getProduct() { const productJson = document.querySelector('#product-json'); if (productJson?.textContent) { return JSON.parse(productJson.textContent); } if (window.jQuery) { const $product = window.jQuery?.(document)?.data('djproduct'); const productData = JSON.parse(JSON.stringify($product || {})); return productData || {}; } return {}; }, isChrome() { return navigator?.userAgent?.indexOf('Chrome') > -1 || navigator?.userAgent?.indexOf('CriOS') > -1; }, isSafari() { let userAgentString = navigator.userAgent; let chromeAgent = userAgentString.indexOf('Chrome') > -1 || navigator?.userAgent?.indexOf('CriOS') > -1; let safariAgent = userAgentString.indexOf('Safari') > -1; if (chromeAgent && safariAgent) { safariAgent = false; } return safariAgent; }, isPreview() { return !!window?.C_EDITING_SETTINGS?.oseid; }, multiply(a, b) { const precision = 2; // ไฟ็•™ไธคไฝๅฐๆ•ฐ return Number((a * b).toFixed(precision)); }, loadScript(fnReady, id, src, datasets, onError, attributeConfig = {}) { const sdkDomId = id + '-sdk'; if (fnReady() || document.getElementById(sdkDomId)) { return Promise.resolve({id: true}); } return new Promise((resolve) => { const s = document.createElement('script'); s.id = sdkDomId; s.src = src; s.defer = true; if (datasets) { Object.keys(datasets).map((item) => { s.dataset[item] = datasets[item]; }); } s.onload = function () { window.dispatchEvent(new CustomEvent(`${id}-loaded`)); resolve({id: true}); }; s.onerror = function () { resolve({id: false}); onError && onError(); }; Object.keys(attributeConfig).forEach((key) => { s.setAttribute(key, attributeConfig[key]); }); document.head.appendChild(s); }); }, track(eventName, data) { window.sa && window?.sa?.track('pm_' + eventName, JSON.parse(JSON.stringify(data))); }, getExtUrl(name) { const url = document.cookie.match(new RegExp('\\b' + name.replace(/_/g, '-') + '-(v[s0-9]+)')); if (url && url[1]) { return `${name}.${url[1]}.js`; } else { return window?.exts?.[name]; } }, req: { post: async (url, data = {}) => { try { const response = await fetch(req.ROOT_URL + url, { method: 'POST', headers: { 'Content-Type': 'application/json', }, ...data, body: JSON.stringify(data.body), }); return await response.json() } catch (error) { throw new Error('post request error' + error); } }, get: async (url, data = {}) => { try { const response = await fetch(ROOT_URL + url); return await response.json() } catch (error) { throw new Error('get request error' + error); } } }, debounce(fn, wait) { let timeout = null; return function () { if (timeout !== null) { clearTimeout(timeout); } timeout = setTimeout(function () { fn.apply(this, arguments); }, wait); } }, delayCallback(cb) { window.requestIdleCallback ? requestIdleCallback(cb, {timeout: 50}) : setTimeout(cb, 50); }, loadFilly(tag, cb) { if (!tag) { return } const script = document.createElement('script'); script.type = 'text/javaScript'; script.src = `//static.staticdj.com/${tag}`; script.onload = cb; document.getElementsByTagName('head')[0].appendChild(script); }, ecEvent: { on: (eventName, listener, useCapture) => { eventListeners[eventName] = listener; window.addEventListener(eventName, listener, useCapture); }, emit: (eventName, data) => window.dispatchEvent(new CustomEvent(eventName, {detail: data})), } } } dom.commonUtilsFn = commonUtils; document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { commonUtils: true } })) } catch (e) { } // ๆ ธๅฟƒๆ•ฐๆฎ try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9'); const coreData = function () { const {getProduct} = dom.commonUtils; let productDetail = getProduct(); let productPrice = productDetail?.selected?.price || 36.97; const shopCurrencyCode = "USD"; const expressCheckoutList = { sdkErrorList: [], paymentChannelList: [], disabledChannelList: [], showChannelList: [], blockChannelList: [], extraChannelList: [], }; const channelType = { googlepay: ['shoplazzagoogle'], applepay: ['shoplazzaapple'], credit: ['paypal'] }; const ecGlobalVarEnums = { paypal: 'pluginPaypalEC' }; const providerEnums = { SHOPLAZZA: 'shoplazza', STRIPE: 'stripe', PAYPAL: 'paypal' }; const channelEnums = { SHOPLAZZA_GOOGLE: 'shoplazzagoogle', SHOPLAZZA_APPLE: 'shoplazzaapple', STRIPE_GOOGLE: 'stripegoogle', STRIPE_APPLE: 'stripeapple', PAYPAL: 'paypal' }; const channelThemeConfig = { [channelEnums.PAYPAL]: { default: { url: 'oss/operation/f557c83808e1cd456411170286a1ea95.svg', classList: ['paypal-card'], }, }, [channelEnums.SHOPLAZZA_GOOGLE]: { light: { url: 'oss/operation/778afb93da43adf75bdc80b078e5d4fd.svg', classList: ['googlepay-light'], }, dark: { url: 'oss/operation/e53180c224f0b0af44b44663775aa930.svg', classList: ['googlepay-dark'], }, }, [channelEnums.SHOPLAZZA_APPLE]: { light: { url: 'oss/operation/dadceb884044e0a9bbfe26c15192f542.svg', classList: ['applepay-light'], }, dark: { url: 'oss/operation/6597f66eac8b0681ebfb75941e8f6f52.svg', classList: ['applepay-dark'], }, }, }; function getContainerDomId() { const domIdObj = {}; Object.keys(providerEnums).forEach(key => { domIdObj[providerEnums[key]] = FormatterContainerDomId(providerEnums[key]) }) return domIdObj; } function FormatterContainerDomId(provider) { const domIDSuffix = '-express-button-container'; const prefix = 'pm-'; return `${prefix}${provider}${domIDSuffix}-1539149753700-9` } return { ecGlobalVarEnums, providerEnums, channelEnums, productPrice, shopCurrencyCode, getChannelThemeConfig(ecName) { const themeType = window.PaymentEC?.settings?.express_theme_configs?.[ecName]?.theme_type?.toLowerCase() || 'default'; return channelThemeConfig[ecName][themeType] || channelThemeConfig[ecName]['dark']; }, getProductPrice() { return productDetail?.selected?.price; }, getProductDetail() { return productDetail; }, setProductDetail(data) { productDetail = data; }, isRequiresShipping() { return productDetail?.product?.requires_shipping }, getOpenChannelType() { const {paymentChannelList, blockChannelList} = expressCheckoutList const openList = paymentChannelList.filter(item => blockChannelList.includes(item)) || []; return { hasApplepay: openList.filter(item => channelType.applepay.includes(item))?.length > 0, hasGooglepay: openList.filter(item => channelType.googlepay.includes(item))?.length > 0, hasCredit: openList.filter(item => channelType.credit.includes(item))?.length > 0 } }, containerDomId: getContainerDomId(), channel2ProviderEnums: { [channelEnums.PAYPAL]: providerEnums.PAYPAL, [channelEnums.SHOPLAZZA_GOOGLE]: providerEnums.SHOPLAZZA, [channelEnums.SHOPLAZZA_APPLE]: providerEnums.SHOPLAZZA, [channelEnums.STRIPE_GOOGLE]: providerEnums.STRIPE, [channelEnums.STRIPE_APPLE]: providerEnums.STRIPE, }, getExpressCheckoutList() { return expressCheckoutList; }, setShowChannel(showChannelList = []) { expressCheckoutList.showChannelList = showChannelList; return expressCheckoutList; }, setBlockChannel(blockChannelList = []) { expressCheckoutList.blockChannelList = blockChannelList; return expressCheckoutList; }, setPaymentChannelList(paymentChannelList = []) { expressCheckoutList.paymentChannelList = paymentChannelList; return expressCheckoutList; }, setSdkErrorList(paymentChannelList = []) { expressCheckoutList.sdkErrorList = paymentChannelList; return expressCheckoutList; }, setExtraChannelList(extraChannelList = []) { expressCheckoutList.extraChannelList = extraChannelList; return expressCheckoutList; }, setDisabledChannelList(disabledChannelList = []) { expressCheckoutList.disabledChannelList = disabledChannelList; return expressCheckoutList; } } } dom.coreDataFn = coreData; document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { coreData: true } })) } catch (e) { console.log(e); } // ้€š็”จไธšๅŠกๆ•ฐๆฎๅค„็†ๆ–นๆณ• try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9') const businessUtils = function () { const {track, isChrome, isSafari, req, isPreview, multiply} = dom.commonUtils; const {getProductPrice, containerDomId, ecGlobalVarEnums} = dom.coreData; const { channelEnums, shopCurrencyCode, isRequiresShipping, getProductDetail, setShowChannel, setBlockChannel, setSdkErrorList, setExtraChannelList, setDisabledChannelList, setPaymentChannelList, getExpressCheckoutList } = dom.coreData; const _businessUtils = { getECConfig: async () => { if (window.PaymentEC?.settings) { return window.PaymentEC?.settings; } const result = await req.get('/api/payment/settings'); const ecConfig = result?.settings?.express_checkout_config || {}; const {blockChannelList} = getExpressCheckoutList(); setPaymentChannelList(blockChannelList.filter(ecName => ecConfig?.express_channels?.includes(ecName)) || []); window.PaymentEC.settings = {...ecConfig, currencyCode: shopCurrencyCode}; return window.PaymentEC.settings; }, getAttributeConfig(channelInfo) { const {ecGlobalVar, ecName} = channelInfo; const config = { paypal: { 'data-namespace': ecGlobalVar } }; return config[ecName] || {}; }, getThemeFormData() { let themeFormData = {}; const formDOM = dom.closest("form"); if (formDOM) { themeFormData = { note: '', product_id: '', variant_id: '', quantity: 1, properties: {}, }; const formData = new FormData(formDOM); const formDataKey = formData.keys(); for (const key of formDataKey) { const value = formData.get(key); const propertiesKey = key.match(/^properties(?:\.(\w+)$|\[(\w+)\]$)/); if (!propertiesKey) { themeFormData[key] = value; continue; } const objKey = propertiesKey[1] || propertiesKey[2]; themeFormData['properties'] = {...themeFormData['properties'], [objKey]: value}; } } return themeFormData; }, getProductFormData() { const themeFormData = _businessUtils.getThemeFormData() return [{ ...themeFormData, note: themeFormData?.note || "", product_id: themeFormData?.product_id || "", variant_id: themeFormData?.variant_id || "", quantity: themeFormData?.quantity || 1, // ไธŽไธป้ข˜็กฎ่ฎค๏ผŒๅชไปฅไธ€ไธชไธบๅ‡†๏ผŒ้˜ฒๆญขformไธๅญ˜ๅœจ็š„ๆ•ฐๆฎไป่ขซไผ ้€’ properties: themeFormData?.properties || {}, }] }, getOrderFetchParams(data) { if (!data) { return {}; } return { line_items: data.map((item) => ({ ...item, note: item?.note || "", quantity: item?.quantity || 1, product_id: item?.product_id, variant_id: item?.variant_id, properties: item?.properties, })), refer_info: { source: 'buy_now', }, customer_note: '', }; }, isAllowTheme() { const allowThemeList = ['Nova 2023', 'Dropshiping', 'Geek', 'Hero', 'Eva']; const currentTheme = window?.C_SETTINGS?.theme?.merchant_theme_name; return allowThemeList.includes(currentTheme); }, getSubscriptionIdInit() { let defaultID; const selectSubscriptionEnum = { CLOSE: 1, ACTIVE: 2, } const productDetail = getProductDetail(); const sellingPlan = ""; if (!sellingPlan || typeof sellingPlan !== "object") { return null; } let sellingItems; if (sellingPlan?.spu?.[productDetail?.product?.id]) { sellingItems = sellingPlan.spu[productDetail?.product?.id] } if (sellingPlan?.sku?.[productDetail?.selected?.id]) { sellingItems = sellingPlan.sku[productDetail?.product?.id] } if (sellingItems?.cycles === selectSubscriptionEnum.ACTIVE && sellingItems?.selected_selling_plan_option_id) { defaultID = sellingItems?.selected_selling_plan_option_id } return defaultID ?? null }, getSubscriptionId() { const formData = _businessUtils.getThemeFormData(); const defaultID = _businessUtils.getSubscriptionIdInit(); console.log(`[paymentEC]่ฎข้˜…ไฟกๆฏ:form-${formData?.properties?._selling_plan_option_id},้ป˜่ฎค-${defaultID}`); if (formData?.properties) { return formData?.properties?._selling_plan_option_id } return defaultID ?? null; }, isSubscription() { return !!_businessUtils.getSubscriptionId(); }, isAllowSubscriptionPay(channel) { if (!_businessUtils.isSubscription()) { return true; } return [channelEnums.PAYPAL].includes(channel); }, blockChannelHandler() { const block_googlePay = false && "shoplazzagoogle"; const block_applePay = false && "shoplazzaapple"; const block_credit = true && "paypal"; const blockChannel = { googlepay: (isPreview() || isChrome()) && block_googlePay, applepay: (isPreview() || isSafari()) && block_applePay, credit: block_credit }; const sortList = ['credit', 'googlepay', 'applepay']; const methodSort = Object.keys(blockChannel).filter(key => blockChannel[key] && key).sort((a, b) => { const indexA = sortList.indexOf(a); const indexB = sortList.indexOf(b); return indexA - indexB; }).map(key => blockChannel[key]); const result = setBlockChannel(methodSort); track('setBlockChannel', result); return result; }, showECButtonHandler() { const { paymentChannelList, sdkErrorList, disabledChannelList, extraChannelList, } = getExpressCheckoutList(); const showChannelList = paymentChannelList.filter((ecName) => !sdkErrorList.includes(ecName) && !disabledChannelList.includes(ecName) && !extraChannelList.includes(ecName)) || []; const result = setShowChannel(showChannelList); track('showECButton', result); return result; }, filterECButtonHandler({type}, cb) { const { paymentChannelList, sdkErrorList, disabledChannelList, extraChannelList, } = getExpressCheckoutList(); const showChannelList = paymentChannelList.filter((ecName) => !sdkErrorList.includes(ecName) && !disabledChannelList.includes(ecName) && !extraChannelList.includes(ecName)) || []; const result = setShowChannel(showChannelList.filter((ecName) => ecName !== type) || []); cb && cb(); track('filterECButton', result); return result; }, loadSDKErrorHandler(type) { const {sdkErrorList} = getExpressCheckoutList(); const result = setSdkErrorList([...sdkErrorList, type]); track('loadSDKError', result); return result; }, extraFilterShowHandler(channel) { const {extraChannelList} = getExpressCheckoutList(); const result = setExtraChannelList(extraChannelList.filter(ecName => ecName !== channel)); track('extraFilterEvent_show', result); return result; }, extraFilterHideHandler(channel) { const {extraChannelList} = getExpressCheckoutList(); const result = setExtraChannelList([...extraChannelList, channel]); track('extraFilterEvent_hide', result); return result; }, disabledChannelListHandler(checkoutData = {}, cb) { const {paymentChannelList} = getExpressCheckoutList(); const productDetail = getProductDetail(); const disabledChannelList = paymentChannelList.filter(ecName => { let mustDisable = false; if (!isRequiresShipping() && ecName !== channelEnums.PAYPAL) { mustDisable = true; } if (!_businessUtils.isAllowSubscriptionPay(ecName)) { mustDisable = true; } if (!productDetail?.selected?.available) { mustDisable = true; } const {payment_due} = checkoutData?.prices; const paymentDueNum = Number(payment_due || 0) * 100; const showFlag = paymentDueNum > 0; return mustDisable || !showFlag; }) const result = setDisabledChannelList(disabledChannelList) result?.disabledChannelList?.forEach(ecName => { cb && cb(ecName); }) track('disabledChannelListEvent', result); }, async getCheckoutData() { const formData = _businessUtils.getProductFormData(); const totalPrice = multiply(getProductPrice(), formData?.[0]?.quantity || 0); return { prices: {payment_due: totalPrice, subtotal_price: totalPrice}, orderParams: _businessUtils.getOrderFetchParams(_businessUtils.getProductFormData()), containerDOMIdEnums: containerDomId, ecGlobalVarEnums } }, } return _businessUtils } dom.businessUtilsFn = businessUtils; document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { businessUtils: true } })) } catch (e) { } // ้€š็”จๆธฒๆŸ“ๆ–นๆณ• try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9'); const containerDOM = 'pm-payment-express-button-container-1539149753700-9'; const commonRenderUtils = function () { return { addChildrenDOM(id, allowShow, options = {}) { if (!id) { return; } const paymentEl = document.getElementById(containerDOM); const childrenEL = document.getElementById(id); if (paymentEl && childrenEL) { childrenEL.style.display = allowShow ? 'block' : 'none'; return; } if (paymentEl && !childrenEL) { const dom = document.createElement('div'); dom.id = id; dom.style.display = allowShow ? 'block' : 'none'; if (options?.style) { Object.keys(options?.style).forEach(key => { dom.style[key] = options.style[key]; }) } if (Array.isArray(options?.classList)) { dom.classList.add(...options.classList) } paymentEl.appendChild(dom); } }, removeChildrenDOM(id) { if (!id) { return; } const paymentEl = document.getElementById(containerDOM); const childrenEL = document.getElementById(id); if (paymentEl && childrenEL) { // childrenEL.remove(); childrenEL.style.display = 'none'; } }, mockAddChildrenDOM(id, allowShow, options = {}) { if (!id) { return; } const paymentEl = document.getElementById(containerDOM); const childrenEL = document.getElementById(id); if (paymentEl && childrenEL) { childrenEL.style.display = allowShow ? 'flex' : 'none'; return; } if (paymentEl && !childrenEL) { const dom = document.createElement('div'); dom.id = id; dom.style.display = allowShow ? 'flex' : 'none'; if (options?.style) { Object.keys(options?.style).forEach(key => { dom.style[key] = options.style[key]; }) } if (Array.isArray(options?.classList)) { dom.classList.add(...options.classList) } dom.classList.add('mock-img'); const img = document.createElement('img'); img.src = `//static.staticdj.com/${options?.url}`; dom.appendChild(img); paymentEl.appendChild(dom); } }, resetRenderDOM() { const resetStyleList = [ "pm-payment-express-error-tips-1539149753700-9", "pm-payment-express-more-button-1539149753700-9", "pm-payment-express-mock-tips-1539149753700-9", "pm-payment-express-skeletonLayer-1539149753700-9", ] const resetHtmlList = [ "pm-payment-express-skeletonLayer-title-content-1539149753700-9", "pm-payment-express-skeletonLayer-content-1539149753700-9", "pm-payment-express-mock-tips-1539149753700-9", "pm-payment-express-error-tips-1539149753700-9", "pm-payment-express-button-container-1539149753700-9", "pm-payment-express-more-button-1539149753700-9", ] resetStyleList.forEach(domID => { const content = document.getElementById(domID); if (content) { content.style.display = 'none'; } }) resetHtmlList.forEach(domID => { const content = document.getElementById(domID); if (content) { content.innerHTML = ''; } }) } } } dom.commonRenderUtilsFn = commonRenderUtils; document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { commonRenderUtils: true } })) } catch (e) { } // ้”™่ฏฏๆ็คบๆธฒๆŸ“ try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9'); const renderTipsUtils = function () { const {i18n} = dom; const {isPreview} = dom.commonUtils; const {channelEnums} = dom.coreData; return { showChannelNotOpenTips(channelList) { const tipsDom = document.getElementById('pm-payment-express-error-tips-1539149753700-9'); if (!isPreview()) { return; } if (!tipsDom) { return; } tipsDom.style.display = channelList.length > 0 ? 'block' : 'none'; const channelName = { [channelEnums.SHOPLAZZA_GOOGLE]: "ShoplazzaPayments - GooglePay", [channelEnums.SHOPLAZZA_APPLE]: "ShoplazzaPayments - ApplePay", [channelEnums.PAYPAL]: "PayPal", } channelList.forEach(ecName => { const id = `pm-payment-express-error-tips-1539149753700-9-${ecName}`; const hasDom = document.getElementById(id) if (!hasDom) { const dom = document.createElement('div'); dom.id = id; dom.innerHTML = i18n('ec.not_active_channel', {channelName: channelName[ecName]}); tipsDom.appendChild(dom); } }) }, disabledThemTips() { const tipsDom = document.getElementById('pm-payment-express-error-tips-1539149753700-9'); if (!isPreview()) { return; } if (!tipsDom) { return; } tipsDom.style.display = 'block'; const id = 'pm-payment-express-error-tips-1539149753700-9-theme'; const hasDom = document.getElementById(id); if (!hasDom) { const dom = document.createElement('div'); dom.id = id; dom.innerHTML = i18n('ec.not_support_theme'); tipsDom.appendChild(dom); } }, notFindFormTips() { const tipsDom = document.getElementById('pm-payment-express-error-tips-1539149753700-9'); if (!isPreview()) { return; } if (!tipsDom) { return; } tipsDom.style.display = 'block'; const id = 'pm-payment-express-error-tips-1539149753700-9-theme'; const hasDom = document.getElementById(id); if (!hasDom) { const dom = document.createElement('div'); dom.id = id; dom.innerHTML = i18n('ec.not_find_form_tips'); tipsDom.appendChild(dom); } }, showSkeletonLayerTips() { const skeletonLayerDOMId = 'pm-payment-express-skeletonLayer-1539149753700-9'; const skeletonLayerDOM = document.getElementById(skeletonLayerDOMId); const titleDOM = document.getElementById('pm-payment-express-skeletonLayer-title-content-1539149753700-9'); const contentDOM = document.getElementById('pm-payment-express-skeletonLayer-content-1539149753700-9'); if (!skeletonLayerDOM || !titleDOM || !contentDOM) { return; } skeletonLayerDOM.style.display = 'block'; titleDOM.innerHTML = i18n('ec.skeleton_layer_tips_title'); contentDOM.innerHTML = i18n('ec.skeleton_layer_tips_content'); }, showMockTips() { const tipsDOM = document.getElementById('pm-payment-express-mock-tips-1539149753700-9'); if (!tipsDOM) { return; } tipsDOM.style.display = 'block'; tipsDOM.innerHTML = i18n('ec.mock_tips'); } } } dom.renderTipsUtilsFn = renderTipsUtils; document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { renderTipsUtils: true } })) } catch (e) { } // ๆ›ดๅคšไฟกๆฏๆธฒๆŸ“ try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9'); const moreDOM = document.getElementById('pm-payment-express-more-button-1539149753700-9'); const moreButtonConfig = { firstClick: true, maxSize: isNaN(4) ? 1 : 4 }; const renderMoreUtils = function () { const {i18n} = dom; const {getExpressCheckoutList} = dom.coreData; function moreButtonEvent(cb) { if (!moreDOM) { return; } moreDOM.style.display = 'none'; moreButtonConfig.firstClick = false; cb && cb(); } return { getMoreButtonConfig() { return moreButtonConfig }, showMoreButton(cb) { if (!moreDOM) { return; } const {showChannelList} = getExpressCheckoutList(); const showLength = showChannelList.length; const {firstClick, maxSize} = moreButtonConfig; moreDOM.style.display = (firstClick && showLength > 0 && showLength > maxSize) ? 'block' : 'none'; moreDOM.innerHTML = i18n('ec.more_button'); moreDOM.onclick = () => moreButtonEvent(cb); }, } } dom.renderMoreUtilsFn = renderMoreUtils; document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { renderMoreUtils: true } })) } catch (e) { } try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9'); function start() { const { getExtUrl, loadFilly, delayCallback, ecEvent, track, loadScript, debounce } = dom.commonUtils; const { blockChannelHandler, getAttributeConfig, showECButtonHandler, filterECButtonHandler, loadSDKErrorHandler, extraFilterShowHandler, extraFilterHideHandler, disabledChannelListHandler, getECConfig, isAllowTheme, getCheckoutData, getThemeFormData } = dom.businessUtils; const {addChildrenDOM, removeChildrenDOM} = dom.commonRenderUtils; const {getMoreButtonConfig, showMoreButton} = dom.renderMoreUtils; const { ecGlobalVarEnums, getExpressCheckoutList, getProductPrice, getProductDetail, setProductDetail, containerDomId, channel2ProviderEnums, getChannelThemeConfig } = dom.coreData; function getFilly() { const fillyTag = getExtUrl('filly'); if (fillyTag) { loadFilly(fillyTag, init); } } function extraFilterEvent(e) { const {channel, domId, allowShow} = e?.detail || {}; if (channel && domId) { if (allowShow) { extraFilterShowHandler(channel); } else { extraFilterHideHandler(channel); filterECButtonHandler({type: channel}, () => removeChildrenDOM(domId) ); } renderEC(); } } const renderEC = () => { showECButtonHandler(); const {showChannelList} = getExpressCheckoutList(); const {firstClick, maxSize} = getMoreButtonConfig(); if (showChannelList.length === 0) { showMoreButton(renderEC); } showChannelList.forEach((ecName, index) => { const disableShow = firstClick && index >= maxSize; addChildrenDOM(containerDomId[channel2ProviderEnums[ecName]], !disableShow, getChannelThemeConfig(ecName)); showMoreButton(renderEC); }); } const loadErrorEvent = (type) => { const domID = containerDomId[type]; if (!domID) { return; } loadSDKErrorHandler(type); filterECButtonHandler({type}, () => removeChildrenDOM(domID) ); showMoreButton(renderEC); }; async function loadEC() { const themeFormData = getThemeFormData?.() || {}; if (!themeFormData?.product_id || !themeFormData?.variant_id) { console.log('[paymentEC]hide:ๆœชๆ‰พๅˆฐform่กจๅ•ๆˆ–ๅฟ…่ฆไฟกๆฏ') return; } const ecConfig = await getECConfig(); const expressCheckoutList = getExpressCheckoutList(); track('loadEC', expressCheckoutList); if (ecConfig) { const checkoutData = await getCheckoutData(); disabledChannelListHandler(checkoutData, (ecName) => { filterECButtonHandler({type: ecName}, () => removeChildrenDOM(containerDomId[channel2ProviderEnums[ecName]]) ); }); renderEC(); window.PaymentEC.handleEcPluginsLoad = ({ channelInfos = [], loadedCbFn = () => { } }) => { const expressCheckoutLoadList = []; channelInfos.map((channelInfo) => { const {ecGlobalVar, ecName = '', sdkPath = '', datasets} = channelInfo; if (!document.getElementById(containerDomId[ecName])) { return; } const attributeConfig = getAttributeConfig(channelInfo) || {}; expressCheckoutLoadList.push( loadScript(() => window[ecGlobalVar], ecGlobalVar, sdkPath, datasets, () => { loadErrorEvent(ecName); }, attributeConfig) ); }); Promise.all(expressCheckoutLoadList).then(() => { loadedCbFn(checkoutData); }); }; // ้€š็Ÿฅๅค–้ƒจๆ•ฐๆฎๅ˜ๆ›ด ecEvent.emit('tc_payment_ec_data_change', { ecGlobalVarEnums, containerDOMIdEnums: containerDomId }); } } const loadECDebounce = debounce(loadEC, 300) async function refreshEC(data = {}, sources) { if (!sources) { console.warn('[paymentEC]hide: sources is null'); return; } if (data?.detail?.selected?.price) { setProductDetail(data?.detail) } loadECDebounce(); } function init() { ecEvent.on('shoplazza_express_channels_change', extraFilterEvent, false); ecEvent.on('shoplazza_express_channels_change_ready', extraFilterEvent, false); if (typeof window.PaymentEC === 'object') { window.PaymentEC.getCheckoutData = getCheckoutData; } else { console.warn("[payment]window.PaymentEC is null"); } document.addEventListener('dj.variantChange', (data) => refreshEC(data, 'variantChange')); document.addEventListener('payment_ec_refresh', (data) => refreshEC(data, data?.detail?.sources)); refreshEC({}, 'init'); } if (isAllowTheme()) { blockChannelHandler(); if (document.readyState === 'complete') { delayCallback(getFilly); return; } window.addEventListener('load', () => delayCallback(getFilly), {once: true}); } } dom.startFn = start; document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { start: true } })) } catch (e) { console.log(e); } // ้ข„่งˆๆจกๅผ try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9'); function start() { const {track} = dom.commonUtils; const {showMoreButton, getMoreButtonConfig} = dom.renderMoreUtils; const { showECButtonHandler, getECConfig, blockChannelHandler, isAllowTheme, getThemeFormData } = dom.businessUtils; const { disabledThemTips, showChannelNotOpenTips, showSkeletonLayerTips, showMockTips, notFindFormTips } = dom.renderTipsUtils; const {mockAddChildrenDOM, resetRenderDOM} = dom.commonRenderUtils; const { channelEnums, getChannelThemeConfig, getExpressCheckoutList, getOpenChannelType } = dom.coreData; const mockDomId = { [channelEnums.PAYPAL]: channelEnums.PAYPAL, [channelEnums.SHOPLAZZA_GOOGLE]: channelEnums.SHOPLAZZA_GOOGLE, [channelEnums.SHOPLAZZA_APPLE]: channelEnums.SHOPLAZZA_APPLE, [channelEnums.STRIPE_GOOGLE]: channelEnums.STRIPE_GOOGLE, [channelEnums.STRIPE_APPLE]: channelEnums.STRIPE_APPLE, } const renderNotOpenTips = () => { const {blockChannelList, paymentChannelList} = getExpressCheckoutList(); const notOpenChannel = blockChannelList.filter(ecName => !paymentChannelList.includes(ecName)); showChannelNotOpenTips(notOpenChannel); } const renderMockTips = () => { const {hasApplepay, hasGooglepay} = getOpenChannelType(); if (hasApplepay || hasGooglepay) { showMockTips(); } } const renderEC = () => { showECButtonHandler(); const {showChannelList} = getExpressCheckoutList(); const {firstClick, maxSize} = getMoreButtonConfig(); if (showChannelList.length === 0) { showMoreButton(renderEC); } showChannelList.forEach((ecName, index) => { const disableShow = firstClick && index >= maxSize; mockAddChildrenDOM(mockDomId[ecName], !disableShow, getChannelThemeConfig(ecName)); showMoreButton(renderEC); }); } async function loadEC() { const date = new Date().getTime(); dom.loadEC_timestamp = date const ecConfig = await getECConfig(); if (date !== dom.loadEC_timestamp) { return; } const expressCheckoutList = getExpressCheckoutList(); track('preview-loadEC', expressCheckoutList); resetRenderDOM(); // ๅˆๅง‹ๅŒ–ๆ—ถๆฒกๆœ‰ไบ‹ไปถๆŽจ้€ if (ecConfig) { renderNotOpenTips(); renderEC(); renderMockTips(); } } const init = () => { blockChannelHandler(); const {blockChannelList} = getExpressCheckoutList(); if (!isAllowTheme()) { disabledThemTips() return; } const themeFormData = getThemeFormData?.() || {}; if (!themeFormData?.product_id || !themeFormData?.variant_id) { notFindFormTips(); return; } if (blockChannelList.length > 0) { loadEC(); } else { showSkeletonLayerTips() } } init(); } dom.mockStartFn = start; document.dispatchEvent(new CustomEvent('payment_ec_core_ready', { detail: { start: true } })) } catch (e) { } try { const dom = document.getElementById('pm-payment-express-button-1539149753700-9'); window.PaymentEC = {} const delayCallback = (cb) => { window.requestIdleCallback ? requestIdleCallback(cb, {timeout: 50}) : setTimeout(cb, 50); } const checkReady = function (data) { const { i18n, commonUtilsFn, coreDataFn, businessUtilsFn, commonRenderUtilsFn, renderTipsUtilsFn, renderMoreUtilsFn, startFn, mockStartFn } = dom let readyData = { commonUtils: !!(commonUtilsFn) || false, coreData: !!(coreDataFn) || false, businessUtils: !!(businessUtilsFn) || false, commonRenderUtils: !!(commonRenderUtilsFn) || false, renderTipsUtils: !!(renderTipsUtilsFn) || false, renderMoreUtils: !!(renderMoreUtilsFn) || false, start: !!(startFn) || false, mockStart: !!(mockStartFn) || false, i18n: !!(i18n) || false } if (data?.detail) { Object.keys(data.detail).forEach(key => { readyData[key] = data.detail[key] }) } let isReady = true; Object.keys(readyData).forEach(key => { if (!readyData[key]) { isReady = false } }) return isReady } const readyFn = () => { if (!checkReady()) { return; } document.removeEventListener('payment_ec_core_ready', readyFn); dom.commonUtils = dom.commonUtilsFn(); dom.coreData = dom.coreDataFn(); dom.businessUtils = dom.businessUtilsFn(); dom.commonRenderUtils = dom.commonRenderUtilsFn(); dom.renderTipsUtils = dom.renderTipsUtilsFn(); dom.renderMoreUtils = dom.renderMoreUtilsFn(); const productData = dom?.commonUtils?.getProduct?.() || {}; if (JSON.stringify(productData) === '{}') { console.log('[paymentEC]hide: product data is {}') return; } if (dom?.commonUtils?.isPreview()) { dom.mockStartFn() } else { dom.startFn(); } } const init = () => { if (checkReady()) { readyFn(); } else { document.addEventListener('payment_ec_core_ready', readyFn) } } if (document.readyState === 'complete') { delayCallback(init); } else { window.addEventListener('load', () => delayCallback(init), {once: true}); } } catch (e) { }

๐Ÿ’ŸOur goods are authentic. with genuine patents. counterfeit must be investigated! Customers please identify our products!

Are you tired of the high costs and lengthy treatments associated with Botox? Have past skincare products left you feeling disheartened? It's time to reclaim your confidence with Jorondy® Firming Cream!

No invasive procedures or injections required!

Discover Your Ideal Anti-Aging Solution

Whether you're looking to address deep wrinkles. fine lines. puffy eyes. dark circles. under-eye bags. dark spots. melasma. hyperpigmentation. rough texture. or sagging skin. we have an anti-aging formula that's right for you.

LET US HEAR SUCCESFUL STORIES FROM OUR VERIFIED AND SATISFIED CUSTOMERS!

Alicia michaels. 67. showed us the incredible results she achieved after using Jorondy® Firming Cream for 6 weeks!

"I've spent over $4.000 and hours back and forth at a skin clinic I've had for 2 years and only a small change. Then my friend recommended this AnnieCare®Firming Cream to erase wrinkle and I thought I should give it a try because I was almost done with what I had used before. To my surprise. I noticed my skin got brighter. After I noticed the difference and used about 5 bottles my skin got brighter and brighter and my wrinkles and age spots are 99% gone!! I'll keep using it to get my skin back to a more youthful state!"

-Alicia Michaels

Marlene Rivera from Reno. Nevada shares her experience with AnnieCare® Firming Cream:

“I have never used a serum that works so well and it is the best value for money out of all my skin care products and it is my favorite product. This photo was taken after 5 weeks of use! Cannot tell the difference from my friends that are 20 years younger. It's like the Fountain of Youth lol! My skin condition has changed a lot. It was recommended by my dermatologist. I love that this serum makes my skin bouncy. wrinkles have sneaked away. my skin has visibly "lifted" and is less oily. I will continue to use it to bring my skin back to a more youthful state."

- Marlene Rivera

The Loss of Key Components and Skin Aging

As we age. collagen. hyaluronic acid. and ceramides decrease. especially after 30. This decline leads to wrinkles. dryness. uneven skin tone. and loss of elasticity. Eyelids and facial muscles also sag. and neck wrinkles become more noticeable. accelerating the aging process.

Doctor's Endorsement:
Dr. Diana Vork is a board-certified dermatologist and dermatological specialist with over 25 years of experience in the beauty industry. She is renowned for her professionalism in skin health and her use of state-of-the-art cosmetic treatments and dermatological technologies to create and maintain the most natural-looking skin.

AnnieCare® Firming Cream is considered to be the most effective anti-aging product in 2024 and is highly recommended by Dr. Diana Vork.

AnnieCare® Firming Cream uses high-quality ingredients to maximize efficacy by locking in moisture. stimulating collagen production. smoothing wrinkles. and repairing damage. 

Say Goodbye to Drooping Eyelids

AnnieCare® Firming Cream combines cutting-edge technology with unique ingredients to specifically target and deeply repair drooping eyelids. Unlike typical products on the market. AnnieCare® not only stimulates collagen production to enhance the elasticity of the delicate skin around the eyes but also utilizes bee venom peptides to accurately mimic the effects of Botox. This relaxes the muscles around the eyes and lifts sagging eyelids. The unique formula penetrates deep into the skin. promotes blood circulation. and. together with hyaluronic acid's deep moisturizing effects. makes the skin around your eyes plump and full. This effectively reduces drooping eyelids. giving your eyes a youthful. firm appearance. Choose AnnieCare® to experience true skincare innovation and completely say goodbye to drooping eyelids.

Smooth Wrinkles

AnnieCare® Firming Cream uses bee venom peptides to mimic the effects of Botox. relaxing facial muscles and reducing the formation of expression lines. At the same time. hyaluronic acid deeply hydrates the skin. making it plump and effectively smoothing fine lines and wrinkles. The combination of Acetyl Hexapeptide-8 and botulinum toxin targets deep wrinkles like forehead lines and crow's feet. leaving your skin looking firmer and smoother.

Firm and Lift. Redefine Youthful Contours


AnnieCare® Firming Cream
stimulates collagen production. deeply firms the skin. and helps restore facial elasticity and contours. Bee venom peptides mimic the effects of Botox. relaxing facial muscles and lifting sagging areas to reshape well-defined. youthful facial lines. Powerful hydrating ingredients lock in moisture. keeping the skin plump and full. making your facial contours appear tighter and more youthful. with a natural glow.

 

Potent Ingredients with Instant Effects:

Bee Venom Peptides: Bee venom peptides mimic the skin's natural response to micro-stimulation. stimulating the production of collagen and elastin. This can instantly tighten. firm. and blur the appearance of the skin. providing a temporary lifting effect.

Hyaluronic Acid: Hyaluronic acid is a powerful moisturizer naturally found in the skin that can absorb and retain up to 2.000 times its weight in water. It deeply hydrates the skin. fills in fine lines and wrinkles. and restores the skin's elasticity and fullness.

Acetyl Hexapeptide-8: Acetyl Hexapeptide-8. known as a non-invasive alternative to Botox. works by blocking nerve signals to relax muscles. reducing deep wrinkles like forehead lines and crow's feet. and enhancing skin firmness.

Botulinum Toxin: This concentrated ingredient effectively reduces fine lines and wrinkles. especially in areas like the forehead and around the eyes. helping to restore a smooth and youthful complexion.

Danielle's 9 weeks AnnieCare® Firming Cream :

"After the first day of using it. I was amazed at the dramatic results. I am a 56 year old grandma of 2 from Washington DC. I have been using it for one week now and have seen a huge difference in my skin.  it's very hydrating and can be absorbed vary fast. My recent goals are to even out skin tone and remove fine lines and age spots.

"After 5 weeks of using AnnieCare® Firming Cream. The lines. under-eye wrinkles. dark spots. without question - were visibly reduced right before my eyes! I was overjoyed by the results. and literally felt 15 years younger again. It was like watching all my wrinkles and fine lines vanish right off!  I will keep using it. until all my wrinkles and fine lines are gone. I looked in the mirror and saw that my face looked a bit rosy - the result of circulating facial blood flow rushing to the surface of my skin to renew my face.
My face looks firmer and has a beautiful glow after this product is absorbed into my skin."

"After 8 weeks. the wrinkles on my forehead. the sagging skin on my neck. the crow's feet - even the age spots on my face were completely gone. I've tried dozens of products and treatments but none worked better than THIS! 

After 9 weeks. my skin not only maintained this state but actually improved every day Until it becomes as beautiful and radiant as it was 20 years ago. I love my new skin and I love what I see in the mirror. Thank you from the bottom of my heart! I can't wait to recommend it to people around me this product!

"I have been addicted to smoking for 40 years. Frequent smoking makes my skin age quickly. My face is ruined by smoking. There are deep wrinkles on the upper and lower lips. My face looks like dried plums. My forehead Wrinkles too. but not as bad. I've been using AnnieCare® Firming Cream for about 6 weeks and the wrinkles around my eyes and lips have faded a lot. and my complexion is more rosy and feels full of collagen. My skin Looks fitter and tighter. I ordered three more bottles and will continue to use it daily. I am 63 years old and I can finally look at my face without hating myself."

-Georgina Carreon.63/Austin. Texas 

Instructions for Use

Specification

OUR GUARANTEE

  • ๐Ÿ“ฆ Insured Worldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.
  • ๐Ÿ’ฐ Money-Back Guarantee: If your items arrive damaged or become defective within 15 days of normal usage. we will gladly issue a replacement or refund.
  • โœ‰๏ธ 24/7 Customer Support: We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame. 7 days a week.