CINXE.COM

Laravel Herd - Checkout

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Laravel Herd - Checkout</title> <meta name="description" content="Laravel Development perfected."> <meta property="og:title" content="Checkout"> <meta property="og:description" content="Laravel Development perfected - One click PHP development environment."> <meta property="og:site_name" content="Laravel Herd"> <meta property="og:image" content="https://herd.laravel.com/images/card.png"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:image" content="https://herd.laravel.com/images/card.png"> <meta name="twitter:title" content="Checkout"> <meta name="twitter:description" content="Laravel Development perfected - One click PHP development environment."> <link rel="preconnect" href="https://fonts.bunny.net" /> <link href="https://fonts.bunny.net/css?family=be-vietnam-pro:700|inter:400,500,600|rubik:400,700" rel="stylesheet" /> <link rel="icon" href="/favicon.svg"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3"/></pre></li> <!-- Fathom - beautiful, simple website analytics --> <script src="https://cdn.usefathom.com/script.js" data-site="GOOVIPYO" defer></script> <!-- / Fathom --> <script src="https://js.sentry-cdn.com/3a8a304378c06f5a7d0f0bedbf5c149f.min.js" crossorigin="anonymous" ></script> <script src="https://cdn.paddle.com/paddle/v2/paddle.js"></script> <script type="text/javascript"> Paddle.Initialize({ token: "live_60c4dc92b093ee9498dae15999c", checkout: { settings: { //variant: "one-page", displayMode: "inline", frameTarget: "paddle-checkout-container", frameInitialHeight: 450, frameStyle: "width:100%; min-width:312px; background-color: white; border: none;", } }, eventCallback: function(data) { try { updatePrices(data); } catch (e) { } try { if (data.name === 'checkout.completed') { fathom.trackEvent('New.' + data.name, { _value: data.data.totals.total * 100, }); } else { fathom.trackEvent('New.' + data.name); } } catch (e) { } } }); </script> <link rel="preload" as="style" href="https://herd.laravel.com/build/assets/app-41e51ea5.css" /><link rel="modulepreload" href="https://herd.laravel.com/build/assets/app-22e4e01b.js" /><link rel="stylesheet" href="https://herd.laravel.com/build/assets/app-41e51ea5.css" data-navigate-track="reload" /><script type="module" src="https://herd.laravel.com/build/assets/app-22e4e01b.js" data-navigate-track="reload"></script></head> <body class="min-h-screen font-sans antialiased bg-white"> <div id="checkout-fail" class="hidden w-screen"> <div class="lg:min-h-screen w-full flex justify-center items-center"> <div class="flex flex-col max-w-3xl mx-auto text-center space-y-4"> <span class="text-3xl font-bold">We're sorry 😢</span> <span class=" text-gray-600">It looks like you are visiting our site from a country that our payment processor <a href="https://paddle.com" target="_blank" class="underline">Paddle</a> doesn't support at the moment. Please check the information on <a href="https://www.paddle.com/help/start/intro-to-paddle/which-countries-are-supported-by-paddle" target="_blank" class="underline">their website</a> to see if that's the case. If your country is supported, please disable your adblocker or try again later.</span> <a href="/" class="underline text-gray-600">Back to the Herd website</a> </div> </div> </div> <div class="lg:min-h-screen flex flex-wrap" id="checkout"> <div id="summary" class="w-full lg:w-3/5 order-1 lg:order-2 pt-12 px-12 bg-gray-100" x-data="checkout" x-init="$watch('teamPurchase', teamPurchase => { window.PaddleOptions.teamPurchase = teamPurchase; this.updateCheckout(); }); $watch('subscription', value => { window.PaddleOptions.subscription = value; this.updateCheckout(); })" x-show="show" @hide-summary.window="show = false" -vat.window="vat = true" > <div class="lg:hidden block"> <a href="/" class="flex items-center px-0"> <svg class="h-12 w-12 text-red-600" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 440 550"> <path fill="currentColor" d=" M 0.00 0.00 L 150.06 0.00 L 150.02 198.27 A 0.57 0.57 0.0 0 0 150.58 198.84 C 167.47 199.01 185.36 198.48 201.42 199.56 Q 247.43 202.65 289.75 221.46 Q 346.73 247.69 385.71 296.75 Q 419.64 340.34 432.91 394.00 L 437.71 417.50 L 437.79 419.50 Q 437.83 425.29 439.55 430.80 L 440.00 442.31 L 440.00 550.00 L 290.19 550.00 Q 289.89 505.03 289.98 460.07 Q 290.01 447.06 289.06 440.12 C 282.53 392.50 244.70 355.36 196.96 349.75 C 183.01 348.11 165.77 348.98 150.50 349.05 A 0.51 0.49 0.0 0 0 149.99 349.54 L 149.94 550.00 L 0.00 550.00 L 0.00 0.00 Z" /> <path fill="currentColor" fill-opacity="0.718" d=" M 291.06 0.00 L 440.00 0.00 L 440.00 410.56 L 439.71 412.50 Q 438.01 415.34 438.46 418.75 Q 438.21 413.29 437.71 417.50 L 432.91 394.00 L 434.02 395.06 A 1.22 0.57 -76.8 0 1 434.21 395.98 C 433.99 397.92 434.99 399.36 435.26 400.92 Q 436.36 407.12 437.36 413.33 A 0.51 0.39 84.6 0 0 437.75 413.75 L 438.26 413.76 A 0.82 0.48 -84.6 0 0 438.79 413.02 Q 439.08 410.54 439.09 404.81 Q 439.19 204.13 439.12 2.95 A 1.69 1.69 0.0 0 0 437.43 1.26 L 290.03 1.42 Q 289.77 0.34 291.06 0.00 Z" /> <path fill="currentColor" fill-opacity="0.671" d=" M 432.91 394.00 Q 419.64 340.34 385.71 296.75 C 384.61 293.06 380.98 289.81 378.76 287.15 C 359.29 263.80 331.94 242.48 303.53 227.45 Q 295.45 223.17 290.31 220.80 L 290.19 220.62 A 0.76 0.65 31.6 0 1 290.06 220.22 L 290.03 1.42 L 437.43 1.26 A 1.69 1.69 0.0 0 1 439.12 2.95 Q 439.19 204.13 439.09 404.81 Q 439.08 410.54 438.79 413.02 A 0.82 0.48 -84.6 0 1 438.26 413.76 L 437.75 413.75 A 0.51 0.39 84.6 0 1 437.36 413.33 Q 436.36 407.12 435.26 400.92 C 434.99 399.36 433.99 397.92 434.21 395.98 A 1.22 0.57 -76.8 0 0 434.02 395.06 L 432.91 394.00 Z" /> <path fill="currentColor" fill-opacity="0.788" d=" M 385.71 296.75 Q 346.73 247.69 289.75 221.46 L 290.31 220.80 Q 295.45 223.17 303.53 227.45 C 331.94 242.48 359.29 263.80 378.76 287.15 C 380.98 289.81 384.61 293.06 385.71 296.75 Z" /> <path fill="currentColor" fill-opacity="0.980" d=" M 439.71 412.50 L 439.55 430.80 Q 437.83 425.29 437.79 419.50 Q 438.46 421.97 438.46 418.75 Q 438.01 415.34 439.71 412.50 Z" /> <path fill="currentColor" fill-opacity="0.671" d=" M 438.46 418.75 Q 438.46 421.97 437.79 419.50 L 437.71 417.50 Q 438.21 413.29 438.46 418.75 Z" /> </svg> <span class="pl-3 font-bold">Laravel Herd</span> </a> </div> <div class="pt-16 max-w-xl"> <div x-show="!teamPurchase"> <h1 class="font-bold text-2xl font-display"> Herd <span class="text-red-600">Pro</span> </h1> <div class="text-4xl py-4 font-bold flex"> <div> <span class="currency"></span><span class="total-h1">$299.00</span> </div> </div> <div> Boost your productivity with Herd Pro's powerful developer features.<br> </div> <div class="mt-4 text-sm"> <ul> <li class="flex items-center space-x-2"> <svg width="21" height="16" viewBox="0 0 21 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M1 9.5L6.5 15L20.5 1" stroke="#F9332B"/> </svg> <span>License for one year</span> </li> <li class="flex items-center space-x-2"> <svg width="21" height="16" viewBox="0 0 21 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M1 9.5L6.5 15L20.5 1" stroke="#F9332B"/> </svg> <span>Activate on up to two computers</span> </li> </ul> </div> </div> <div x-show="teamPurchase"> <h1 class="font-bold text-2xl font-display"> Herd for <span class="text-red-600">Teams</span> </h1> <div class="text-4xl py-4 font-bold"> <span class="currency"></span><span class="total-h1">$299.00</span> </div> <div> Improve your team's productivity with Herd Pro's powerful features. </div> <div class="mt-4 text-sm"> <ul> <li class="flex items-center space-x-2"> <svg width="21" height="16" viewBox="0 0 21 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M1 9.5L6.5 15L20.5 1" stroke="#F9332B"/> </svg> <span>10 licenses for one year</span> </li> <li class="flex items-center space-x-2"> <svg width="21" height="16" viewBox="0 0 21 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M1 9.5L6.5 15L20.5 1" stroke="#F9332B"/> </svg> <span>One concurrent activation per license</span> </li> </ul> </div> </div> <div class="text-sm pt-8"> All prices displayed in <span id="display-currency">USD</span>. </div> <div class="pt-4 text-sm"> One-time purchase or automatic renewal—choose what works best for you! </div> <label for="subscriptionUpgrade" class="mt-6 cursor-pointer flex items-center space-x-4 text-sm"> <button type="button" x-on:click="subscription = !subscription" :class="{ 'bg-gray-600': !subscription, 'bg-red-500': subscription, }" class="relative inline-flex h-4 w-8 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none" role="switch" aria-checked="false"> <span class="sr-only">Upgrade to automatic renewal</span> <span aria-hidden="true" :class="{ 'translate-x-4': subscription, 'translate-x-0': !subscription, }" class="translate-x-0 pointer-events-none inline-block h-3 w-3 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out"></span> </button> <p x-on:click="subscription = !subscription">Renew your license automatically</p> </label> <div class="flex flex-col pt-8"> <div class="flex justify-between border-b border-gray-300 py-4"> <div class="flex flex-col items-start justify-center"> <div x-show="!teamPurchase"> <span>Licenses</span> <div class="text-sm opacity-70"> Buying for a team? <span class="cursor-pointer underline" @click="teamPurchase = true">Get a team license</span> </div> </div> <div x-show="teamPurchase"> <span>Team License Pack (10 Licenses)</span> <div class="text-sm opacity-70"> Need less than 3 licenses? <span class="cursor-pointer underline" @click="teamPurchase = false">Get Herd Pro</span> </div> </div> </div> <div class="flex space-x-1" x-data="{ quantity: 1 }" x-init="$watch('quantity', quantity => { window.PaddleOptions.quantity = quantity; updateCheckout() })" > <button class="inline-flex items-center px-2 py-1 bg-white border border-gray-300 rounded-md font-semibold text-xs text-gray-700 uppercase tracking-widest shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 disabled:opacity-25 transition ease-in-out duration-150" @click="quantity = quantity-1" :disabled="quantity < 2"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4"> <path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /> </svg> </button> <input class="w-10 text-center border-gray-300 focus:border-indigo-500 focus:ring-indigo-500 rounded-md shadow-sm text-sm" type="text" x-model="quantity" disabled> <button class="inline-flex items-center px-2 py-1 bg-white border border-gray-300 rounded-md font-semibold text-xs text-gray-700 uppercase tracking-widest shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 disabled:opacity-25 transition ease-in-out duration-150" @click="quantity = quantity+1"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /> </svg> </button> </div> </div> <div class="flex justify-between border-b border-gray-300 py-4"> <div>Subtotal</div> <div class="font-bold"> <span class="currency"></span><span id="subtotal">$299.00</span> </div> </div> <div id="discount-holder" class="hidden flex justify-between border-b border-gray-300 py-4"> <div>Discount</div> <div> - <span class="currency"></span><span id="discount"></span> </div> </div> <div class="flex justify-between border-b border-gray-300 py-4"> <div>Sales tax</div> <div> <span class="currency hidden" id="tax-currency"></span><span id="tax">Calculated at next step</span> </div> </div> <div class="flex justify-between py-4"> <div class="font-bold">Total</div> <div class="font-bold"> <span class="currency"></span><span id="total">$299.00</span> </div> </div> </div> <div id="tax-information"> <div class="text-xs text-silver-200 py-8" x-show="vat" x-cloak> <p>You can add your company information and VAT number on the payment screen.</p> </div> </div> </div> </div> <div id="confirmation" x-data="{ show: false }" -confirmation.window="show = true" x-show="show" class="w-full lg:w-3/5 order-1 lg:order-2 text-white pt-12 px-12" x-cloak > <div x-show="show" class="text-white pt-16"> <div class="flex flex-col pb-8"> <div class="text-2xl leading-8 font-display"> Thank you for buying Herd Pro ❤️! </div> <div class=""> <div> <div class="pt-4"> We are happy to welcome you as a customer, and while we'll deliver your license key your email inbox (it usually takes 1-2 minutes), sign up or log into the license management portal. </div> <div class="pt-4"> You can manage your license key, see concurrent activations, or download your invoices there. </div> <div class="pt-4 flex items-center justify-center"> <a href="https://herd.laravel.com/register" class="px-4 py-2 mt-4 font-bold text-white rounded-lg bg-purple hover:bg-purple-gradient focus:bg-purple-darker focus:text-opacity-70 focus:outline-none group"> Sign up </a> </div> </div> </div> </div> </div> </div> <div class="w-full lg:w-2/5 order-2 lg:order-1 pt-12 px-12 bg-white lg:h-full"> <div class="hidden lg:inline"> <a href="/" class="flex items-center px-4 lg:px-0"> <svg class="size-8 text-red-600" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 440 550"> <path fill="currentColor" d=" M 0.00 0.00 L 150.06 0.00 L 150.02 198.27 A 0.57 0.57 0.0 0 0 150.58 198.84 C 167.47 199.01 185.36 198.48 201.42 199.56 Q 247.43 202.65 289.75 221.46 Q 346.73 247.69 385.71 296.75 Q 419.64 340.34 432.91 394.00 L 437.71 417.50 L 437.79 419.50 Q 437.83 425.29 439.55 430.80 L 440.00 442.31 L 440.00 550.00 L 290.19 550.00 Q 289.89 505.03 289.98 460.07 Q 290.01 447.06 289.06 440.12 C 282.53 392.50 244.70 355.36 196.96 349.75 C 183.01 348.11 165.77 348.98 150.50 349.05 A 0.51 0.49 0.0 0 0 149.99 349.54 L 149.94 550.00 L 0.00 550.00 L 0.00 0.00 Z" /> <path fill="currentColor" fill-opacity="0.718" d=" M 291.06 0.00 L 440.00 0.00 L 440.00 410.56 L 439.71 412.50 Q 438.01 415.34 438.46 418.75 Q 438.21 413.29 437.71 417.50 L 432.91 394.00 L 434.02 395.06 A 1.22 0.57 -76.8 0 1 434.21 395.98 C 433.99 397.92 434.99 399.36 435.26 400.92 Q 436.36 407.12 437.36 413.33 A 0.51 0.39 84.6 0 0 437.75 413.75 L 438.26 413.76 A 0.82 0.48 -84.6 0 0 438.79 413.02 Q 439.08 410.54 439.09 404.81 Q 439.19 204.13 439.12 2.95 A 1.69 1.69 0.0 0 0 437.43 1.26 L 290.03 1.42 Q 289.77 0.34 291.06 0.00 Z" /> <path fill="currentColor" fill-opacity="0.671" d=" M 432.91 394.00 Q 419.64 340.34 385.71 296.75 C 384.61 293.06 380.98 289.81 378.76 287.15 C 359.29 263.80 331.94 242.48 303.53 227.45 Q 295.45 223.17 290.31 220.80 L 290.19 220.62 A 0.76 0.65 31.6 0 1 290.06 220.22 L 290.03 1.42 L 437.43 1.26 A 1.69 1.69 0.0 0 1 439.12 2.95 Q 439.19 204.13 439.09 404.81 Q 439.08 410.54 438.79 413.02 A 0.82 0.48 -84.6 0 1 438.26 413.76 L 437.75 413.75 A 0.51 0.39 84.6 0 1 437.36 413.33 Q 436.36 407.12 435.26 400.92 C 434.99 399.36 433.99 397.92 434.21 395.98 A 1.22 0.57 -76.8 0 0 434.02 395.06 L 432.91 394.00 Z" /> <path fill="currentColor" fill-opacity="0.788" d=" M 385.71 296.75 Q 346.73 247.69 289.75 221.46 L 290.31 220.80 Q 295.45 223.17 303.53 227.45 C 331.94 242.48 359.29 263.80 378.76 287.15 C 380.98 289.81 384.61 293.06 385.71 296.75 Z" /> <path fill="currentColor" fill-opacity="0.980" d=" M 439.71 412.50 L 439.55 430.80 Q 437.83 425.29 437.79 419.50 Q 438.46 421.97 438.46 418.75 Q 438.01 415.34 439.71 412.50 Z" /> <path fill="currentColor" fill-opacity="0.671" d=" M 438.46 418.75 Q 438.46 421.97 437.79 419.50 L 437.71 417.50 Q 438.21 413.29 438.46 418.75 Z" /> </svg> <span class="pl-3 font-bold text-base">Laravel Herd</span> </a> <div class="py-8 flex text-sm items-center"> <span class="font-bold text-red-600" id="step-details">Your details</span> <svg aria-hidden="true" class="h-6 w-6 stroke-current" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="m10.75 8.75 3.5 3.25-3.5 3.25" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> <span id="step-payment">Payment</span> </div> </div> <div class="paddle-checkout-container"></div> </div> </div> <script type="text/javascript"> function updatePrices(data) { const allowedEvents = [ 'checkout.loaded', 'checkout.updated', 'checkout.completed', 'checkout.items.updated', 'checkout.customer.created', 'checkout.customer.updated', 'checkout.discount.applied', 'checkout.discount.removed', ]; const eventName = data.name; if (!allowedEvents.includes(eventName)) { return; } if (eventName === 'checkout.completed') { document.location.href = "http://herd.laravel.com/checkout/thank-you?checkout_id=" + data.data.transaction_id; return; } const currencyLabels = document.querySelectorAll(".currency"); let total; let tax; let subtotal; let discount; let discountId; try { total = data.data.totals.total.toFixed(2); tax = data.data.totals.tax.toFixed(2); discount = data.data.totals.discount.toFixed(2); subtotal = data.data.totals.subtotal.toFixed(2); } catch (e) { document.getElementById('checkout-fail').classList.remove('hidden'); document.getElementById('checkout').classList.add('hidden'); return; } let currencyCode = data.data.currency_code; let currency = currencyCode; window.PaddleOptions.currencyCode = currencyCode; document.getElementById('display-currency').innerHTML = currency; if (currency === 'EUR') { currency = '€'; } else if (currency === 'USD') { currency = '$'; } else if (currency === 'GBP') { currency = '£'; } for(var i = 0; i < currencyLabels.length; i++) { currencyLabels[i].innerHTML = currency; } if (eventName === 'checkout.loaded') { discountId = window.PaddleOptions.teamPurchase ? window.PaddleOptions.teamDiscountIds[currencyCode] : window.PaddleOptions.singleDiscountIds[currencyCode]; if (discountId) { Paddle.Checkout.updateCheckout({ discount_id: discountId, }); } } if (eventName === 'checkout.loaded' || eventName === 'checkout.items.updated' || eventName === 'checkout.updated') { if (data.data.customer.address === null || data.data.customer.address.country_code === undefined) { let discountedSubtotal = (parseFloat(subtotal) - parseFloat(discount)).toFixed(2); setPrices(discountedSubtotal, subtotal, 'Calculated at next step', discountedSubtotal, discount); document.getElementById('tax-currency').classList.add('hidden'); } else { setPrices(total, subtotal, tax, total, discount); } if (data.currency_code === 'EUR') { document.getElementById('summary').dispatchEvent(new CustomEvent('show-vat')); } } else if (eventName === 'checkout.customer.created') { document.getElementById("tax-currency").classList.remove('hidden'); document.getElementById("step-details").style.fontWeight = "400"; document.getElementById("step-payment").style.fontWeight = "700"; document.getElementById("step-details").style.color = "#000000"; document.getElementById("step-payment").style.color = "#6164D4"; setPrices(total, subtotal, tax, total, discount); } else if (eventName === 'checkout.customer.updated' || eventName === 'checkout.discount.applied' || eventName === 'checkout.discount.removed') { setPrices(total, subtotal, tax, total, discount); } else if (data.event === 'Checkout.Complete') { document.getElementById('summary').dispatchEvent(new CustomEvent('hide-summary')); document.getElementById('confirmation').dispatchEvent(new CustomEvent('show-confirmation')); } } function setPrices(h1, subtotal, tax, total, discount) { let totals = document.getElementsByClassName('total-h1') for (let i = 0; i < totals.length; i++) { totals[i].innerHTML = h1; } document.getElementById("subtotal").innerHTML = subtotal; document.getElementById("tax").innerHTML = tax; document.getElementById("total").innerHTML = total; document.getElementById("discount").innerHTML = discount; if (discount > 0) { document.getElementById('discount-holder').classList.remove('hidden'); } else { document.getElementById('discount-holder').classList.add('hidden'); } } function updateCheckout() { let priceId = window.PaddleOptions.teamPurchase ? window.PaddleOptions.teamPriceId : window.PaddleOptions.singlePriceId;; let subscriptionPriceId = window.PaddleOptions.teamPurchase ? window.PaddleOptions.teamSubscriptionPriceId : window.PaddleOptions.singleSubscriptionPriceId; let setupPriceId = window.PaddleOptions.teamPurchase ? window.PaddleOptions.teamSubscriptionSetupPriceId : window.PaddleOptions.singleSubscriptionSetupPriceId; let discountId = window.PaddleOptions.teamPurchase ? window.PaddleOptions.teamDiscountIds[window.PaddleOptions.currencyCode] : window.PaddleOptions.singleDiscountIds[window.PaddleOptions.currencyCode]; let items = [ { priceId: window.PaddleOptions.subscription ? subscriptionPriceId : priceId, quantity: parseInt(window.PaddleOptions.quantity), } ]; if (window.PaddleOptions.subscription) { items.push({ priceId: setupPriceId, quantity: 1, }); } let payload = { items: items, }; if (discountId) { payload.discount_id = discountId; } else { payload.discount_id = null; } Paddle.Checkout.updateCheckout(payload); } function openCheckout() { let priceId = window.PaddleOptions.teamPurchase ? window.PaddleOptions.teamPriceId : window.PaddleOptions.singlePriceId;; let subscriptionPriceId = window.PaddleOptions.teamPurchase ? window.PaddleOptions.teamSubscriptionPriceId : window.PaddleOptions.singleSubscriptionPriceId; let setupPriceId = window.PaddleOptions.teamPurchase ? window.PaddleOptions.teamSubscriptionSetupPriceId : window.PaddleOptions.singleSubscriptionSetupPriceId; let items = [ { priceId: window.PaddleOptions.subscription ? subscriptionPriceId : priceId, quantity: parseInt(window.PaddleOptions.quantity), } ]; if (window.PaddleOptions.subscription) { items.push({ priceId: setupPriceId, quantity: 1, }); } let checkoutData = { customData: { first_visit: '', }, items: items, settings: { //variant: 'one-page', showAddTaxId: true, } }; if (window.PaddleOptions.email) { checkoutData.customer = { email: window.PaddleOptions.email, }; } Paddle.Checkout.open(checkoutData); } window.PaddleOptions = { quantity: "1", singlePriceId: "pri_01jcn13b664x2a0njtqksbzw9r", singleSubscriptionPriceId: "pri_01jcn15jvba081err5deejp72y", singleSubscriptionSetupPriceId: "pri_01jcn16fvstwaxwez2zy2g8kne", singleDiscountIds: [], teamPriceId: "pri_01jcn17qxy658393h2herqqpf7", teamSubscriptionPriceId: "pri_01jcn1b124281ddgrk4pw9dbzg", teamSubscriptionSetupPriceId: "pri_01jcn1bwpsta03a4y27nssj60p", teamDiscountIds: [], priceId: "pri_01jcn17qxy658393h2herqqpf7", teamPurchase: true, subscription: true, email: "", country: "", postcode: "", currencyCode: "USD", } document.addEventListener('alpine:init', () => { Alpine.data('checkout', () => ({ show: true, vat: false, subscription: true, teamPurchase: true, updateCheckout() { updateCheckout(); } })); }); openCheckout(); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10