<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Partial.ly Support]]></title><description><![CDATA[Support for using Partial.ly payment plan software]]></description><link>https://support.partial.ly/</link><image><url>https://support.partial.ly/favicon.png</url><title>Partial.ly Support</title><link>https://support.partial.ly/</link></image><generator>Ghost 3.19</generator><lastBuildDate>Mon, 30 Mar 2026 21:33:18 GMT</lastBuildDate><atom:link href="https://support.partial.ly/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Getting Started]]></title><description><![CDATA[<p>Thanks for your interest in Partial.ly. This article will cover the basics.</p><h2 id="what-is-partial-ly">What is Partial.ly?</h2><p>Partial.ly is a payment plan software. Our program automatically schedules and processes payments. We provide a variety of tools to streamline the payment plan process.</p><h2 id="how-much-does-it-cost-to-use-partial-ly">How much does it cost to use</h2>]]></description><link>https://support.partial.ly/getting-started/</link><guid isPermaLink="false">5f89f4249ab8d948bbc9a6a4</guid><category><![CDATA[Merchant Support]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Thu, 01 Jan 2026 06:00:00 GMT</pubDate><content:encoded><![CDATA[<p>Thanks for your interest in Partial.ly. This article will cover the basics.</p><h2 id="what-is-partial-ly">What is Partial.ly?</h2><p>Partial.ly is a payment plan software. Our program automatically schedules and processes payments. We provide a variety of tools to streamline the payment plan process.</p><h2 id="how-much-does-it-cost-to-use-partial-ly">How much does it cost to use Partial.ly?</h2><p>You can read about our pricing here: <a href="https://partial.ly/pricing">About Partial.ly Pricing.</a></p><h2 id="what-is-required-to-use-partial-ly">What is required to use Partial.ly?</h2><p>Partial.ly requires you to connect a Stripe account. You can register for a Stripe account at <a href="https://stripe.com">www.stripe.com</a>. </p><h2 id="how-do-i-register-for-partial-ly">How do I register for Partial.ly?</h2><p>You can create your Partial.ly merchant account at <a href="https://partial.ly/register">https://partial.ly/register</a>.</p><h2 id="i-have-registered-now-what">I have registered, now what?</h2><p>Once registered, you will be required to complete 3 tasks:</p><ol><li>Connect your Stripe account.</li><li>Create an Offer. The offer contains your payment plan terms. You can learn more about offers here: <a href="https://support.partial.ly/offers/">What is an Offer?</a></li><li>Connect Other Software (optional). Partial.ly integrates with a variety of e-commerce and invoice softwares. Learn more with our <a href="https://support.partial.ly/integrations-faq/">Integration FAQs.</a></li></ol><p>If you do not use an integration partner, you can skip this step. </p><h2 id="i-don-t-use-one-of-your-integration-partners-can-i-still-use-partial-ly">I don't use one of your integration partners, can I still use Partial.ly?</h2><p>Yes. You are welcome to use Partial.ly as a standalone software to email and manage plans. You can read more on this here: <a href="https://support.partial.ly/standalone/">Partial.ly as a Standalone Program.</a></p><p>You can also install Partial.ly onto your website without an integration. Take a look at the following support article: <a href="https://support.partial.ly/use-partial-ly-without-an-integration/">Partial.ly without an Integration. </a></p><p>We also have a Zapier integration and Webhooks system so you could very likely trigger the required actions within your platform or any other software services you are using. More on this can be read below:</p><ul><li><a href="https://support.partial.ly/merchant_webhooks/" rel="noopener noreferrer">https://support.partial.ly/merchant_webhooks/</a></li><li><a href="https://support.partial.ly/zapier/" rel="noopener noreferrer">https://support.partial.ly/zapier/</a></li></ul><h2 id="do-you-provide-api-access">Do you provide API access?</h2><p>Yes, you can access our API here: <a href="https://developer.partial.ly/#introduction" rel="noopener noreferrer">https://developer.partial.ly/#introduction</a></p><h2 id="i-do-use-one-of-your-integration-partners-and-would-like-more-info-on-how-partial-ly-works-with-my-platform-">I do use one of your integration partners and would like more info on how Partial.ly works with my platform. </h2><p>For more info on your specific integration, please checkout our <a href="https://support.partial.ly/integrations-faq/">Integration FAQs. </a></p><p>You can also go to the <a href="https://support.partial.ly/tag/merchant/">Merchant Support Page </a>and type in your e-commerce platform or software into the search box. </p><figure class="kg-card kg-image-card"><img src="https://support.partial.ly/content/images/2023/03/Screenshot-2023-03-28-at-10.36.06-AM.png" class="kg-image" srcset="https://support.partial.ly/content/images/size/w600/2023/03/Screenshot-2023-03-28-at-10.36.06-AM.png 600w, https://support.partial.ly/content/images/size/w1000/2023/03/Screenshot-2023-03-28-at-10.36.06-AM.png 1000w, https://support.partial.ly/content/images/size/w1600/2023/03/Screenshot-2023-03-28-at-10.36.06-AM.png 1600w, https://support.partial.ly/content/images/size/w2400/2023/03/Screenshot-2023-03-28-at-10.36.06-AM.png 2400w"></figure><!--kg-card-begin: markdown--><p>If you need further assistance with your integration, please contact our support team at <a href="mailto:support@partial.ly">support@partial.ly</a>.</p>
<!--kg-card-end: markdown--><h2 id="how-do-i-manage-my-plans">How do I manage my plans?</h2><p>You can learn more about managing your plans here: <a href="https://support.partial.ly/tag/plan-management/">https://support.partial.ly/tag/plan-management/</a></p><h2 id="have-more-questions">Have more questions?</h2><!--kg-card-begin: markdown--><p>Please email us at <a href="mailto:support@partial.ly">support@partial.ly</a></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Integration FAQs]]></title><description><![CDATA[<h3 id="who-are-partial-ly-s-integration-partners">Who are Partial.ly's Integration Partners?</h3><p>Partial.ly directly integrates with the following e-commerce platforms:</p><ul><li><a href="https://support.partial.ly/tag/bigcommerce/">Bigcommmerce</a></li><li><a href="https://support.partial.ly/tag/woocommerce/">Woocommerce</a></li><li><a href="https://support.partial.ly/tag/ecwid/">Ecwid</a></li><li><a href="https://support.partial.ly/connecting-squarespace/">Squarespace</a></li><li><a href="https://support.partial.ly/prestashop-module/">Prestashop</a></li><li><a href="https://support.partial.ly/opencart-extension/">Opencart</a></li><li><a href="https://support.partial.ly/magento-module/">Magento</a></li></ul><p>Partial.ly directly integrates with the following accounting softwares: </p><ul><li><a href="https://support.partial.ly/quickbooks/">Quickbooks</a></li><li>Harvest</li><li><a href="https://support.partial.ly/tag/freshbooks/">Freshbooks</a></li></ul><p>Partial.ly also integrates with:</p><ul><li><a href="https://support.partial.ly/tag/zapier/">Zapier</a></li><li><a href="https://support.partial.ly/tag/shopify/">Shopify</a> via Zapier</li><li><a href="https://support.partial.ly/nexhealth/">Nexhealth </a>(OpenDental, Dentrix, and Eaglesoft)</li><li><a href="https://support.partial.ly/avalara-avatax-integration/">Avalara AvaTax</a></li></ul>]]></description><link>https://support.partial.ly/integrations-faq/</link><guid isPermaLink="false">602fe89923bf1616093f5d4f</guid><category><![CDATA[Merchant Support]]></category><category><![CDATA[Integrations]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Wed, 31 Dec 2025 17:04:00 GMT</pubDate><content:encoded><![CDATA[<h3 id="who-are-partial-ly-s-integration-partners">Who are Partial.ly's Integration Partners?</h3><p>Partial.ly directly integrates with the following e-commerce platforms:</p><ul><li><a href="https://support.partial.ly/tag/bigcommerce/">Bigcommmerce</a></li><li><a href="https://support.partial.ly/tag/woocommerce/">Woocommerce</a></li><li><a href="https://support.partial.ly/tag/ecwid/">Ecwid</a></li><li><a href="https://support.partial.ly/connecting-squarespace/">Squarespace</a></li><li><a href="https://support.partial.ly/prestashop-module/">Prestashop</a></li><li><a href="https://support.partial.ly/opencart-extension/">Opencart</a></li><li><a href="https://support.partial.ly/magento-module/">Magento</a></li></ul><p>Partial.ly directly integrates with the following accounting softwares: </p><ul><li><a href="https://support.partial.ly/quickbooks/">Quickbooks</a></li><li>Harvest</li><li><a href="https://support.partial.ly/tag/freshbooks/">Freshbooks</a></li></ul><p>Partial.ly also integrates with:</p><ul><li><a href="https://support.partial.ly/tag/zapier/">Zapier</a></li><li><a href="https://support.partial.ly/tag/shopify/">Shopify</a> via Zapier</li><li><a href="https://support.partial.ly/nexhealth/">Nexhealth </a>(OpenDental, Dentrix, and Eaglesoft)</li><li><a href="https://support.partial.ly/avalara-avatax-integration/">Avalara AvaTax</a></li><li><a href="https://support.partial.ly/partial-ly-stripe-app/">Stripe Invoices</a></li></ul><h3 id="what-if-i-do-not-use-your-integration-partners">What if I Do Not Use Your Integration Partners?</h3><p>No problem. Please read our article on <a href="https://support.partial.ly/use-partial-ly-without-an-integration/">Using Partial.ly Without an Integration</a>. </p><h3 id="what-if-i-do-not-use-a-website">What if I Do Not Use a Website?</h3><p>No problem. Please read our article on <a href="https://support.partial.ly/standalone/">Using Partial.ly as a Standalone Software. </a></p><h3 id="have-more-questions">Have More Questions?</h3><p>Please email us at <a href="mailto:support@partial.ly">support@partial.ly</a></p>]]></content:encoded></item><item><title><![CDATA[Partial.ly without an Integration]]></title><description><![CDATA[<p>This support article is for merchants who want to use Partial.ly on a website, but do not use one of our <a href="https://partial.ly/integrations">Integration Partners</a>.</p><p>If you do not wish to use Partial.ly on a website but rather email plans to your customers, please view: <a href="https://support.partial.ly/standalone/">Using Partial.ly as a</a></p>]]></description><link>https://support.partial.ly/use-partial-ly-without-an-integration/</link><guid isPermaLink="false">5ff8b1ff9ab8d948bbc9a8df</guid><category><![CDATA[Merchant Support]]></category><category><![CDATA[Integrations]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Tue, 30 Dec 2025 19:48:00 GMT</pubDate><content:encoded><![CDATA[<p>This support article is for merchants who want to use Partial.ly on a website, but do not use one of our <a href="https://partial.ly/integrations">Integration Partners</a>.</p><p>If you do not wish to use Partial.ly on a website but rather email plans to your customers, please view: <a href="https://support.partial.ly/standalone/">Using Partial.ly as a Standalone Program.</a></p><p>If you have not created your Partial.ly account yet, please see our article on <a href="https://support.partial.ly/getting-started/">Getting Started.</a></p><h3 id="how-can-i-use-partial-ly-on-my-website-without-an-integration">How can I use Partial.ly on my website without an integration?</h3><p>You will first need create an Offer. Once an Offer is created, you can use the Integration Tool of your Offer to generate a URL link that can be embedded onto your site (ex. embed into a button on your product page). You can learn more about Offers here: <a href="https://support.partial.ly/offers/">What is an Offer?</a></p><p>You can also install Partial.ly onto your website without an integration by utilizing the Partial.ly checkout button script. Take a look at the following support article: <a href="https://support.partial.ly/partial-ly-checkout-button/">Partial.ly checkout button</a>.</p><h3 id="i-need-partial-ly-to-trigger-certain-actions-or-communicate-with-other-software">I need Partial.ly to trigger certain actions / or communicate with other software?</h3><p>We have a <a href="https://support.partial.ly/zapier/">Zapier</a> integration, <a href="https://support.partial.ly/merchant_webhooks/">Webhooks</a> system and an <a href="http://developer.partial.ly/">API</a>, so you could very likely trigger the required actions within your platform or any other software services you are using. </p><p>You can connect to our Zapier <a href="https://zapier.com/platform/public-invite/8510/a8af1e6e47a9a2087841d4d1f506c612/">a</a>pp here: <a href="https://zapier.com/apps/partially/integrations">https://zapier.com/apps/partially/integrations</a></p><p>Our API can be accessed here: ​<a href="https://developer.partial.ly/" rel="noopener noreferrer">https://developer.partial.ly/</a></p><h3 id="i-use-wix-how-can-i-use-partial-ly">I use Wix, how can I use Partial.ly?</h3><p>Please checkout the following Wix Article: <a href="https://support.wix.com/en/article/wix-editor-adding-a-link-to-a-button">Wix Editor: Adding a Link to a Button</a></p><p>You will want to create a button within your services page on Wix and have that button use the URL link generated by the Integration Tool of your Offer.</p><h3 id="i-use-weebly-how-can-i-use-partial-ly">I use Weebly, how can I use Partial.ly?</h3><p>You can use the URL link generated by the Integration Tool of your Offer to embed a button on your site. </p><p>Please view the following video tutorial on how to add hyperlinks to buttons within Weebly:  <a href="https://www.youtube.com/watch?v=SDN_Z_Misew">How to Add Hyperlinks to Buttons in Weebly.</a></p><h3 id="i-use-clickfunnels-how-can-i-use-partial-ly">I use ClickFunnels, how can I use Partial.ly?</h3><p>You can use the URL link generated by the Integration Tool of your Offer to embed a button within the ClickFunnels page creator.</p><p>Please view the following YouTube tutorial on adding a button with an external link through ClickFunnels here: <a href="https://www.youtube.com/watch?v=_Xci6qqAy1I&amp;feature=emb_title">How to Set Button or Text Link in ClickFunnels To Open New Windows</a></p><h3 id="i-use-thinkific-how-can-i-use-partial-ly">I use Thinkific, how can I use Partial.ly?</h3><p>Please checkout the following Thinkific support article: <a href="https://support.thinkific.com/hc/en-us/articles/360036454273-How-to-Link-a-Button-to-a-Custom-URL">Link a Button to a Custom URL </a></p><p>You will want to create a section, then add a button block within your courses page on Thinkific and have that button use the URL link generated by the Integration Tool of your Offer.</p><h2 id="have-more-questions">Have more questions?</h2><p>Please email us at <a href="mailto:support@partial.ly">support@partial.ly</a></p>]]></content:encoded></item><item><title><![CDATA[Automatic Offers and Payment Plans]]></title><description><![CDATA[<p>This article if for creating an offer that automatically processes all payments. If you prefer to use a manual offer, please see the following article: <a href="https://support.partial.ly/manual-payment-plans/">Manual Offers</a></p><h2 id="what-is-an-offer">What is an Offer?</h2><figure class="kg-card kg-embed-card"><iframe width="356" height="200" src="https://www.youtube.com/embed/y8QOUsbr9cM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="What is an Offer?"></iframe></figure><!--kg-card-begin: markdown--><p>An offer is a set of terms for a potential payment plan. Think of an offer as a template</p>]]></description><link>https://support.partial.ly/offers/</link><guid isPermaLink="false">5ee323b39561c56d44528d98</guid><category><![CDATA[Merchant Support]]></category><category><![CDATA[Offers]]></category><category><![CDATA[Payment plans]]></category><dc:creator><![CDATA[Partially Support]]></dc:creator><pubDate>Sun, 21 Dec 2025 18:04:00 GMT</pubDate><content:encoded><![CDATA[<p>This article if for creating an offer that automatically processes all payments. If you prefer to use a manual offer, please see the following article: <a href="https://support.partial.ly/manual-payment-plans/">Manual Offers</a></p><h2 id="what-is-an-offer">What is an Offer?</h2><figure class="kg-card kg-embed-card"><iframe width="356" height="200" src="https://www.youtube.com/embed/y8QOUsbr9cM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="What is an Offer?"></iframe></figure><!--kg-card-begin: markdown--><p>An offer is a set of terms for a potential payment plan. Think of an offer as a template that can be used to open multiple payment plans.</p>
<p>There are 5 variables that can be customized for an offer:</p>
<ul>
<li>Checkout/Additional Fee (formerly line item)</li>
<li>Down Payment</li>
<li>Payment Frequency</li>
<li>Term</li>
<li>First Payment Date</li>
</ul>
<p>You can read more about offer variables here: <a href="https://support.partial.ly/offer-variables/">More About Offer Variables</a></p>
<p>Many of the variables allow flexbility, which means you can allow the customer to choose their terms within a range set by you. You can read more about flexbility here:  <a href="https://support.partial.ly/customer-flexibility/">Offer Flexibility</a></p>
<!--kg-card-end: markdown--><h2 id="how-can-i-use-an-offer">How can I use an offer?</h2><!--kg-card-begin: markdown--><ol>
<li>Offers can be embedded on your website to provide a payment plan checkout option for your customers. This can be done <a href="https://support.partial.ly/integrations-faq/">with</a> or <a href="https://support.partial.ly/use-partial-ly-without-an-integration/">without</a> an integration.</li>
<li>Offers can be used as a template to quickly and easily create payment plans or checkout links for invoices  with <a href="https://support.partial.ly/tag/freshbooks/">FreshBooks</a>, <a href="https://support.partial.ly/tag/quickbooks/">QuickBooks</a>, or Harvest.</li>
<li>You can use Partial.ly as a <a href="https://support.partial.ly/standalone/">standalone</a> software to generate direct checkout URLs that can then be sent via email or shared on social media to your customers.</li>
<li>Use an offer to generate a QR code to put on a flyer or have scanned in person.</li>
</ol>
<!--kg-card-end: markdown--><h2 id="how-do-i-create-an-offer">How do I create an offer?</h2><figure class="kg-card kg-embed-card"><iframe width="356" height="200" src="https://www.youtube.com/embed/th7RjNcBYEc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How to Create an Offer"></iframe></figure><p>You will be prompted to create an offer during registration. You can also create an offer under the <strong><em>Offers</em></strong> section of your account and clicking the '<em>New Offer</em>' button. </p><figure class="kg-card kg-image-card"><img src="https://support.partial.ly/content/images/2022/08/Screen-Shot-2022-08-15-at-4.51.59-PM.png" class="kg-image" srcset="https://support.partial.ly/content/images/size/w600/2022/08/Screen-Shot-2022-08-15-at-4.51.59-PM.png 600w, https://support.partial.ly/content/images/size/w1000/2022/08/Screen-Shot-2022-08-15-at-4.51.59-PM.png 1000w, https://support.partial.ly/content/images/size/w1600/2022/08/Screen-Shot-2022-08-15-at-4.51.59-PM.png 1600w, https://support.partial.ly/content/images/size/w2400/2022/08/Screen-Shot-2022-08-15-at-4.51.59-PM.png 2400w"></figure><p>You will then be presented with the following form to fill out all the needed variables. </p><figure class="kg-card kg-image-card"><img src="https://support.partial.ly/content/images/2023/02/Screenshot-2023-02-15-at-4.37.06-PM.png" class="kg-image" srcset="https://support.partial.ly/content/images/size/w600/2023/02/Screenshot-2023-02-15-at-4.37.06-PM.png 600w, https://support.partial.ly/content/images/size/w1000/2023/02/Screenshot-2023-02-15-at-4.37.06-PM.png 1000w, https://support.partial.ly/content/images/size/w1600/2023/02/Screenshot-2023-02-15-at-4.37.06-PM.png 1600w, https://support.partial.ly/content/images/size/w2400/2023/02/Screenshot-2023-02-15-at-4.37.06-PM.png 2400w"></figure><p>Click 'Create Offer' once done to be lead to the integration tool. </p><h2 id="what-is-the-integration-tool">What is the integration tool?</h2><p>Once you create your offer, you will be lead to the integration tool where you will find your offer ID and options on how to use your offer. This tool allows you to generate scripts, URL links to share, or QR codes so you can use your offer on a website, social media, in an email, or even in person. </p><h2 id="how-can-the-integration-tool-be-used-with-an-integration-partner">How can the integration tool be used with an integration partner?</h2><p>The following platforms may only need the offer ID or may already appear in a dropdown menu within the plugin,  module, or extension. Click on your platform to learn more:</p><ul><li><a href="https://support.partial.ly/tag/woocommerce/">Woocommerce</a></li><li><a href="https://support.partial.ly/tag/ecwid/">Ecwid</a></li><li><a href="https://support.partial.ly/prestashop-module/">PrestaShop</a></li><li><a href="https://support.partial.ly/tag/magento/">Magento</a></li><li><a href="https://support.partial.ly/tag/opencart/">Opencart</a></li></ul><p>The following platforms require you to generate a script with the integration tool and place it on your website. Click on your platform to learn more:</p><ul><li><a href="https://support.partial.ly/tag/shopify/">Shopify</a></li><li><a href="https://support.partial.ly/tag/bigcommerce/">Bigcommerce</a></li><li><a href="https://support.partial.ly/connecting-squarespace/">Squarespace</a></li></ul><h2 id="how-can-the-integration-tool-be-used-without-an-integration">How can the integration tool be used without an integration ?</h2><p>You will see the option to use your offer with a link to share. Put the description and amount due, then generate a URL link and QR code to use anywhere you need.</p><figure class="kg-card kg-image-card"><img src="https://support.partial.ly/content/images/2025/03/Screenshot-2025-03-19-at-9.56.31-AM.png" class="kg-image" srcset="https://support.partial.ly/content/images/size/w600/2025/03/Screenshot-2025-03-19-at-9.56.31-AM.png 600w, https://support.partial.ly/content/images/size/w1000/2025/03/Screenshot-2025-03-19-at-9.56.31-AM.png 1000w, https://support.partial.ly/content/images/size/w1600/2025/03/Screenshot-2025-03-19-at-9.56.31-AM.png 1600w, https://support.partial.ly/content/images/size/w2400/2025/03/Screenshot-2025-03-19-at-9.56.31-AM.png 2400w"></figure><p>You can also install Partial.ly onto your website without an integration by utilizing the Partial.ly checkout button script. Take a look at the following support article: <a href="https://support.partial.ly/partial-ly-checkout-button/">Partial.ly checkout button</a>.</p><h2 id="can-i-delete-an-offer">Can I delete an offer?</h2><p>Once used, an offer cannot be deleted, but you can deactivate it. Click the edit link by the offer and you will see the deactivate option near the top of the offer form. Be sure to click the update button once done. </p><h2 id="things-to-look-out-for-">Things to look out for:</h2><figure class="kg-card kg-image-card"><img src="https://support.partial.ly/content/images/2025/03/Screenshot-2025-03-19-at-9.30.06-AM.png" class="kg-image" srcset="https://support.partial.ly/content/images/size/w600/2025/03/Screenshot-2025-03-19-at-9.30.06-AM.png 600w, https://support.partial.ly/content/images/size/w1000/2025/03/Screenshot-2025-03-19-at-9.30.06-AM.png 1000w, https://support.partial.ly/content/images/size/w1600/2025/03/Screenshot-2025-03-19-at-9.30.06-AM.png 1600w, https://support.partial.ly/content/images/size/w2400/2025/03/Screenshot-2025-03-19-at-9.30.06-AM.png 2400w"></figure><p>If you allow the customer to choose their first payment date and pair it with the terms "weeks" or "months", payments will be calculated in real time.</p><p>For example, if you use the frequency of 1 week, the term of 6 weeks, and allow the customer to choose their first payment date, the plan will collect 7 payments after the downpayment. That is because the time between payment 1 and payment 2 is considered week # 1. If you would prefer for the customer to only pay 6 weekly payments after the downpayment, you will want to use the frequency of 1 week paired with the term of 6 payments.</p><figure class="kg-card kg-image-card"><img src="https://support.partial.ly/content/images/2021/10/Screen-Shot-2021-10-12-at-3.53.10-PM.png" class="kg-image" srcset="https://support.partial.ly/content/images/size/w600/2021/10/Screen-Shot-2021-10-12-at-3.53.10-PM.png 600w, https://support.partial.ly/content/images/size/w1000/2021/10/Screen-Shot-2021-10-12-at-3.53.10-PM.png 1000w, https://support.partial.ly/content/images/size/w1600/2021/10/Screen-Shot-2021-10-12-at-3.53.10-PM.png 1600w, https://support.partial.ly/content/images/size/w2400/2021/10/Screen-Shot-2021-10-12-at-3.53.10-PM.png 2400w"></figure><h2 id="have-more-questions">Have more questions?</h2><!--kg-card-begin: markdown--><p>Please email us at <a href="mailto:support@partial.ly">support@partial.ly</a>.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Manual Offers and Payment Plans]]></title><description><![CDATA[<p>This article if for creating a manual offer. If you prefer to use an automatic offer, please see the following article: <a href="https://support.partial.ly/offers/">Automatic Offers and Payment Plans</a></p><hr><figure class="kg-card kg-embed-card"><iframe width="356" height="200" src="https://www.youtube.com/embed/gf11_DSGbTo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Manual Offers and Batch Payments"></iframe></figure><!--kg-card-begin: markdown--><p>Manual offers and payment plans do not automatically process payments.</p>
<p>They allow you or the customer to manually submit payments of any amount, at</p>]]></description><link>https://support.partial.ly/manual-payment-plans/</link><guid isPermaLink="false">5ee323b39561c56d44528d9d</guid><category><![CDATA[Merchant Support]]></category><category><![CDATA[Payment plans]]></category><category><![CDATA[Offers]]></category><dc:creator><![CDATA[Partially Support]]></dc:creator><pubDate>Sat, 20 Dec 2025 19:33:00 GMT</pubDate><content:encoded><![CDATA[<p>This article if for creating a manual offer. If you prefer to use an automatic offer, please see the following article: <a href="https://support.partial.ly/offers/">Automatic Offers and Payment Plans</a></p><hr><figure class="kg-card kg-embed-card"><iframe width="356" height="200" src="https://www.youtube.com/embed/gf11_DSGbTo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Manual Offers and Batch Payments"></iframe></figure><!--kg-card-begin: markdown--><p>Manual offers and payment plans do not automatically process payments.</p>
<p>They allow you or the customer to manually submit payments of any amount, at anytime, until the plan is paid in full.</p>
<p>When creating your manual offer or payment plan, select the &quot;<em>Manually process future payments</em>&quot; option at the top of the <strong>Payment Schedule</strong> section.</p>
<p>You'll need to manually type in a description for how and when the remaining balance will be billed. This description will be added to the customer's contract.</p>
<p><img src="https://support.partial.ly/content/images/2025/07/Screenshot-2025-07-23-at-2.11.50-PM.png" alt="Screenshot-2025-07-23-at-2.11.50-PM"></p>
<!--kg-card-end: markdown--><h2 id="batch-payments">Batch Payments</h2><p>For manual payment plans, merchants have the ability to run batch payments when they wish to process payments on multiple plans at once. </p><p>Learn how in the following support article: <a href="https://support.partial.ly/batch-payments/">Batch Payments</a></p><h2 id="guide-for-customers">Guide for Customers</h2><p>If needed, you can share the following article with your customers on how they can submit their own payments: <a href="https://support.partial.ly/submitting-payments/">How Customers Submit Payments.</a></p><h2 id="have-more-questions">Have more questions?</h2><!--kg-card-begin: markdown--><p>Please email us at <a href="mailto:support@partial.ly">support@partial.ly</a></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Generate Payment Plan Links to Share]]></title><description><![CDATA[<p>This article is for merchants who do not use one of <a href="https://support.partial.ly/integrations-faq/">our integration partners.</a></p><h3 id="do-i-need-to-use-partial-ly-on-a-website-or-with-an-invoicing-software">Do I need to use Partial.ly on a website or with an invoicing software?</h3><p>No. You can use Partial.ly as a standalone payment plan software and manage payment plans from your Partial.ly account.</p>]]></description><link>https://support.partial.ly/standalone/</link><guid isPermaLink="false">5ff864fa9ab8d948bbc9a777</guid><category><![CDATA[Merchant Support]]></category><category><![CDATA[Payment plans]]></category><category><![CDATA[Offers]]></category><category><![CDATA[Integrations]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Fri, 19 Dec 2025 16:03:00 GMT</pubDate><content:encoded><![CDATA[<p>This article is for merchants who do not use one of <a href="https://support.partial.ly/integrations-faq/">our integration partners.</a></p><h3 id="do-i-need-to-use-partial-ly-on-a-website-or-with-an-invoicing-software">Do I need to use Partial.ly on a website or with an invoicing software?</h3><p>No. You can use Partial.ly as a standalone payment plan software and manage payment plans from your Partial.ly account. </p><p>You can generate payment plan links to share in:</p><ul><li>emails</li><li>text</li><li>social media posts</li><li>and more</li></ul><p>Customers simply click on the link you share to be lead through Partial.ly checkout and open their plan. </p><p>Learn more here: <a href="https://support.partial.ly/how-to-create-a-payment-plan/">How to Create a Payment Plan</a></p><h3 id="i-use-a-website-but-it-is-not-with-your-integration-partners-">I use a website, but it is not with your integration partners.</h3><p>No problem. You can generate URLs to embed into buttons on your product pages.</p><p>Learn more here: <a href="https://support.partial.ly/use-partial-ly-without-an-integration/">Partial.ly without an Integration</a></p><h3 id="any-requirements">Any Requirements?</h3><p>All that is required is a Stripe account. You will be prompted to connect or create one during registration. </p><h3 id="what-is-an-offer">What is an offer?</h3><figure class="kg-card kg-embed-card"><iframe width="356" height="200" src="https://www.youtube.com/embed/y8QOUsbr9cM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="What is an Offer?"></iframe></figure><p>The offer contains the terms of your payment plans. If you wish to have different terms for different goods/services, you can create as many offers as you need. </p><p>You can read more about creating offers here: <a href="https://support.partial.ly/offers/">Offers</a>.</p><figure class="kg-card kg-embed-card"><iframe width="356" height="200" src="https://www.youtube.com/embed/th7RjNcBYEc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How to Create an Offer"></iframe></figure><h3 id="how-can-i-create-plans-with-my-offers">How can I create plans with my offers?</h3><figure class="kg-card kg-embed-card"><iframe width="356" height="200" src="https://www.youtube.com/embed/ybq1HLiCKB4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How to Generate a Payment Plan Link to Share"></iframe></figure><p>The easiest way to send plans is to use the integration tool of your offer. </p><p>Once you create your offer, click the integration tool link next to the offer. </p><p>Click <strong>Generate </strong>and it will create a URL link to share via email, text, on a webpage, social media post, and much more. </p><p>The integration tool will also generate a QR code to share across digital and printed materials. </p><figure class="kg-card kg-image-card"><img src="https://support.partial.ly/content/images/2025/07/Screenshot-2025-07-23-at-10.36.15-AM.png" class="kg-image" srcset="https://support.partial.ly/content/images/size/w600/2025/07/Screenshot-2025-07-23-at-10.36.15-AM.png 600w, https://support.partial.ly/content/images/size/w1000/2025/07/Screenshot-2025-07-23-at-10.36.15-AM.png 1000w, https://support.partial.ly/content/images/size/w1600/2025/07/Screenshot-2025-07-23-at-10.36.15-AM.png 1600w, https://support.partial.ly/content/images/size/w2400/2025/07/Screenshot-2025-07-23-at-10.36.15-AM.png 2400w"></figure><h3 id="do-i-need-to-use-an-offer">Do I need to use an offer?</h3><figure class="kg-card kg-embed-card"><iframe width="356" height="200" src="https://www.youtube.com/embed/7rsQw-VNSlc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="How to Email a Plan from the Merchant Portal"></iframe></figure><p>No, you are welcome to create payment plans without an offer from the <strong>Payment Plans </strong>section of your account. However, this will require you to create an account for the customer under the <strong>Customers</strong> section of your account. You can view more info on creating plans here: <a href="https://support.partial.ly/how-to-create-a-payment-plan/">How to Create a Payment Plan</a></p><h3 id="have-more-questions">Have more questions?</h3><p>Please email us at support@partial.ly</p>]]></content:encoded></item><item><title><![CDATA[Do more with Zapier]]></title><description><![CDATA[<p>While Partial.ly has direct integrations with some of the <a href="https://partial.ly/integrations">most popular e-commerce platforms and invoicing softwares</a>, we understand the digital world requires connections to numerous apps that assist a merchant in managing and growing their business. </p><p>In comes Zapier. Our Zapier integration allows merchants to connect Partial.ly to</p>]]></description><link>https://support.partial.ly/do-more-with-zapier/</link><guid isPermaLink="false">672106a69ee92249ae4d1e16</guid><category><![CDATA[Merchant Support]]></category><category><![CDATA[Integrations]]></category><category><![CDATA[Zapier]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Tue, 16 Dec 2025 17:19:00 GMT</pubDate><content:encoded><![CDATA[<p>While Partial.ly has direct integrations with some of the <a href="https://partial.ly/integrations">most popular e-commerce platforms and invoicing softwares</a>, we understand the digital world requires connections to numerous apps that assist a merchant in managing and growing their business. </p><p>In comes Zapier. Our Zapier integration allows merchants to connect Partial.ly to thousands of apps, giving merchants the ability to automate specific actions when offering their customers a payment plan. </p><h3 id="how-do-i-access-the-partial-ly-app-on-zapier">How do I access the Partial.ly app on Zapier?</h3><!--kg-card-begin: markdown--><p>You can find and connect to our Zapier app here: <a href="https://zapier.com/apps/partially/integrations">https://zapier.com/apps/partially/integrations</a></p>
<!--kg-card-end: markdown--><h3 id="how-does-the-partial-ly-integration-with-zapier-work">How does the Partial.ly integration with Zapier work?</h3><p>Use a Partial.ly event to trigger an action in another app. You can trigger based on when a:</p><ul><li>plan opened</li><li>plan paid in full</li><li>payment made </li><li>payment fails</li><li>plan defaults</li><li>checkout abandoned</li></ul><figure class="kg-card kg-image-card"><img src="https://support.partial.ly/content/images/2024/10/Screenshot-2024-10-29-at-4.52.45-PM-1.png" class="kg-image" srcset="https://support.partial.ly/content/images/size/w600/2024/10/Screenshot-2024-10-29-at-4.52.45-PM-1.png 600w, https://support.partial.ly/content/images/size/w1000/2024/10/Screenshot-2024-10-29-at-4.52.45-PM-1.png 1000w, https://support.partial.ly/content/images/size/w1600/2024/10/Screenshot-2024-10-29-at-4.52.45-PM-1.png 1600w, https://support.partial.ly/content/images/size/w2400/2024/10/Screenshot-2024-10-29-at-4.52.45-PM-1.png 2400w"></figure><p>Or use another app to trigger an action within Paritial.ly, such as creating a payment plan.</p><figure class="kg-card kg-image-card"><img src="https://support.partial.ly/content/images/2024/10/Screenshot-2024-10-29-at-4.55.07-PM.png" class="kg-image" srcset="https://support.partial.ly/content/images/size/w600/2024/10/Screenshot-2024-10-29-at-4.55.07-PM.png 600w, https://support.partial.ly/content/images/size/w1000/2024/10/Screenshot-2024-10-29-at-4.55.07-PM.png 1000w, https://support.partial.ly/content/images/size/w1600/2024/10/Screenshot-2024-10-29-at-4.55.07-PM.png 1600w, https://support.partial.ly/content/images/size/w2400/2024/10/Screenshot-2024-10-29-at-4.55.07-PM.png 2400w"></figure><h3></h3><h2 id="how-are-merchants-using-partial-ly-s-integration-with-zapier">How are merchants using Partial.ly's integration with Zapier?</h2><ul><li><a href="https://support.partial.ly/sell-events/">Ticketed Events</a></li><li><a href="https://support.partial.ly/bookings/">Bookings and Appointments</a></li><li><a href="https://support.partial.ly/do-more-with-zapier/support.partial.ly/forms-surveys/">Forms and Surveys </a></li><li>Online Courses and Digital Content </li><li>CRM Tools </li><li>Email Marketing and Communication </li><li>Project Management and Task Management Tools </li><li>Customer Support Platforms </li><li>eCommerce Platforms like <a href="https://support.partial.ly/shopify-integration/">Shopify</a>, Wix, etc. </li><li>Database</li><li>Shipping </li><li>and many more</li></ul><h3 id="have-more-questions">Have more questions?</h3><!--kg-card-begin: markdown--><p>Email us at <a href="mailto:support@partial.ly">support@partial.ly</a></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Shopify FAQs]]></title><description><![CDATA[Shopify FAQs: Everything you need to know about using Partial.ly with Shopify — from setup and payment processing to plan management and customer checkout options.]]></description><link>https://support.partial.ly/shopify-faq/</link><guid isPermaLink="false">5ee323b39561c56d44528dad</guid><category><![CDATA[Merchant Support]]></category><category><![CDATA[Integrations]]></category><category><![CDATA[Shopify]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Sun, 14 Dec 2025 22:30:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Shopify FAQs - Partial.ly</title>
<style>

/* --- Base Styles --- */
body {
  font-family: Inter, system-ui, sans-serif;
  background: #f8fafc;
  color: #111827;
  margin: 40px;
  line-height: 1.6;
}

/* Accordion */
.accordion{
  border:1px solid #e2e8f0;
  border-radius:8px;
  margin-bottom:15px;
  overflow:hidden;
  width:100%;
}

.accordion-header{
  background:linear-gradient(45deg,#574FE5,#32B6DB);
  color:#fff;
  cursor:pointer;
  padding:15px 20px;
  font-weight:500;
  width:100%;
  text-align:left;
  border:none;
  position:relative;
}

.accordion-header:hover {
  opacity: 0.9;
}

.accordion-header:focus-visible{
  outline:3px solid #32B6DB;
  outline-offset:2px;
}

/* Plus / Minus icons */
.accordion-header::after{
  content:'+';
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  font-weight:bold;
  transition: transform 0.2s;
}

.accordion-header[aria-expanded="true"]::after{
  content:'−';
}

.accordion-content{
  max-height:0;
  overflow:hidden;
  background:#f9fafb;
  color:#3E425E;
  padding:0 20px;
  transition:max-height .25s ease,padding .25s ease;
}

.accordion-content[aria-hidden="false"]{
  max-height:2000px;
  padding:15px 20px;
}

/* --- List Styles --- */
.ul-disc{
  list-style:disc;
  margin-left:20px;
}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
</style>
</head>

<body>

<!-- #1: About Integration -->
<section class="accordion">
<button id="acc1-header" class="accordion-header" aria-expanded="false" aria-controls="acc1-panel" type="button">
About Our Shopify Integration
</button>
<div id="acc1-panel" class="accordion-content" aria-labelledby="acc1-header" aria-hidden="true">
  <p>Partial.ly does not have a direct integration with Shopify, but merchants can use automation platforms like Zapier or n8n for Shopify order creation.</p>
    
    <p>More on this below under <i>'How to add Partial.ly to your Shopify website'.</i></p>
</div>
</section>

<!-- #2: Processing and Payments -->
<section class="accordion">
<button id="acc2-header" class="accordion-header" aria-expanded="false" aria-controls="acc2-panel" type="button">
Processing and Receiving Payments
</button>
<div id="acc2-panel" class="accordion-content" aria-labelledby="acc2-header" aria-hidden="true">
  <p>Merchants are required to connect a Stripe account to Partial.ly to process payments.</p>
  <p>Payments are automatically processed according to your payment plan schedule, and deposits are sent directly to your Stripe account.</p>
  <p>Payouts to your bank are managed within your <a href="https://stripe.com">Stripe dashboard</a>.</p>
</div>
</section>

<!-- #3: Fees -->
<section class="accordion">
<button id="acc3-header" class="accordion-header" aria-expanded="false" aria-controls="acc3-panel" type="button">
Partial.ly's Fee
</button>
<div id="acc3-panel" class="accordion-content" aria-labelledby="acc3-header" aria-hidden="true">
  <p>You can read about Partial.ly pricing here: <a href="https://partial.ly/pricing">Partial.ly Pricing</a>.</p>
</div>
</section>

<!-- #4: Other Fees -->
<section class="accordion">
<button id="acc4-header" class="accordion-header" aria-expanded="false" aria-controls="acc4-panel" type="button">
Other Fees and Requirements
</button>
<div id="acc4-panel" class="accordion-content" aria-labelledby="acc4-header" aria-hidden="true">
  <p>All merchants are required to connect a Stripe account. You will be subject to Stripe's fee, which depends on your business type, location, payment method type, and volume. More details: <a href="https://stripe.com/pricing">Stripe Pricing</a>.</p>
  <p>You'll also need an account with an automation platform like Zapier or n8n, which may have its own fee. For example, if using Zapier, you will need a Zapier Pro account that supports multi-step zaps.</p>
</div>
</section>

<!-- #5: Customer Fees -->
<section class="accordion">
<button id="acc5-header" class="accordion-header" aria-expanded="false" aria-controls="acc5-panel" type="button">
Option to Charge Customers a Fee
</button>
<div id="acc5-panel" class="accordion-content" aria-labelledby="acc5-header" aria-hidden="true">
  <p>Merchants who wish to recoup associated fees can add checkout fees to their payment plans. Learn more: <a href="https://support.partial.ly/checkout-fees/">Checkout Fees</a>.</p>
</div>
</section>

<!-- #6: Account Setup -->
<section class="accordion">
<button id="acc6-header" class="accordion-header" aria-expanded="false" aria-controls="acc6-panel" type="button">
Set Up Your Partial.ly Account
</button>
<div id="acc6-panel" class="accordion-content" aria-labelledby="acc6-header" aria-hidden="true">
  <p>Register at <a href="https://partial.ly/register">https://partial.ly/register</a>. Once registered, complete these steps:</p>
  <ul class="ul-disc">
    <li>Connect your Stripe account (payment processor).</li>
    <li>Create your Offer (Learn more here: <a href="https://support.partial.ly/offers/">How to Create Your Offer</a>).</li>
    <li>Connect Shopify (Learn more here: <a href="https://support.partial.ly/connecting-your-shopify-account/">Connect Your Shopify Store</a>).</li>
  </ul>
</div>
</section>

<!-- #7: Add to Shopify -->
<section class="accordion">
<button id="acc7-header" class="accordion-header" aria-expanded="false" aria-controls="acc7-panel" type="button">
How to Add Partial.ly to your Shopify Website
</button>
<div id="acc7-panel" class="accordion-content" aria-labelledby="acc7-header" aria-hidden="true">
   
  <p>With Zapier, merchants can install Partial.ly in one of two ways (requires a Zapier plan that allows multi-step zaps):</p>
  <ul class="ul-disc">
    <li><strong>Option #1:</strong> Add Partial.ly as a manual payment method at checkout.</li>
    <li><strong>Option #2:</strong> Add Partial.ly to product or cart pages using a snippet of code (similar to our legacy integration).</li>
  </ul>
  <p>Learn more about our Zapier option at: <a href="https://support.partial.ly/shopify-integration/">Shopify Integration Options</a>.</p>
    
    <hr>
    
    <p><i><strong>Interested in n8n instead? Email our support team for more info: <a href="mailto:support@partial.ly">support@partial.ly</a></strong></i></p>
    
    <p><i>*You may use any automation platform you wish, but we currently only offer support for Zapier and n8n. Feel free to email us for updates. </i></p>
</div>
</section>

<!-- #8: Plan Management -->
<section class="accordion">
<button id="acc8-header" class="accordion-header" aria-expanded="false" aria-controls="acc8-panel" type="button">
Plan Management
</button>
<div id="acc8-panel" class="accordion-content" aria-labelledby="acc8-header" aria-hidden="true">
  <p>Guides for managing plans include:</p>
  <ul class="ul-disc">
    <li>Canceling or refunding plans</li>
    <li>Changing schedules or due balances</li>
    <li>Reopening defaulted plans</li>
  </ul>
  <p>See: <a href="https://support.partial.ly/tag/plan-management/">Plan Management Articles</a>.</p>
</div>
</section>

<!-- #9: Merchant Settings -->
<section class="accordion">
<button id="acc9-header" class="accordion-header" aria-expanded="false" aria-controls="acc9-panel" type="button">
Merchant Settings
</button>
<div id="acc9-panel" class="accordion-content" aria-labelledby="acc9-header" aria-hidden="true">
  <p>Review merchant settings and configuration here: <a href="https://support.partial.ly/merchant-settings-faqs/">Merchant Settings</a>.</p>
</div>
</section>

<!-- #10: Abandoned Carts -->
<section class="accordion">
<button id="acc10-header" class="accordion-header" aria-expanded="false" aria-controls="acc10-panel" type="button">
Recover Abandoned Carts
</button>
<div id="acc10-panel" class="accordion-content" aria-labelledby="acc10-header" aria-hidden="true">
  <p>Learn how to recover and follow up on abandoned carts: <a href="https://support.partial.ly/abandoned-cart-overview/">Abandoned Cart FAQs</a>.</p>
</div>
</section>

<!-- #11: Help -->
<section class="accordion">
<button id="acc11-header" class="accordion-header" aria-expanded="false" aria-controls="acc11-panel" type="button">
Need Help or Have More Questions?
</button>
<div id="acc11-panel" class="accordion-content" aria-labelledby="acc11-header" aria-hidden="true">
  <p>Browse all Shopify-related support content here: <a href="https://support.partial.ly/tag/shopify/">Shopify Support Articles</a>.</p>
  <p>Email our support team: <a href="mailto:support@partial.ly">support@partial.ly</a>.</p>
</div>
</section>

<script>
document.addEventListener('DOMContentLoaded', function () {
  const headers = Array.from(document.querySelectorAll('.accordion-header'));

  headers.forEach((btn, index) => {

    // Click handler
    btn.addEventListener('click', () => {
      const expanded = btn.getAttribute('aria-expanded') === 'true';
      const panel = document.getElementById(btn.getAttribute('aria-controls'));

      // Close all
      headers.forEach(b => b.setAttribute('aria-expanded', 'false'));
      document.querySelectorAll('.accordion-content')
        .forEach(p => p.setAttribute('aria-hidden', 'true'));

      if (!expanded) {
        btn.setAttribute('aria-expanded', 'true');
        panel.setAttribute('aria-hidden', 'false');

        // Wait for expansion to finish (matches CSS transition)
setTimeout(() => {
          const isMobile = window.innerWidth < 768;
          const rect = panel.getBoundingClientRect();
          let scrollTop;

          if (isMobile || rect.height > window.innerHeight) {
            // Mobile or very tall panel → scroll to header near top
            const headerRect = btn.getBoundingClientRect();
            scrollTop = window.pageYOffset + headerRect.top - 20;
          } else {
            // Desktop → center panel
            const offset = window.innerHeight / 2 - rect.height / 2;
            scrollTop = window.pageYOffset + rect.top - offset;
          }

          window.scrollTo({ top: scrollTop, behavior: 'smooth' });
        }, 250);
      }
    });

    // Keyboard navigation per WAI-ARIA Accordion pattern
    // https://www.w3.org/WAI/ARIA/apg/patterns/accordion/
    btn.addEventListener('keydown', (e) => {
      let targetIndex = null;

      switch (e.key) {
        case 'ArrowDown':
          e.preventDefault();
          targetIndex = (index + 1) % headers.length;
          break;
        case 'ArrowUp':
          e.preventDefault();
          targetIndex = (index - 1 + headers.length) % headers.length;
          break;
        case 'Home':
          e.preventDefault();
          targetIndex = 0;
          break;
        case 'End':
          e.preventDefault();
          targetIndex = headers.length - 1;
          break;
      }

      if (targetIndex !== null) {
        headers[targetIndex].focus();
      }
    });
  });
});
</script>

</body>
</html>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Samples of Custom Code for Bigcommerce]]></title><description><![CDATA[With some custom coding, you can limit Partial.ly on your Bigcommerce store. Below are examples of various scripts to customize the Partial.ly button on your cart page.]]></description><link>https://support.partial.ly/sample-code-for-bigcommerce/</link><guid isPermaLink="false">6937069a00cfdc517867fd0a</guid><category><![CDATA[Merchant Support]]></category><category><![CDATA[Bigcommerce]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Mon, 08 Dec 2025 17:11:42 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bigcommerce Sample Code</title>

<style>
/* --- Base Styles --- */
body {
  font-family: system-ui, sans-serif;
  background: #f8fafc;
  color: #111827;
  margin: 40px;
  line-height: 1.6;
}

/* --- Accordion Styles --- */
.accordion {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 15px;
  width: 100%;
  overflow: hidden;
}

.accordion-header {
  background: linear-gradient(45deg, #574FE5, #32B6DB);
  color: white;
  cursor: pointer;
  padding: 15px 20px;
  font-weight: 500;
  transition: background 0.3s;
  position: relative;
}

.accordion-header:hover {
  opacity: 0.9;
}

.accordion-header:focus,
.toggle-header:focus {
  outline: 3px solid #32B6DB;
  outline-offset: 2px;
}

/* Plus / Minus icons */
.accordion-header:after {
  content: '\002B'; /* plus */
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  transition: transform 0.2s, content 0.2s;
}

.accordion.active .accordion-header:after {
  content: '\2212'; /* minus */
}

/* Smooth animation */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  background: #f9fafb;
  color: #3E425E;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 20px;
}

.accordion.active .accordion-content {
  max-height: none;
  padding: 15px 20px;
}

/* --- Nested Toggle Styles --- */
.toggle {
  margin: 10px 0;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  overflow: hidden;
  color: #3E425E;
}

.toggle-header {
  width: 100%;
  background: #e0e7ff;
  cursor: pointer;
  padding: 10px 15px 10px 35px;
  font-weight: 500;
  display: block;
  transition: background 0.3s;
  position: relative;
}

.toggle-header:hover {
  background: #c7d2fe;
}

/* Plus / minus */
.toggle-header:after {
  content: '\002B';
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  color: #3E425E;
}

.toggle.active .toggle-header:after {
  content: '\2212';
}

/* Smooth animation for toggles */
.toggle-content {
  max-height: 0;
  overflow: hidden;
  background: #f8fafc;
  color: #3E425E;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 15px;
}

.toggle.active .toggle-content {
  max-height: 10000px;
  padding: 10px 15px;
}

/* Image zoom */
.toggle-content img {
  max-width: 300px;
  height: auto;
  display: block;
  margin: 10px auto;
  cursor: zoom-in;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.toggle-content img.expanded {
  max-width: 100%;
  cursor: zoom-out;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
}

/* Code Block Styles */
.code-block {
  background: #ebebeb;
  padding: 12px;
  border-radius: 6px;
  overflow-x: auto;
  display: block;
  margin: 10px 0;
}

/* --- Link Color --- */
a:link {
  color: #574FE5;
  background-color: transparent;
  text-decoration: none;
}
a:visited {
  color: #574FE5;
  background-color: transparent;
  text-decoration: none;
}
a:hover {
  color: #26AAAA;
  background-color: transparent;
  text-decoration: underline;
}
a:active {
  color: #574FE5;
  background-color: transparent;
  text-decoration: underline;
}  
</style>
</head>

<body>

<!-- Accordion 1 : Limit by Price -->
<div class="accordion">
  <div class="accordion-header" id="accordion1-header" role="button" aria-expanded="false" aria-controls="accordion1" tabindex="0">
    Limit by Price
  </div>

  <div id="accordion1" class="accordion-content" role="region" aria-labelledby="accordion1-header">

   <pre class="code-block"><code>

{{#gt cart.grand_total.value 1000 }}

&lt;div id="partiallyCartButtonContainer"&gt;&lt;/div&gt;
&lt;script&gt;
document.partiallyButtonConfig = {
     offer: 'OFFER-ID-HERE',
     amount: '{{cart.grand_total.value}}',
     returnUrl: '{{settings.secure_base_url}}/cart.php',

     cssButton: true,
     cssButtonText: 'Purchase with',

     cssButtonShowLogo: true,
     cssButtonLogoType: 'full',
     cssButtonLogoPlacement: 'after',

     renderSelector: '#partiallyCartButtonContainer',

    bigcommerceCartItems: {{{json cart.items}}}
   };
   (function() {
     var script = document.createElement('script');
     script.type = 'text/javascript';
     script.src = 'https://partial.ly/js/partially-checkout-button.js';
     script.async = true;
     document.head.appendChild(script);
   })();
&lt;/script&gt;

{{/gt}}

   </code></pre>
  </div>
</div>

<!-- Accordion 2: Limit by Product ID -->
<div class="accordion">
  <div class="accordion-header" id="accordion2-header" role="button" aria-expanded="false" aria-controls="accordion2" tabindex="0">
 Limit by Product ID
  </div>

  <div id="accordion2" class="accordion-content" role="region" aria-labelledby="accordion2-header">
   
<!--Toggle 2-1: Limit by Product ID-->
    <div class="toggle">
      <div class="toggle-header" id="toggle2-1-header" role="button" aria-expanded="false" aria-controls="toggle2-1" tabindex="0">
Limit by Product ID
      </div>

      <div id="toggle2-1" class="toggle-content" role="region" aria-labelledby="toggle2-1-header">

<pre class="code-block"><code>

&lt;div id="partiallyCartButtonContainer"&gt;&lt;/div&gt;
&lt;script&gt;

var items = {{{json cart.items}}};

var eligibleProductIds = [120, 121, 122, 123]; 

var eligibleItemExists = items.some(item =>
  eligibleProductIds.includes(item.product_id)
);

if (eligibleItemExists) {
  document.partiallyButtonConfig = {
    offer: 'OFFER-ID',  
    amount: '{{cart.grand_total.value}}',
    returnUrl: '{{settings.secure_base_url}}/cart.php',

    cssButton: true,
    cssButtonText: 'Purchase with',
    cssButtonShowLogo: true,
    cssButtonLogoType: 'full',
    cssButtonLogoPlacement: 'after',

    renderSelector: '#partiallyCartButtonContainer',

    bigcommerceCartItems: items
  };

  (function() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://partial.ly/js/partially-checkout-button.js';
    script.async = true;
    document.head.appendChild(script);
  })();

} else {
  var container = document.getElementById('partiallyCartButtonContainer');
  if (container) container.style.display = 'none';
}
&lt;/script&gt;

</code></pre>

      </div>
    </div>

<!--Toggle 2-2: Product → Offer Mapping-->
    <div class="toggle">
      <div class="toggle-header" id="toggle2-2-header" role="button" aria-expanded="false" aria-controls="toggle2-2" tabindex="0">
     Limit Product ID to Specific Offer, All Other Products have a Default Offer
      </div>

      <div id="toggle2-2" class="toggle-content" role="region" aria-labelledby="toggle2-2-header">
<pre class="code-block"><code>

&lt;div id="partiallyCartButtonContainer"&gt;&lt;/div&gt;
&lt;script&gt;

var offerId = 'DEFAULT-OFFER-ID';

{{#any cart.items product_id=PRODUCT-ID}}
offerId = 'PRODUCT-OFFER-ID';
{{/any}}

document.partiallyButtonConfig = {
     offer: offerId,
     amount: '{{cart.grand_total.value}}',
     returnUrl: '{{settings.secure_base_url}}/cart.php',

     cssButton: true,
     cssButtonText: 'Purchase with',

     cssButtonShowLogo: true,
     cssButtonLogoType: 'full',
     cssButtonLogoPlacement: 'after',

     renderSelector: '#partiallyCartButtonContainer',

    bigcommerceCartItems: {{{json cart.items}}}
};
(function() {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = 'https://partial.ly/js/partially-checkout-button.js';
  script.async = true;
  document.head.appendChild(script);
})();
&lt;/script&gt;

</code></pre>
      </div>
    </div>

  </div>
</div>

<!-- Accordion 3: Limit by Custom Field -->
<div class="accordion">
  <div class="accordion-header" id="accordion3-header" role="button" aria-expanded="false" aria-controls="accordion3" tabindex="0">
    Limit by Custom Field
  </div>

  <div id="accordion3" class="accordion-content" role="region" aria-labelledby="accordion3-header">

<!--Toggle 3-1-->
    <div class="toggle">
      <div class="toggle-header" id="toggle3-1-header" role="button" aria-expanded="false" aria-controls="toggle3-1" tabindex="0">
Limit by Custom Field     
      </div>

      <div id="toggle3-1" class="toggle-content" role="region" aria-labelledby="toggle3-1-header">

<pre class="code-block"><code>

&lt;div id="partiallyCartButtonContainer"&gt;&lt;/div&gt;
&lt;script&gt;

var items = {{{json cart.items}}};
var targetFieldName  = "CUSTOM-FIELD-NAME";
var targetFieldValue = "CUSTOM-FIELD-VALUE";

var eligibleItemExists = items.some(item =>
  (item.custom_fields || []).some(field =>
    field.name === targetFieldName &&
    field.value === targetFieldValue
  )
);

if (eligibleItemExists) {
  document.partiallyButtonConfig = {
    offer: 'OFFER-ID',
    amount: '{{cart.grand_total.value}}',
    returnUrl: '{{settings.secure_base_url}}/cart.php',

    cssButton: true,
    cssButtonText: 'Purchase with',
    cssButtonShowLogo: true,
    cssButtonLogoType: 'full',
    cssButtonLogoPlacement: 'after',

    renderSelector: '#partiallyCartButtonContainer',

    bigcommerceCartItems: items
  };

  (function() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://partial.ly/js/partially-checkout-button.js';
    script.async = true;
    document.head.appendChild(script);
  })();

} else {
  var c = document.getElementById('partiallyCartButtonContainer');
  if (c) c.style.display = 'none';
}

&lt;/script&gt;

</code></pre>

      </div>
    </div>

<!--Toggle 3-2-->
    <div class="toggle">
      <div class="toggle-header" id="toggle3-2-header" role="button" aria-expanded="false" aria-controls="toggle3-2" tabindex="0">
     Limit Custom Field to Specific Offer, All Other Products have a Default Offer
      </div>

      <div id="toggle3-2" class="toggle-content" role="region" aria-labelledby="toggle3-2-header">

<pre class="code-block"><code>

&lt;div id="partiallyCartButtonContainer"&gt;&lt;/div&gt;
&lt;script&gt;

var offerId = 'DEFAULT-OFFER-ID';
var items = {{{json cart.items}}};

if (items.some(item => 
  item.custom_fields && 
  item.custom_fields.some(f => f.name === 'CUSTOM-FIELD-NAME' && f.value === 'CUSTOM-FIELD-VALUE')
)) {
  offerId = 'CUSTOM-FIELD-OFFER-ID';
}

document.partiallyButtonConfig = {
  offer: offerId,
  amount: '{{cart.grand_total.value}}',
  returnUrl: '{{settings.secure_base_url}}/cart.php',

  cssButton: true,
  cssButtonText: 'Purchase with',

  cssButtonShowLogo: true,
  cssButtonLogoType: 'full',
  cssButtonLogoPlacement: 'after',

  renderSelector: '#partiallyCartButtonContainer',

  bigcommerceCartItems: items
};

(function() {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = 'https://partial.ly/js/partially-checkout-button.js';
  script.async = true;
  document.head.appendChild(script);
})();
&lt;/script&gt;

</code></pre>

      </div>
    </div>

  </div>
</div>

<!-- Accordion 4: Limit by SKU -->
<div class="accordion">
  <div class="accordion-header" id="accordion4-header" role="button" aria-expanded="false" aria-controls="accordion4" tabindex="0">
  Limit by SKU
  </div>

  <div id="accordion4" class="accordion-content" role="region" aria-labelledby="accordion4-header">
<pre class="code-block"><code>

&lt;div id="partiallyCartButtonContainer"&gt;&lt;/div&gt;
&lt;script&gt;

var items = {{{json cart.items}}};

var eligibleSKUs = ['SKU123', 'SKU456', 'SKU789'];

var eligibleItemExists = items.some(item => eligibleSKUs.includes(item.sku));

if (eligibleItemExists) {
  var offerId = 'SKU-OFFER-ID';

  document.partiallyButtonConfig = {
    offer: offerId,
    amount: '{{cart.grand_total.value}}',
    returnUrl: '{{settings.secure_base_url}}/cart.php',

    cssButton: true,
    cssButtonText: 'Purchase with',

    cssButtonShowLogo: true,
    cssButtonLogoType: 'full',
    cssButtonLogoPlacement: 'after',

    renderSelector: '#partiallyCartButtonContainer',

    bigcommerceCartItems: items
  };

  (function() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://partial.ly/js/partially-checkout-button.js';
    script.async = true;
    document.head.appendChild(script);
  })();
} else {
  var container = document.getElementById('partiallyCartButtonContainer');
  if (container) container.style.display = 'none';
}
&lt;/script&gt;

</code></pre>
  </div>
</div>

<!-- Accordion 5: Help -->
<div class="accordion">
  <div class="accordion-header" id="accordion5-header" role="button" aria-expanded="false" aria-controls="accordion5" tabindex="0">
 Don't See What You Need?
  </div>

  <div id="accordion5" class="accordion-content" role="region" aria-labelledby="accordion5-header">
     <p>Contact our support team at <a href="mailto:support@partial.ly">support@partial.ly</a>.</p>
  </div>
</div>

<!--JS Section-->
<script>
function scrollIntoCenter(element) {
  if (!element) return;
  const rect = element.getBoundingClientRect();
  const elementTop = rect.top + window.scrollY;
  const viewportHeight = window.innerHeight || document.documentElement.clientHeight;

  const offset = elementTop - (viewportHeight / 2) + (rect.height / 2);

  window.scrollTo({
    top: offset,
    behavior: 'smooth'
  });
}

document.querySelectorAll('.accordion-header').forEach(header => {
  header.addEventListener('click', toggleAccordion);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleAccordion.call(header);
    }
  });
});

function toggleAccordion() {
  const accordion = this.parentElement;
  const expanded = this.getAttribute('aria-expanded') === 'true';

  document.querySelectorAll('.accordion').forEach(acc => {
    if (acc !== accordion) {
      acc.classList.remove('active');
      const header = acc.querySelector('.accordion-header');
      if (header) header.setAttribute('aria-expanded', 'false');
    }
  });

  this.setAttribute('aria-expanded', !expanded);
  accordion.classList.toggle('active', !expanded);

  if (!expanded) {
    const content = accordion.querySelector('.accordion-content');
    setTimeout(() => scrollIntoCenter(content), 250);
  }
}

document.querySelectorAll('.toggle-header').forEach(header => {
  header.addEventListener('click', toggleToggle);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleToggle.call(header);
    }
  });
});

function toggleToggle() {
  const toggle = this.parentElement;
  const expanded = this.getAttribute('aria-expanded') === 'true';

  const siblingToggles = toggle.parentElement.querySelectorAll('.toggle');
  siblingToggles.forEach(tg => {
    if (tg !== toggle) {
      tg.classList.remove('active');
      const header = tg.querySelector('.toggle-header');
      if (header) header.setAttribute('aria-expanded', 'false');
    }
  });

  this.setAttribute('aria-expanded', !expanded);
  toggle.classList.toggle('active', !expanded);

  if (!expanded) {
    const content = toggle.querySelector('.toggle-content');
    setTimeout(() => scrollIntoCenter(content), 250);
  }
}

document.querySelectorAll('.toggle-content img').forEach(img => {
  img.addEventListener('click', e => {
    e.stopPropagation();
    img.classList.toggle('expanded');
  });
});
</script>

</body>
</html>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Pay with Cryptocurrency]]></title><description><![CDATA[If enabled by your merchant, customers can now pay for their plans with cryptocurrency.]]></description><link>https://support.partial.ly/pay-with-crypto/</link><guid isPermaLink="false">691b74cd7bed511b371915d8</guid><category><![CDATA[Customer Support]]></category><dc:creator><![CDATA[Support Team]]></dc:creator><pubDate>Tue, 18 Nov 2025 18:33:49 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cryptocurrency for Customers</title>

<style>
/* --- Base Styles --- */
body {
  font-family: system-ui, sans-serif;
  background: #f8fafc;
  color: #111827;
  margin: 40px;
  line-height: 1.6;
}

/* --- Accordion Styles --- */
.accordion {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 15px;
  width: 100%;
  overflow: hidden;
}

.accordion-header {
  background: linear-gradient(45deg, #574FE5, #32B6DB);
  color: white;
  cursor: pointer;
  padding: 15px 20px;
  font-weight: 500;
  transition: background 0.3s;
  position: relative;
}

.accordion-header:hover {
  opacity: 0.9;
}

.accordion-header:focus,
.toggle-header:focus {
  outline: 3px solid #32B6DB;
  outline-offset: 2px;
}

/* Plus / Minus icons */
.accordion-header:after {
  content: '\002B'; /* plus */
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  transition: transform 0.2s, content 0.2s;
}

.accordion.active .accordion-header:after {
  content: '\2212'; /* minus */
}

/* Smooth animation */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  background: #f9fafb;
  color: #3E425E;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 20px;
}

.accordion.active .accordion-content {
  max-height: 800px;
  padding: 15px 20px;
}

/* --- Nested Toggle Styles --- */
.toggle {
  margin: 10px 0;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  overflow: hidden;
  color: #3E425E;
}

.toggle-header {
  width: 100%;
  background: #e0e7ff;
  cursor: pointer;
  padding: 10px 15px 10px 35px;
  font-weight: 500;
  display: block;
  transition: background 0.3s;
  position: relative;
}

.toggle-header:hover {
  background: #c7d2fe;
}

/* Plus / minus */
.toggle-header:after {
  content: '\002B';
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  color: #3E425E;
}

.toggle.active .toggle-header:after {
  content: '\2212';
}

/* Smooth animation for toggles */
.toggle-content {
  max-height: 0;
  overflow: hidden;
  background: #f8fafc;
  color: #3E425E;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 15px;
}

.toggle.active .toggle-content {
  max-height: 400px;
  padding: 10px 15px;
}

/* Image zoom */
.toggle-content img {
  max-width: 300px;
  height: auto;
  display: block;
  margin: 10px auto;
  cursor: zoom-in;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.toggle-content img.expanded {
  max-width: 100%;
  cursor: zoom-out;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
}

/* --- List Styles --- */
.ul-disc {
  list-style-type: disc;
  margin-left: 20px;
}

/* --- Link Color --- */
a:link {
  color: #574FE5;
  background-color: transparent;
  text-decoration: none;
}
a:visited {
  color: #574FE5;
  background-color: transparent;
  text-decoration: none;
}
a:hover {
  color: #26AAAA;
  background-color: transparent;
  text-decoration: underline;
}
a:active {
  color: #574FE5;
  background-color: transparent;
  text-decoration: underline;
}  
</style>
</head>

<body>

<!-- #1: The checkout process: -->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion1" tabindex="0">
The Checkout Process:  </div>
  <div id="accordion1" class="accordion-content">
   <p>If accepted by your merchant, you will see the option to <i>'pay with cryptocurrency'</i> on the payment confirmation page during checkout.</p>
 <p>Your wallet options will appear <strong>after</strong> you sign your contract and click <strong>continue</strong>:</p>
    <div class="toggle">
      <div class="toggle-header" role="button" aria-expanded="false" aria-controls="toggle1a" tabindex="0">
Image: Select 'Pay with Crypto' and Sign Contract</div>
      <div id="toggle1a" class="toggle-content">
     <img src="https://support.partial.ly/content/images/size/w2400/2025/11/Screenshot-2025-11-18-at-12.18.53-PM.png" alt="Checkout">
      </div>
    </div>

   

    <div class="toggle">
      <div class="toggle-header" role="button" aria-expanded="false" aria-controls="toggle1b" tabindex="0">
       Image: Choose Your Wallet
      </div>
      <div id="toggle1b" class="toggle-content">
        <img src="https://support.partial.ly/content/images/size/w2400/2025/11/Screenshot-2025-11-17-at-4.01.12-PM-1.png" alt="Choose-payment">
      </div>
    </div>

   <div class="toggle">
      <div class="toggle-header" role="button" aria-expanded="false" aria-controls="toggle1c" tabindex="0">
       Image: Submit Your Payment
      </div>
      <div id="toggle1c" class="toggle-content">
        <img src="https://support.partial.ly/content/images/size/w2400/2025/11/Screenshot-2025-11-18-at-12.20.08-PM.png" alt="submit-payment">
      </div>
    </div>

  </div>
</div>

<!-- #2: After the plan is opened -->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion2" tabindex="0">
   After Your Plan is Opened with Crypto:
  </div>
  <div id="accordion2" class="accordion-content">


    <div class="toggle">
      <div class="toggle-header" role="button" aria-expanded="false" aria-controls="toggle2a" tabindex="0">
Automatic Payments     </div>
      <div id="toggle2a" class="toggle-content">
     <p>If you are on an automatic schedule, you will recieve an email on the day of processing to confirm the crypto payment.</p>

     <img src="https://support.partial.ly/content/images/size/w2400/2025/11/Screenshot-2025-11-19-at-11.47.33-AM.png" alt="email"> 


      </div>
    </div>

    <div class="toggle">
      <div class="toggle-header" role="button" aria-expanded="false" aria-controls="toggle2b" tabindex="0">
        Manual Payments
      </div>
      <div id="toggle2b" class="toggle-content">
       <p>To make payments manually, log into <a href="https://partial.ly/login" target="_blank">partial.ly/login</a> 
 and click the 'make a payment' link next to your plan.</p>

       <p> You will see the option to use your crypto wallet if it was used to open the plan.</p>

      </div>
    </div>

  </div>
</div>


<!-- Accordion #3: Don't see the option -->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion3" tabindex="0">
    Crypto Option Not Available During Checkout:
  </div>
  <div id="accordion3" class="accordion-content">
   <p>If you don't see the option to pay with cryptocurrency during checkout, this means your merchant does not accept it at this time</p>
  </div>
</div>


<!--JS Section-->

<script>
// --- Smooth scroll helper: center element in viewport ---
function scrollIntoCenter(element) {
  const rect = element.getBoundingClientRect();
  const elementTop = rect.top + window.scrollY;
  const viewportHeight = window.innerHeight || document.documentElement.clientHeight;

  // Calculate scroll offset so the element is vertically centered
  const offset = elementTop - (viewportHeight / 2) + (rect.height / 2);

  window.scrollTo({
    top: offset,
    behavior: 'smooth'
  });
}

// --- Accessible Accordion with Animation ---
document.querySelectorAll('.accordion-header').forEach(header => {
  header.addEventListener('click', toggleAccordion);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleAccordion.call(header);
    }
  });
});

function toggleAccordion() {
  const accordion = this.parentElement;
  const expanded = this.getAttribute('aria-expanded') === 'true';

  // One-open-at-a-time: close all others
  document.querySelectorAll('.accordion').forEach(acc => {
    if (acc !== accordion) {
      acc.classList.remove('active');
      acc.querySelector('.accordion-header').setAttribute('aria-expanded', 'false');
    }
  });

  // Toggle current accordion
  this.setAttribute('aria-expanded', !expanded);
  accordion.classList.toggle('active', !expanded);

  // Center newly opened accordion content after animation
  if (!expanded) {
    const content = accordion.querySelector('.accordion-content');
    setTimeout(() => scrollIntoCenter(content), 250);
  }
}

// --- Nested Toggles ---
document.querySelectorAll('.toggle-header').forEach(header => {
  header.addEventListener('click', toggleToggle);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleToggle.call(header);
    }
  });
});

function toggleToggle() {
  const toggle = this.parentElement;
  const expanded = this.getAttribute('aria-expanded') === 'true';

  // One-open-at-a-time within same accordion
  const siblingToggles = toggle.parentElement.querySelectorAll('.toggle');
  siblingToggles.forEach(tg => {
    if (tg !== toggle) {
      tg.classList.remove('active');
      tg.querySelector('.toggle-header').setAttribute('aria-expanded', 'false');
    }
  });

  // Toggle current toggle
  this.setAttribute('aria-expanded', !expanded);
  toggle.classList.toggle('active', !expanded);

  // Center newly opened toggle content after animation
  if (!expanded) {
    const content = toggle.querySelector('.toggle-content');
    setTimeout(() => scrollIntoCenter(content), 250);
  }
}

// --- Click-to-expand Images ---
document.querySelectorAll('.toggle-content img').forEach(img => {
  img.addEventListener('click', e => {
    e.stopPropagation();
    img.classList.toggle('expanded');
  });
});
</script>

</body>
</html><!--kg-card-end: html--><p></p>]]></content:encoded></item><item><title><![CDATA[Accept Cryptocurrency]]></title><description><![CDATA[Merchants can now accept cryptocurrency on their payment plans.]]></description><link>https://support.partial.ly/cryptocurrency/</link><guid isPermaLink="false">691b74857bed511b371915cb</guid><category><![CDATA[Merchant Support]]></category><category><![CDATA[Payments]]></category><dc:creator><![CDATA[Support Team]]></dc:creator><pubDate>Tue, 18 Nov 2025 18:33:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cryptocurrency for Merchants</title>

<style>
/* --- Base Styles --- */
body {
  font-family: system-ui, sans-serif;
  background: #f8fafc;
  color: #111827;
  margin: 40px;
  line-height: 1.6;
}

/* --- Accordion Styles --- */
.accordion {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 15px;
  width: 100%;
  overflow: hidden;
}

.accordion-header {
  background: linear-gradient(45deg, #574FE5, #32B6DB);
  color: white;
  cursor: pointer;
  padding: 15px 20px;
  font-weight: 500;
  transition: background 0.3s;
  position: relative;
}

.accordion-header:hover {
  opacity: 0.9;
}

.accordion-header:focus,
.toggle-header:focus {
  outline: 3px solid #32B6DB;
  outline-offset: 2px;
}

/* Plus / Minus icons */
.accordion-header:after {
  content: '\002B'; /* plus */
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  transition: transform 0.2s, content 0.2s;
}

.accordion.active .accordion-header:after {
  content: '\2212'; /* minus */
}

/* Smooth animation */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  background: #f9fafb;
  color: #3E425E;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 20px;
}

.accordion.active .accordion-content {
  max-height: 800px;
  padding: 15px 20px;
}

/* --- Nested Toggle Styles --- */
.toggle {
  margin: 10px 0;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  overflow: hidden;
  color: #3E425E;
}

.toggle-header {
  width: 100%;
  background: #e0e7ff;
  cursor: pointer;
  padding: 10px 15px 10px 35px;
  font-weight: 500;
  display: block;
  transition: background 0.3s;
  position: relative;
}

.toggle-header:hover {
  background: #c7d2fe;
}

/* Plus / minus */
.toggle-header:after {
  content: '\002B';
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  color: #3E425E;
}

.toggle.active .toggle-header:after {
  content: '\2212';
}

/* Smooth animation for toggles */
.toggle-content {
  max-height: 0;
  overflow: hidden;
  background: #f8fafc;
  color: #3E425E;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 15px;
}

.toggle.active .toggle-content {
  max-height: 400px;
  padding: 10px 15px;
}

/* Image zoom */
.toggle-content img {
  max-width: 300px;
  height: auto;
  display: block;
  margin: 10px auto;
  cursor: zoom-in;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.toggle-content img.expanded {
  max-width: 100%;
  cursor: zoom-out;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
}

/* --- List Styles --- */
.ul-disc {
  list-style-type: disc;
  margin-left: 20px;
}

/* --- Link Color --- */
a:link {
  color: #574FE5;
  background-color: transparent;
  text-decoration: none;
}
a:visited {
  color: #574FE5;
  background-color: transparent;
  text-decoration: none;
}
a:hover {
  color: #26AAAA;
  background-color: transparent;
  text-decoration: underline;
}
a:active {
  color: #574FE5;
  background-color: transparent;
  text-decoration: underline;
}  
</style>
</head>

<body>

<!-- #1: How to accept cryptocurrency -->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion1" tabindex="0">
    How to Accept Cryptocurrency:
  </div>
  <div id="accordion1" class="accordion-content">
   <p>Merchants will need to connect a <a href="https://solana.com/wallets" target="_blank">Solana wallet</a> to their Partial.ly account under <strong>Settings > Integrations</strong>:</p>

    <div class="toggle">
      <div class="toggle-header" role="button" aria-expanded="false" aria-controls="toggle1a" tabindex="0">
Image: Connect Solana Wallet
      </div>
      <div id="toggle1a" class="toggle-content">
     <img src="https://support.partial.ly/content/images/size/w2400/2025/11/Screenshot-2025-11-17-at-1.55.56-PM-2.png" alt="integration-settings">
      </div>
    </div>

    <p>You will be asked to enter your Solana wallet address:</p>

    <div class="toggle">
      <div class="toggle-header" role="button" aria-expanded="false" aria-controls="toggle1b" tabindex="0">
        Image: Add Solana Wallet Address
      </div>
      <div id="toggle1b" class="toggle-content">
       <img src="https://support.partial.ly/content/images/size/w2400/2025/11/Screenshot-2025-11-17-at-1.56.06-PM-1.png" alt="wallet-address">
      </div>
    </div>
  </div>
</div>

<!-- #2: Cost -->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion2" tabindex="0">
Cost:
  </div>
  <div id="accordion2" class="accordion-content">
   <p>Crypto payments are subject to a fee of only 0.5% per transaction.</p>
  </div>
</div>


<!-- #3: Settlement Currency:-->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion3" tabindex="0">
Settlement Currency:
  </div>
  <div id="accordion3" class="accordion-content">
   <p>When customers pay with crypto, you'll get USDC transferred directly to your address.</p>
  </div>
</div>


<!-- #4:Customer Experience:-->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion4" tabindex="0">
The Customer Experience:
  </div>
  <div id="accordion4" class="accordion-content">
<p>Here is a guide to share with your customers: <a href="https://support.partial.ly/pay-with-crypto/" target="_blank">Customer Cryptocurrency Guide</a>  </p>
        
  </div>
</div>



<!-- #5: After a Plan is opened -->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion5" tabindex="0">
After the Plan is Opened:
  </div>
  <div id="accordion5" class="accordion-content">

    <p>The customer's plan will show their payment method as crypto:</p>

     <div class="toggle">
      <div class="toggle-header" role="button" aria-expanded="false" aria-controls="toggle5a" tabindex="0">
Image: Plan Details Page
      </div>
      <div id="toggle5a" class="toggle-content">
     <img src="https://support.partial.ly/content/images/size/w2400/2025/11/Screenshot-2025-11-18-at-12.21.58-PM.png" alt="plan-details">
      </div>
    </div>

     <div class="toggle">
      <div class="toggle-header" role="button" aria-expanded="false" aria-controls="toggle5b" tabindex="0">
Image: Plan Payment Tab
      </div>
      <div id="toggle5b" class="toggle-content">
     <img src="https://support.partial.ly/content/images/size/w2400/2025/11/Screenshot-2025-11-18-at-12.22.04-PM.png" alt="payment-tab">
      </div>
    </div>

    <p>For automatic payment plans, customers will be emailed on the day of processing to authenticate the payment with their crypto wallet.</p>
  </div>
</div>


<!-- #6: Refunds-->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion6" tabindex="0">
Refunds:
  </div>
  <div id="accordion6" class="accordion-content">
<p>Refunds may not be supported on all crypto types, such as swaps. You may need to reimburse the customer directly from your Solana wallet. </p>
  </div>
</div>



<!--#7: Help-->
<div class="accordion">
  <div class="accordion-header" role="button" aria-expanded="false" aria-controls="accordion7" tabindex="0">
    Have More Questions?
  </div>
  <div id="accordion7" class="accordion-content">
<p>Email us at <a href="mailto:support@partial.ly">support@partial.ly</a></p>
  </div>
</div>


<!--JS Section-->

<script>
// --- Smooth scroll helper: center element in viewport ---
function scrollIntoCenter(element) {
  const rect = element.getBoundingClientRect();
  const elementTop = rect.top + window.scrollY;
  const viewportHeight = window.innerHeight || document.documentElement.clientHeight;

  // Calculate scroll offset so the element is vertically centered
  const offset = elementTop - (viewportHeight / 2) + (rect.height / 2);

  window.scrollTo({
    top: offset,
    behavior: 'smooth'
  });
}

// --- Accessible Accordion with Animation ---
document.querySelectorAll('.accordion-header').forEach(header => {
  header.addEventListener('click', toggleAccordion);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleAccordion.call(header);
    }
  });
});

function toggleAccordion() {
  const accordion = this.parentElement;
  const expanded = this.getAttribute('aria-expanded') === 'true';

  // One-open-at-a-time: close all others
  document.querySelectorAll('.accordion').forEach(acc => {
    if (acc !== accordion) {
      acc.classList.remove('active');
      acc.querySelector('.accordion-header').setAttribute('aria-expanded', 'false');
    }
  });

  // Toggle current accordion
  this.setAttribute('aria-expanded', !expanded);
  accordion.classList.toggle('active', !expanded);

  // Center newly opened accordion content after animation
  if (!expanded) {
    const content = accordion.querySelector('.accordion-content');
    setTimeout(() => scrollIntoCenter(content), 250);
  }
}

// --- Nested Toggles ---
document.querySelectorAll('.toggle-header').forEach(header => {
  header.addEventListener('click', toggleToggle);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleToggle.call(header);
    }
  });
});

function toggleToggle() {
  const toggle = this.parentElement;
  const expanded = this.getAttribute('aria-expanded') === 'true';

  // One-open-at-a-time within same accordion
  const siblingToggles = toggle.parentElement.querySelectorAll('.toggle');
  siblingToggles.forEach(tg => {
    if (tg !== toggle) {
      tg.classList.remove('active');
      tg.querySelector('.toggle-header').setAttribute('aria-expanded', 'false');
    }
  });

  // Toggle current toggle
  this.setAttribute('aria-expanded', !expanded);
  toggle.classList.toggle('active', !expanded);

  // Center newly opened toggle content after animation
  if (!expanded) {
    const content = toggle.querySelector('.toggle-content');
    setTimeout(() => scrollIntoCenter(content), 250);
  }
}

// --- Click-to-expand Images ---
document.querySelectorAll('.toggle-content img').forEach(img => {
  img.addEventListener('click', e => {
    e.stopPropagation();
    img.classList.toggle('expanded');
  });
});
</script>

</body>
</html><!--kg-card-end: html--><p></p><h2></h2><p></p><h2></h2><p></p><h2></h2><p></p><h2></h2>]]></content:encoded></item><item><title><![CDATA[Partial.ly's Shopify Integration]]></title><description><![CDATA[Merchants must use an automation software to create the Shopify order. This article shares 1 of 2 ways to use Zapier Pro. Email support for other options. ]]></description><link>https://support.partial.ly/shopify-integration/</link><guid isPermaLink="false">68d1c26d765dbc2abb7b2564</guid><category><![CDATA[Shopify]]></category><category><![CDATA[Merchant Support]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Mon, 22 Sep 2025 21:41:29 GMT</pubDate><content:encoded><![CDATA[<p><strong>Option #1:</strong> Add Partial.ly to your Shopify checkout page via Shopify's <em>'</em>Manual Payment Method'. Learn more here: <a href="https://support.partial.ly/shopify-manual-payment/">Add Partial.ly as a Manual Payment Method to Shopify Checkout</a></p><p><strong>Option #2:</strong> Add Partial.ly to your product pages and/or cart page by adding a snippet of code to your Shopify theme (similar to our prior integration). Learn more here: <a href="https://support.partial.ly/shopify-code/">Add Partial.ly Checkout Button to Your Shopify Cart and/or Product Pages</a></p><hr><h3 id="compare-the-options-">Compare the Options:</h3><!--kg-card-begin: html--><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Compare Partial.ly's Shopify Integration Options</title>
<style>

/* --- Base Styles --- */
body {
  font-family: Inter, system-ui, sans-serif;
  background: #f8fafc;
  color: #111827;
  margin: 40px;
  line-height: 1.6;
}

/* Accordion */
.accordion{
  border:1px solid #e2e8f0;
  border-radius:8px;
  margin-bottom:15px;
  overflow:hidden;
  width:100%;
}

.accordion-header{
  background:linear-gradient(45deg,#574FE5,#32B6DB);
  color:#fff;
  cursor:pointer;
  padding:15px 20px;
  font-weight:500;
  width:100%;
  text-align:left;
  border:none;
  position:relative;
}

.accordion-header:hover {
  opacity: 0.9;
}

.accordion-header:focus-visible{
  outline:3px solid #32B6DB;
  outline-offset:2px;
}

/* Plus / Minus icons */
.accordion-header::after{
  content:'+';
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  font-weight:bold;
  transition: transform 0.2s;
}

.accordion-header[aria-expanded="true"]::after{
  content:'−';
}

/* Smooth animation */
.accordion-content{
  max-height:0;
  overflow:hidden;
  background:#f9fafb;
  color:#3E425E;
  padding:0 20px;
  transition:max-height .25s ease,padding .25s ease;
}

.accordion-content[data-open="true"]{
  max-height:2000px; /* fixed value required for CSS transition to animate */
  padding:15px 20px;
}

/* Nested toggle */
.toggle{
  border:1px solid #d1d5db;
  border-radius:6px;
  margin:12px 0;
  overflow:hidden;
}

.toggle-header{
  background:#e0e7ff;
  border:none;
  width:100%;
  padding:10px 15px 10px 35px;
  text-align:left;
  cursor:pointer;
  position:relative;
}

.toggle-header:hover {
  background: #c7d2fe;
}

.toggle-header:focus-visible{
  outline:3px solid #574FE5;
  outline-offset:2px;
}

/* Plus / minus */
.toggle-header::before{
  content:'+';
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  font-weight:bold;
}

.toggle-header[aria-expanded="true"]::before{
  content:'−';
}

/* Smooth animation for toggles */
.toggle-content{
  max-height:0;
  overflow:hidden;
  padding:0 15px;
  background:#f8fafc;
  transition:max-height .25s ease,padding .25s ease;
  width:100%;
}

.toggle-content[data-open="true"]{
  max-height:2000px; /* fixed value required for CSS transition to animate */
  padding:10px 15px;
}

/* Image zoom */
.toggle-content img {
  max-width: 300px;
  height: auto;
  display: block;
  margin: 10px auto;
  cursor: zoom-in;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.toggle-content img.expanded {
  max-width: 100%;
  cursor: zoom-out;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
}

/* --- List Styles --- */
.ul-disc{
  list-style:disc;
  margin-left:20px;
}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
</style>
</head>

<body>

<!-- Accordion 1: About Manual Option -->
<section class="accordion">
<button id="acc1-header" class="accordion-header" aria-expanded="false" aria-controls="acc1-panel" type="button">
Option #1: Manual Payment Method on Checkout Page
</button>

<div id="acc1-panel" class="accordion-content" aria-labelledby="acc1-header" aria-hidden="true">

  <!--Toggle 1: Apps Used-->
  <div class="toggle">
  <button id="toggle1-header" class="toggle-header" aria-expanded="false" aria-controls="toggle1-panel" type="button">
  Apps Used:
  </button>
  <div id="toggle1-panel" class="toggle-content" aria-labelledby="toggle1-header" aria-hidden="true">
    <p>Shopify + Zapier Webhooks + Partial.ly</p>
  </div>
  </div>

  <!--Toggle 2: Location-->
  <div class="toggle">
  <button id="toggle2-header" class="toggle-header" aria-expanded="false" aria-controls="toggle2-panel" type="button">
  Location
  </button>
  <div id="toggle2-panel" class="toggle-content" aria-labelledby="toggle2-header" aria-hidden="true">
    <p>Shopify Checkout</p>
  </div>
  </div>

  <!--Toggle 3: How it works-->
  <div class="toggle">
  <button id="toggle3-header" class="toggle-header" aria-expanded="false" aria-controls="toggle3-panel" type="button">
  How it works:
  </button>
  <div id="toggle3-panel" class="toggle-content" aria-labelledby="toggle3-header" aria-hidden="true">
    <p>Add Partial.ly to Shopify checkout as a manual payment method. The Zapier zap will listen for new Shopify orders using this method. The zap will trigger Partial.ly to create a payment plan from the order and email it to the customer.</p>
  </div>
  </div>

  <!--Toggle 4: Benefits-->
  <div class="toggle">
  <button id="toggle4-header" class="toggle-header" aria-expanded="false" aria-controls="toggle4-panel" type="button">
  Benefits:
  </button>
  <div id="toggle4-panel" class="toggle-content" aria-labelledby="toggle4-header" aria-hidden="true">
    <p>Full Shopify checkout is used. You get all of Shopify's built-in rules for:</p>
    <ul class="ul-disc">
      <li>Shipping</li>
      <li>Taxes</li>
      <li>Discounts</li>
      <li>Inventory management</li>
      <li>Etc.</li>
    </ul>
  </div>
  </div>

  <!--Toggle 5: Considerations-->
  <div class="toggle">
  <button id="toggle5-header" class="toggle-header" aria-expanded="false" aria-controls="toggle5-panel" type="button">
  Considerations:
  </button>
  <div id="toggle5-panel" class="toggle-content" aria-labelledby="toggle5-header" aria-hidden="true">
    <ul class="ul-disc">
      <li>Customer must open plan (via email/account) to complete purchase. <br> Order isn't "complete" until that happens.</li>
      <li>Defaults to 1 offer, but advanced scripting options may be available for customizations. Contact our support team for more info.</li>
      <li>Applies to all orders unless payment method is disabled via Shopify Plus feature or third-party app.</li>
    </ul>
  </div>
  </div>

  <!--Toggle 6: How To Guide-->
  <div class="toggle">
  <button id="toggle6-header" class="toggle-header" aria-expanded="false" aria-controls="toggle6-panel" type="button">
  How To Guide:
  </button>
  <div id="toggle6-panel" class="toggle-content" aria-labelledby="toggle6-header" aria-hidden="true">
    <p><a href="https://support.partial.ly/shopify-manual-payment/">Manual Payment Setup Guide</a></p>
  </div>
  </div>

</div>
</section>


<!-- Accordion 2: About Script Option -->
<section class="accordion">
<button id="acc2-header" class="accordion-header" aria-expanded="false" aria-controls="acc2-panel" type="button">
Option #2: Checkout Button Script on Product and/or Cart Pages
</button>

<div id="acc2-panel" class="accordion-content" aria-labelledby="acc2-header" aria-hidden="true">

  <!--Toggle 1: Apps Used-->
  <div class="toggle">
  <button id="toggle21-header" class="toggle-header" aria-expanded="false" aria-controls="toggle21-panel" type="button">
  Apps Used:
  </button>
  <div id="toggle21-panel" class="toggle-content" aria-labelledby="toggle21-header" aria-hidden="true">
    <p>Partial.ly + Filter by Zapier + Shopify</p>
  </div>
  </div>

  <!--Toggle 2: Location-->
  <div class="toggle">
  <button id="toggle22-header" class="toggle-header" aria-expanded="false" aria-controls="toggle22-panel" type="button">
  Location:
  </button>
  <div id="toggle22-panel" class="toggle-content" aria-labelledby="toggle22-header" aria-hidden="true">
    <p>Cart and/or Product Pages</p>
  </div>
  </div>

  <!--Toggle 3: How it works-->
  <div class="toggle">
  <button id="toggle23-header" class="toggle-header" aria-expanded="false" aria-controls="toggle23-panel" type="button">
  How it works:
  </button>
  <div id="toggle23-panel" class="toggle-content" aria-labelledby="toggle23-header" aria-hidden="true">
    <p>With this method, a snippet of code is added to your Shopify theme. This code will generate a Partial.ly checkout button for your store. The first Zapier zap will listen for plan_opened webhook events from Partial.ly and create an associated Shopify order. The second Zapier zap will listen for plan_paid webhooks events from Partial.ly and mark the Shopify order as paid.</p>
  </div>
  </div>

  <!--Toggle 4: Benefits-->
  <div class="toggle">
  <button id="toggle24-header" class="toggle-header" aria-expanded="false" aria-controls="toggle24-panel" type="button">
  Benefits:
  </button>
  <div id="toggle24-panel" class="toggle-content" aria-labelledby="toggle24-header" aria-hidden="true">
    <ul class="ul-disc">
      <li>More flexibility/customization in how the Partial.ly checkout button / UI is shown (e.g., limit by product tag, price, etc).</li>
    </ul>
  </div>
  </div>

  <!--Toggle 5: Considerations-->
  <div class="toggle">
  <button id="toggle25-header" class="toggle-header" aria-expanded="false" aria-controls="toggle25-panel" type="button">
  Considerations:
  </button>
  <div id="toggle25-panel" class="toggle-content" aria-labelledby="toggle25-header" aria-hidden="true">
    <ul class="ul-disc">
      <li>Not compatible with Shopify checkout.</li>
      <li>Can only apply shipping and taxes via Partial.ly settings.</li>
      <li>Does not work with Shopify discounts.</li>
      <li>Limitations on inventory management: You can set up the Zapier zap to obey your inventory rules when creating the Shopify order. However, Partial.ly cannot follow your inventory rules. This means the customer may be able to open the plan if there is no stock, but the Shopify order will fail. We recommend "hiding" out of stock products to prevent this.</li>
    </ul>
  </div>
  </div>

  <!--Toggle 6: How To Guide-->
  <div class="toggle">
  <button id="toggle26-header" class="toggle-header" aria-expanded="false" aria-controls="toggle26-panel" type="button">
  How To Guide:
  </button>
  <div id="toggle26-panel" class="toggle-content" aria-labelledby="toggle26-header" aria-hidden="true">
    <p><a href="https://support.partial.ly/shopify-code/">Code Snippet Setup Guide</a></p>
  </div>
  </div>

</div>
</section>


<script>
document.addEventListener('DOMContentLoaded', function () {

  /* =========================
     MAIN ACCORDIONS
  ========================= */
  const accHeaders = Array.from(document.querySelectorAll('.accordion-header'));

  accHeaders.forEach((btn, index) => {

    // Click handler
    btn.addEventListener('click', () => {
      const expanded = btn.getAttribute('aria-expanded') === 'true';
      const panel = document.getElementById(btn.getAttribute('aria-controls'));

      // Close all accordions
      accHeaders.forEach(b => b.setAttribute('aria-expanded', 'false'));
      document.querySelectorAll('.accordion-content').forEach(p => {
        p.setAttribute('aria-hidden', 'true');
        p.dataset.open = 'false';
      });

      if (!expanded) {
        btn.setAttribute('aria-expanded', 'true');
        panel.setAttribute('aria-hidden', 'false');
        panel.dataset.open = 'true';

        // Wait for CSS transition
        setTimeout(() => {
          const isMobile = window.innerWidth < 768;
          const rect = panel.getBoundingClientRect();
          let scrollTop;

          if (isMobile || rect.height > window.innerHeight) {
            const headerRect = btn.getBoundingClientRect();
            scrollTop = window.pageYOffset + headerRect.top - 20;
          } else {
            const offset = window.innerHeight / 2 - rect.height / 2;
            scrollTop = window.pageYOffset + rect.top - offset;
          }

          window.scrollTo({ top: scrollTop, behavior: 'smooth' });
        }, 250);
      }
    });

    // Keyboard navigation per WAI-ARIA Accordion pattern
    // https://www.w3.org/WAI/ARIA/apg/patterns/accordion/
    btn.addEventListener('keydown', (e) => {
      let targetIndex = null;

      switch (e.key) {
        case 'ArrowDown':
          e.preventDefault();
          targetIndex = (index + 1) % accHeaders.length;
          break;
        case 'ArrowUp':
          e.preventDefault();
          targetIndex = (index - 1 + accHeaders.length) % accHeaders.length;
          break;
        case 'Home':
          e.preventDefault();
          targetIndex = 0;
          break;
        case 'End':
          e.preventDefault();
          targetIndex = accHeaders.length - 1;
          break;
      }

      if (targetIndex !== null) {
        accHeaders[targetIndex].focus();
      }
    });
  });


  /* =========================
     NESTED TOGGLES
  ========================= */
  document.querySelectorAll('.accordion-content').forEach(accordion => {
    const toggleHeaders = Array.from(accordion.querySelectorAll('.toggle-header'));

    toggleHeaders.forEach((btn, index) => {

      // Click handler
      btn.addEventListener('click', () => {
        const expanded = btn.getAttribute('aria-expanded') === 'true';
        const panel = document.getElementById(btn.getAttribute('aria-controls'));

        // Close all toggles within this accordion only
        toggleHeaders.forEach(b => b.setAttribute('aria-expanded', 'false'));
        accordion.querySelectorAll('.toggle-content').forEach(p => {
          p.setAttribute('aria-hidden', 'true');
          p.dataset.open = 'false';
        });

        if (!expanded) {
          btn.setAttribute('aria-expanded', 'true');
          panel.setAttribute('aria-hidden', 'false');
          panel.dataset.open = 'true';

          // Scroll only if needed
          setTimeout(() => {
            const rect = panel.getBoundingClientRect();
            const headerRect = btn.getBoundingClientRect();

            if (rect.bottom > window.innerHeight) {
              window.scrollTo({
                top: window.pageYOffset + headerRect.top - 20,
                behavior: 'smooth'
              });
            }
          }, 250);
        }
      });

      // Keyboard navigation for nested toggles (scoped to parent accordion)
      btn.addEventListener('keydown', (e) => {
        let targetIndex = null;

        switch (e.key) {
          case 'ArrowDown':
            e.preventDefault();
            targetIndex = (index + 1) % toggleHeaders.length;
            break;
          case 'ArrowUp':
            e.preventDefault();
            targetIndex = (index - 1 + toggleHeaders.length) % toggleHeaders.length;
            break;
          case 'Home':
            e.preventDefault();
            targetIndex = 0;
            break;
          case 'End':
            e.preventDefault();
            targetIndex = toggleHeaders.length - 1;
            break;
        }

        if (targetIndex !== null) {
          toggleHeaders[targetIndex].focus();
        }
      });
    });
  });

});
</script>

</body>
</html>
<!--kg-card-end: html--><hr><h3 id="our-team-is-on-stand-by-to-help-with-questions-and-set-up-email-us-at-support-partial-ly-">Our team is on stand by to help with questions and set up. Email us at <a>support@partial.ly</a>.</h3>]]></content:encoded></item><item><title><![CDATA[Add Partial.ly Checkout Button to Your Shopify Cart and/or Product Pages]]></title><description><![CDATA[Add the Partial.ly checkout button directly to your product pages and/or cart page to create a seamless checkout experience for your customers. Use Zapier Pro  automations to create the Shopify order. ]]></description><link>https://support.partial.ly/shopify-code/</link><guid isPermaLink="false">68d179a2765dbc2abb7b2301</guid><category><![CDATA[Shopify]]></category><category><![CDATA[Merchant Support]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Mon, 22 Sep 2025 21:13:16 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!DOCTYPE html>

<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>Shopify Script Option with Partial.ly</title>
<style>
/* --- Base Styles --- */
body {
  font-family: system-ui, sans-serif;
  background: #f8fafc;
  color: #111827;
  margin: 40px;
}

/* --- Accordion Styles --- */
.accordion {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 15px;
    width:100%;
}

.accordion-header {
  background: linear-gradient(45deg, #574FE5, #32B6DB);
  color: white;
  cursor: pointer;
  padding: 15px 20px;
  font-weight: 500;
  transition: background 0.3s;
}

.accordion-header:hover {
  opacity: 0.9;
}

.accordion-content {
  display: none;
  padding: 15px 20px;
  background: #f9fafb;
    color:#3E425E;
}
    
.accordion-header:after {
  content: '\002B';
  color: white;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}    
    
.accordion-header:focus,
.toggle-header:focus {
  outline: 3px solid #32B6DB;
  outline-offset: 2px;
}    

/* --- Toggle Styles (Level 1) --- */
.toggle {
  margin-bottom: 10px;
  border: 2px solid #d1d5db;
  border-radius: 6px;
  overflow: hidden;
    color:#3E425E;
}

.toggle-header {
  width: 100%;
  background: #e0e7ff;
  cursor: pointer;
  padding: 10px 15px;
  font-weight: 500;
  display: block;
  transition: background 0.3s;
    color:#3E425E;
}

.toggle-header:hover {
  background: #c7d2fe;
}

.toggle-content {
  display: none;
  padding: 10px 15px;
  background: #f8fafc;
    color:#3E425E;
}
    
.toggle-header:after {
  content: '\002B';
  font-weight: bold;
  float:left;
  margin-right: 5px;
    color:#3E425E;
}    
    
.toggle-content img {
  max-width: 300px;     /* thumbnail size */
  height: auto;
  display: block;
  margin: 10px auto;
  cursor: zoom-in;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.toggle-content img.expanded {
  max-width: 100%;      /* expands to container width */
  cursor: zoom-out;
  box-shadow: 0 0 12px rgba(0,0,0,0.2);
}    

/* --- Nested Toggle (Level 2) --- */
.toggle .toggle {
  margin-top: 8px;
  border-color: #cbd5e1;
}

.toggle .toggle-header {
  background: #f1f5f9;
  font-weight: 400;
}

.toggle .toggle-header:hover {
  background: #e2e8f0;
}

.toggle .toggle-content {
  background: #ffffff;
}

/* --- List Styles --- */
.ul-disc {
  list-style-type: disc;
  margin-left: 20px;
}

.ol-decimal {
list-style-type: decimal;
margin-left: 20px;
}

/* Rounded border */
hr.rounded {
  border-top: 8px solid #bbb;
  border-radius: 5px;
}




/* --- Plus/Minus Toggle --- */
.accordion-header[aria-expanded="true"]::after,
.toggle-header[aria-expanded="true"]::after {
  content: "−"; /* Unicode minus sign */
}
.accordion-header::after,
.toggle-header::after {
  transition: transform 0.2s ease;
}
</style>
</head>
<body>
<!-- Accordion : About This Option -->
<div class="accordion">
<div aria-controls="content-926218cd" aria-expanded="false" class="accordion-header" role="button" tabindex="0">About This Option:</div>
<div aria-hidden="true" class="accordion-content" id="content-926218cd" role="region">
<div class="toggle">
<div aria-controls="content-3fcb09bf" aria-expanded="false" class="toggle-header" role="button" tabindex="0">This method involves:</div>
<div aria-hidden="true" class="toggle-content" id="content-3fcb09bf" role="region">
<ul class="ul-disc">
<li>Generating a code snippet with your Partial.ly account.</li>
<li>Adding the code snippet to your Shopify theme.</li>
<li>Creating 2 Zapier Pro zaps.</li>
</ul>
<p><i>* If you are a merchant who was using our Shopify integration prior to this change, this option allows you to keep your Partial.ly checkout buttons as is. You only need to create the Zapier Pro zaps to create the Shopify order.</i></p>
</div>
</div>
<div class="toggle">
<div aria-controls="content-7fcc4338" aria-expanded="false" class="toggle-header" role="button" tabindex="0">How it works:</div>
<div aria-hidden="true" class="toggle-content" id="content-7fcc4338" role="region">
<p>With this method, a snippet of code is added to your Shopify theme. This code will generate a Partial.ly checkout button for your store. The first Zapier zap will listen for plan_opened webhook events from Partial.ly and create an associated Shopify order. The second Zapier zap will listen for plan_paid webhooks events from Partial.ly and mark the Shopify order as paid.</p>
</div>
</div>
<div class="toggle">
<div aria-controls="content-787ecd1e" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Benefits:</div>
<div aria-hidden="true" class="toggle-content" id="content-787ecd1e" role="region">
<ul class="ul-disc">
<li>Ability to keep/create Partial.ly script customizations.</li>
<li>Place Partial.ly directly on your product pages.</li>
</ul>
</div>
</div>
<div class="toggle">
<div aria-controls="content-95c6a4d4" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Considerations:</div>
<div aria-hidden="true" class="toggle-content" id="content-95c6a4d4" role="region">
<ul class="ul-disc">
<li>Can only be placed on cart and/or product pages.</li>
<li>Not compatible with Shopify checkout, so limitations on shipping and taxes, which must be set up within your Partial.ly account. <br><i>(If you need the features of Shopify Checkout, see our other integration option to add Partial.ly as a <a href="https://support.partial.ly/shopify-manual-payment/">Manual Payment Method to your Shopify Checkout page</a>)</i>.</li>
<li>Won't work with Shopify discounts.</li>
<li>Limitations on inventory management: You can set up the Zapier zap to obey your inventory rules when creating the Shopify order. However, Partial.ly cannot follow your inventory rules. This means the customer may be able to open the plan if there is no stock, but the Shopify order will fail. We recommend "hiding" out of stock products to prevent this.</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Accordion : Set Up Instructions -->
<div class="accordion">
<div aria-controls="content-93b8fffa" aria-expanded="false" class="accordion-header" role="button" tabindex="0">Set Up Instructions:</div>
<div aria-hidden="true" class="accordion-content" id="content-93b8fffa" role="region">
<!--#1. Generating the Snippet of Code-->
<div class="toggle">
<div aria-controls="content-0e2f903a" aria-expanded="false" class="toggle-header" role="button" tabindex="0">#1. Generating the Snippet of Code</div>
<div aria-hidden="true" class="toggle-content" id="content-0e2f903a" role="region">
<ul class="ul-disc">
<li>Log into your Partial.ly account at <a href="https://partial.ly/login">https://partial.ly/login</a>.</li>
<li>Go to the integration tool of your offer and select from the dropdown menu the option to generate code for the cart or product pages.</li>
</ul>
<p><i>* New? Learn about setting up your account at <a href="https://support.partial.ly/shopify-faq/">https://support.partial.ly/shopify-faq/</a></i></p>
<!-- Nested toggle inside toggle -->
<div class="toggle">
<div aria-controls="content-99fe7b85" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4" tabindex="0">Example Image:</div>
<div aria-hidden="true" class="toggle-content" id="content-99fe7b85" role="region">
<img alt="select-script-from-integration-tool" src="https://support.partial.ly/content/images/size/w2400/2025/12/intgeration-tool-cart-script.png">
</div>
</div>
<!-- /nested toggle -->
</div>
</div>
<!--#2. Add Code Snippet to your Shopify theme-->
<div class="toggle">
<div aria-controls="content-b09ac4ff" aria-expanded="false" class="toggle-header" role="button" tabindex="0">#2. Add Code Snippet to your Shopify theme</div>
<div aria-hidden="true" class="toggle-content" id="content-b09ac4ff" role="region">
<p>Learn more here: <a href="https://support.partial.ly/shopify-add-code/">https://support.partial.ly/shopify-add-code/</a>
</p>
</div>
</div>
<!--#3. Create the first Zapier Zap: Creating the Shopify Order-->
<div class="toggle">
<div aria-controls="content-294ba63f" aria-expanded="false" class="toggle-header" role="button" tabindex="0">#3. Create the first Zapier Zap: Creating the Shopify Order</div>
<div aria-hidden="true" class="toggle-content" id="content-294ba63f" role="region">
<!-- Getting Started-->
<div class="toggle">
<div aria-controls="content-7119335a" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4" tabindex="0">Getting Started:</div>
<div aria-hidden="true" class="toggle-content" id="content-7119335a" role="region">
<ul class="ul-disc">
<li>You will need to connect to the Partial.ly zapier app here <a href=" https://zapier.com/apps/partially/integrations/"> https://zapier.com/apps/partially/integrations</a>.</li>
<li>If already installed, make sure the latest version is installed (0.1.11 as of Oct 15, 2025).</li>
<li>Once in your Zapier account, click <strong>Create</strong>.</li>
</ul>
</div>
</div>
<!-- Image of Zap -->
<div class="toggle">
<div aria-controls="content-336bc1a2" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Image of Zap</div>
<div aria-hidden="true" class="toggle-content" id="content-336bc1a2" role="region">
<img alt="multi-step-zap-for-opening-shopify-order" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-create-order-full.png">
</div>
</div>
<!-- Create the Trigger-->
<div class="toggle">
<div aria-controls="content-e60eb48e" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Create the Trigger</div>
<div aria-hidden="true" class="toggle-content" id="content-e60eb48e" role="region">
<ol class="ol-decimal">
<li>For the Trigger, select <strong>Partial.ly</strong>.</li>
<li>For the Event, select <strong>Payment Plan Opened</strong>.</li>
<li>Connect/Select your Partial.ly account. If connecting a new account, enter your Partial.ly API key. <br>You can locate your Partial.ly API Key within your Partial.ly account under <i>Settings &gt; General &gt; API Key</i>.</li>
<li>Click <strong>Continue</strong></li></ol>
<br>
<i>*If you are testing on our demo server, from the Server environment dropdown, select demo.partial.ly. Otherwise you can leave the server environment on the default partial.ly.</i>
<div class="toggle">
<div aria-controls="content-961f6aa3" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-961f6aa3" role="region">
<img alt="trigger-plan-opened" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-plan-open.png">
</div>
</div>
</div>
</div>
<!-- Test the Trigger-->
<div class="toggle">
<div aria-controls="content-94fe56fe" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Test the Trigger</div>
<div aria-hidden="true" class="toggle-content" id="content-94fe56fe" role="region">
<ol class="ol-decimal">
<li>Click the <strong>Test Trigger</strong> button to load test data. This will load some payment plans from your account, if you have any.</li>
<li>Select a payment plan, then click the <strong>Continue</strong> with selected record option</li>
</ol>
<div class="toggle">
<div aria-controls="content-83b79976" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-83b79976" role="region">
<img alt="select-a-record" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-plan-open-records.png">
</div>
</div>
</div>
</div>
<!-- Create Action #1-->
<div class="toggle">
<div aria-controls="content-366e01d5" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Create Action #1</div>
<div aria-hidden="true" class="toggle-content" id="content-366e01d5" role="region">
<p>From the events list, select <strong>Filter</strong>.</p>
<img alt="filter" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-filter.png">
</div>
</div>
<!-- Configure Action #1-->
<div class="toggle">
<div aria-controls="content-0de2bf7c" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Configure Action #1</div>
<div aria-hidden="true" class="toggle-content" id="content-0de2bf7c" role="region">
<div class="toggle">
<div aria-controls="content-f2e7648f" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Filter for Shopify plans:</div>
<div aria-hidden="true" class="toggle-content" id="content-f2e7648f" role="region">
<p>We want to filter payment plans that have <strong><u><i>come from Shopify</i></u></strong>.</p>
<ol class="ol-decimal">
<li>In the first field labeled <strong>choose field</strong>, select the <strong>Integration field</strong>.</li>
<li>From the <strong>choose condition</strong> dropdown, select the <strong>(Text) Exactly matches</strong> option.</li>
<li>In the third input labeled <strong>'enter text'</strong>, enter <strong>shopify</strong>.</li>
<li>Click <strong>+and</strong> to create another filter.</li></ol>
<div class="toggle">
<div aria-controls="content-9442f17d" aria-expanded="false" class="toggle-header" role="button" style="background-color: #7C44EC;color:white;" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-9442f17d" role="region">
<img alt="filter-for-shopify" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-filter-integration.png">
</div>
</div>
</div>
</div>
<div class="toggle">
<div aria-controls="content-515ac642" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Filter for new plans:</div>
<div aria-hidden="true" class="toggle-content" id="content-515ac642" role="region">
<p>For this second filter, we also want to make sure only newly opened plans create a Shopify order.</p>
<ol class="ol-decimal">
<li>For <strong>choose field</strong>, select <strong>is Reopened</strong>.</li>
<li>For <strong>choose condition</strong>, select <strong>(Boolean) is false</strong>.</li>
</ol>
<div class="toggle">
<div aria-controls="content-63894590" aria-expanded="false" class="toggle-header" role="button" style="background-color: #7C44EC;color:white;" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-63894590" role="region">
<img alt="filter-for-new-plans" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-filter-for-new-plans.png">
</div>
</div>
</div>
</div>
<p>Click <strong>Continue</strong>.</p>
<p>This will test the filter from your test data.</p>
<p>After the test is done, click <strong>Continue</strong> again.</p>
</div>
</div>
<!-- Create Action #2-->
<div class="toggle">
<div aria-controls="content-019fe5b6" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Create Action #2</div>
<div aria-hidden="true" class="toggle-content" id="content-019fe5b6" role="region">
<ol class="ol-decimal">
<li>For this action, select <strong>Shopify</strong>.</li>
<li>For Events, select <strong>Create Order</strong>.</li>
<li>Connect/Select your Shopify account.</li>
<li>Click <strong>Continue</strong>.</li>
</ol>
<div class="toggle">
<div aria-controls="content-d4cf4961" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-d4cf4961" role="region">
<img alt="create-shopify-order" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-create-shopify-order.png">
</div>
</div>
</div>
</div>
<!-- Configure Action #2-->
<div class="toggle">
<div aria-controls="content-c0aa64de" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Configure Action #2</div>
<div aria-hidden="true" class="toggle-content" id="content-c0aa64de" role="region">
<p>We need to configure all the fields sent to Shopify to create an order, most of which will be mapped from the Partial.ly plan_opened webhook.</p>
<div class="toggle">
<div aria-controls="content-99c71fde" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-99c71fde" role="region">
<img alt="configure-order" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-create-shopify-order-configuration.png">
</div>
</div>
<div class="toggle">
<div aria-controls="content-8638b5cd" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Email</div>
<div aria-hidden="true" class="toggle-content" id="content-8638b5cd" role="region">
<p><strong>Email</strong>: In the email field, either click the plus button or click the field then press the / key. In the pop up for data from previous steps, scroll to or search for <strong>customer email</strong> and select it.</p>
</div>
</div>
<div class="toggle">
<div aria-controls="content-2e7aca58" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Line Items</div>
<div aria-hidden="true" class="toggle-content" id="content-2e7aca58" role="region">
<ul class="ul-disc">
<li><strong>Product:</strong> Under line items, next to product, click the 3 dots next to the select and choose the <strong>custom</strong> option to enter a custom value. Then, in the insert data for Product popup, select the <strong>line items integration id</strong> field.</li>
<li><strong>Product Variant:</strong> For product variant, click the 3 dots next to the dropdown and choose <strong>custom</strong> to enter a custom value. From the pop to insert data for product variant, click the Payment plan opened in Partial.ly, then scroll to or search for the <strong>line items variant id</strong>.</li>
<li><strong>SKU:</strong> For the SKU field, map to the <strong>line items sku</strong> field from the Partial.ly webhook data.</li>
<li><strong>Product Quantity:</strong> For the Product Quantity field, map to the <strong>line items quantity</strong> field from the Partial.ly webhook data</li>
<li><strong>Product Title:</strong> For the Product Title field, map to the <strong>line items description</strong> field from the Partial.ly webhook</li>
<li><strong>Product Price:</strong> For the Product Price field, map to the <strong>line items amount</strong> from the Partial.ly webhook.</li>
</ul>
</div>
</div>
<div class="toggle">
<div aria-controls="content-09011ee3" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Tax Lines (if using Partial.ly Tax Settings)</div>
<div aria-hidden="true" class="toggle-content" id="content-09011ee3" role="region">
<ul class="ul-disc">
<li><strong>Title:</strong> For the title field under tax lines, map to the <strong> Tax Lines Description </strong> from the Partial.ly webhook. </li>
<li><strong>Price:</strong> the price field under tax lines, map to the <strong>Tax Lines Amount</strong> the Partial.ly webhook.</li>
</ul>
</div>
</div>
    
<div class="toggle">
<div aria-controls="content-3d2170fba" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Require Shipping</div>
<div aria-hidden="true" class="toggle-content" id="content-3d2170fba" role="region">
<p>If shipping is required, select true:</p>
<p><img src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-require-shipping.png" alt="require-shipping"></p>
  </div>
  </div>    
    
<div class="toggle">
<div aria-controls="content-3d2170fb" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Shipping Address</div>
<div aria-hidden="true" class="toggle-content" id="content-3d2170fb" role="region">
<ul class="ul-disc">
<li><strong>Shipping Address - First Name:</strong> map to the <strong>Customer First Name</strong> field from the Partial.ly webhook data.</li>
<li><strong>Shipping Address - Last Name:</strong> map to the <strong>Customer Last Name</strong> field from the Partial.ly webhook data.</li>
<li><strong>Shipping Address - Phone:</strong> map to the <strong>Customer Phone</strong> field from the Partial.ly webhook data (optional, only if collecting phone numbers at checkout is enabled in Partially settings).</li>
<li><strong>Shipping Address - Address:</strong> map to the <strong>ShiptoAddress</strong> field from the Partial.ly webhook data.</li>
<li><strong>Shipping Address - Address cont':</strong>  map to the <strong>Shipto Address 2</strong> field from the Partial.ly webhook data.</li>
<li><strong>Shipping Address - City:</strong> map to the <strong>Shipto City</strong> field from the Partially webhook data.</li>
<li><strong>Shipping Address -  Country Code:</strong> map to the <strong>Shipto Country</strong> field from the Partial.ly webhook data.</li>
<li><strong>Shipping Address - State/Province/Region Code:</strong> map to the <strong>Shipto State</strong> field from the Partial.ly webhook data.</li>
<li><strong>Shipping Address - Postal/Zip code:</strong> map to the <strong>Shipto Postal Code</strong> field from the Partial.ly webhook data.</li>
</ul>
</div>
</div>
<div class="toggle">
<div aria-controls="content-6bb3ab61" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Shipping Lines (if using Partial.ly Shipping Settings)</div>
<div aria-hidden="true" class="toggle-content" id="content-6bb3ab61" role="region">
<ul class="ul-disc">
<li><strong>Title:</strong> For the title field under shipping lines, map to the <strong>Shipping Lines Description</strong> from the Partial.ly webhook.</li>
<li><strong>Price:</strong> For the price field under shipping lines, map to the <strong>Shipping Lines Amount</strong> from the Partial.ly webhook.</li>
</ul>
</div>
</div>
<div class="toggle">
<div aria-controls="content-4fc41045" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Other</div>
<div aria-hidden="true" class="toggle-content" id="content-4fc41045" role="region">
<p>Configure any other optional fields you would like your order to have, such as:</p>
<p>Note, Send Receipt, Send Fulfillment Receipt, Location, Inventory Behaviour, Financial Status, Fulfillment Status, Source Name.</p>
<p>For example, if you want the Partial.ly payment plan number to appear on the Shopify order, you can add it as a note, or additional detail:</p>
<div class="toggle">
<div aria-controls="content-7011b9f7" aria-expanded="false" class="toggle-header" role="button" style="background-color: #7C44EC;color:white;" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-7011b9f7" role="region">
<img alt="other-details" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-note-additional-details.png">
</div>
</div>
</div>
</div>
<p>Click <strong>Continue</strong> to go to the test page.</p>
<p>You can only test if you created a test order in Shopify.</p>
<p>If not, you can click <strong>Skip test</strong>.</p>
</div>
</div>
<!-- Create Action #3-->
<div class="toggle">
<div aria-controls="content-a79e55af" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Create Action #3</div>
<div aria-hidden="true" class="toggle-content" id="content-a79e55af" role="region">
<p>Now we need to send info back to Partial.ly.</p>
<ul class="ul-disc">
<li>For this action, select <strong>Partial.ly</strong>.</li>
<li>For the Event, select <strong>Update a Payment Plan</strong>.</li>
<li>Connect/Select your Partial.ly account.</li>
</ul>
<div class="toggle">
<div aria-controls="content-81a740ac" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-81a740ac" role="region">
<img alt="update-plan" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-update-plan.png">
</div>
</div>
</div>
</div>
<!-- Configure Action #3-->
<div class="toggle">
<div aria-controls="content-293d7c83" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Configure Action #3</div>
<div aria-hidden="true" class="toggle-content" id="content-293d7c83" role="region">
<ul class="ul-disc">
<li>For the <strong>Payment Plan ID</strong> field, select <strong>ID</strong>. The Partial.ly symbol will appear next to it.</li>
<li>For <strong>Merchant Notes</strong>, select <strong>Name</strong>. The Shopify symbol will appear next to it.</li>
<li>For <strong>Integration ID</strong>, select <strong>ID</strong> with the Shopify symbol in front of it.</li>
</ul>
<div class="toggle">
<div aria-controls="content-4076a0fe" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-4076a0fe" role="region">
<img alt="configure-plan" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-update-plan-configure.png">
</div>
</div>
</div>
</div>
<!-- Publish Zap-->
<div class="toggle">
<div aria-controls="content-e72d3c78" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Publish Zap</div>
<div aria-hidden="true" class="toggle-content" id="content-e72d3c78" role="region">
<ul class="ul-disc">
<li>Click <strong>Continue</strong> to go to the test page. You can click <strong>Skip test</strong>.</li>
<li>Click the <strong>Publish</strong> button to activate the zap.</li>
</ul>
</div>
</div>
</div>
</div>
<!--#4. Create the second Zapier Zap-->
<div class="toggle">
<div aria-controls="content-5e3b9f36" aria-expanded="false" class="toggle-header" role="button" tabindex="0">#4. Create the second Zapier Zap: Marking the Shopify order as paid</div>
<div aria-hidden="true" class="toggle-content" id="content-5e3b9f36" role="region">
<p><i>* This option will only work if the order was created with financial status "pending" or "authorized".  Be sure to review your prior zap has this.</i></p>
<!--Image of Zap-->
<div class="toggle">
<div aria-controls="content-9efb104a" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Image of Zap</div>
<div aria-hidden="true" class="toggle-content" id="content-9efb104a" role="region">
<img alt="update-order-as-paid" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-mark-paid-full-1.png">
</div>
</div>
<!-- Create and Test Trigger: Payment Plan Paid-->
<div class="toggle">
<div aria-controls="content-1b6f0a9c" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Create and Test Trigger</div>
<div aria-hidden="true" class="toggle-content" id="content-1b6f0a9c" role="region">
<ul class="ul-disc">
<li>For the <strong>Trigger</strong>, select <strong>Partial.ly (0.1.11)</strong>.</li>
<li>For the <strong>Event</strong>, select the <strong>Payment Plan Paid</strong>.</li>
<li>Connect/Select your Partial.ly account.</li>
<li>Click <strong>Continue</strong> and <strong>Test</strong> the Trigger.</li>
</ul>
<div class="toggle">
<div aria-controls="content-a4903f10" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-a4903f10" role="region">
<img alt="plan-is-paid" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-plan-paid.png">
</div>
</div>
</div>
</div>
<!--Action #1: Filter shopify orders-->
<div class="toggle">
<div aria-controls="content-64b7dd8c" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Action #1: Filter for Shopify</div>
<div aria-hidden="true" class="toggle-content" id="content-64b7dd8c" role="region">
<p>Similar to the first Zap, from the events list, select <strong>Filter</strong>.</p>
<p>We want to filter for payment plans that created a Shopify order:</p>
<ul class="ul-disc">
<li>For <strong>choose field</strong>, select the <strong>Integration</strong> field.</li>
<li>For <strong>choose condition</strong>,  select the <strong>(Text) Exactly matches</strong>.</li>
<li>In the next input labeled <strong>'enter text'</strong>, enter <strong>shopify</strong>.</li>
</ul>
<div class="toggle">
<div aria-controls="content-96d32232" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-96d32232" role="region">
<img alt="filter-for-shopify" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-filter-paid-order.png">
</div>
</div>
</div>
</div>
<!--Action #2: Get Shopify Order ID-->
<div class="toggle">
<div aria-controls="content-49d12985" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Action #2: Get Shopify Order ID</div>
<div aria-hidden="true" class="toggle-content" id="content-49d12985" role="region">
<p>Set up the Action:</p>
<ul class="ul-disc">
<li>For the <strong>Action</strong>, select <strong>Shopify</strong>.</li>
<li>For <strong>Event</strong>, select <strong>Get Order ID</strong>.</li>
<li>Select/connect your Shopify account.</li>
<li>Click <strong>Continue</strong>.</li>
</ul>
<div class="toggle">
<div aria-controls="content-d3862e71" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-d3862e71" role="region">
<img alt="get-order-id" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-get-order-if.png">
</div>
</div>
<p>Configure the Action:</p>
<ul class="ul-disc">
<li>For <strong>Order ID</strong>, select <strong>Integration Id</strong> from the Partial.ly webhook data </li>
<li>Leave the rest of the data on default and <strong>Continue</strong></li>
</ul>
<div class="toggle">
<div aria-controls="content-9f5704cf" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-9f5704cf" role="region">
<img alt="configure-order-by-id" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-get-order-ID-config.png">
</div>
</div>
<p>Test the step if you need to pull data from Shopify, or skip the test and <strong>Continue</strong></p>
</div>
</div>
<!--Action #3: Filter by Financial Status-->
<div class="toggle">
<div aria-controls="content-a27a97a9" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Actions #3: Filter for Financial Status</div>
<div aria-hidden="true" class="toggle-content" id="content-a27a97a9" role="region">
<p>We now need to filter for Shopify orders that have a pending financial status.</p>
<ul class="ul-disc">
<li>For <strong>choose field</strong>, select the <strong>Display Financial Status</strong> field from Shopify.</li>
<li>For <strong>choose condition</strong>,  select the <strong>(Text) Exactly matches</strong>.</li>
<li>In the next input labeled <strong>'enter text'</strong>, enter <strong>pending</strong>.</li>
</ul>
<div class="toggle">
<div aria-controls="content-7391af64" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-7391af64" role="region">
<img alt="filter-by-status" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-filter-financial-status.png">
</div>
</div>
</div>
</div>
<!--Action #4: Mark Order as Paid-->
<div class="toggle">
<div aria-controls="content-7e09e739" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Action #4: Marking Order As Paid</div>
<div aria-hidden="true" class="toggle-content" id="content-7e09e739" role="region">
<p>Set up the Action:</p>
<ul class="ul-disc">
<li>For the <strong>Action</strong>, select <strong>Shopify</strong>.</li>
<li>For <strong>Event</strong>, select <strong>Mark Order as Paid</strong>.</li>
<li>Select/connect your Shopify account.</li>
<li>Click <strong>Continue</strong>.</li>
</ul>
<div class="toggle">
<div aria-controls="content-01ba769f" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-01ba769f" role="region">
<img alt="mark-order" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-mark-order.png">
</div>
</div>
<p>Configure the Action:</p>
<p>For <strong>Order</strong>, click the three dots and select <strong>Custom</strong>.</p>
<div class="toggle">
<div aria-controls="content-71d29711" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-71d29711" role="region">
<img alt="select-custom-config" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-mark-order-custom.png">
</div>
</div>
<p>Map to the <strong>Integration ID</strong> from the Partial.ly webhook.</p>
<div class="toggle">
<div aria-controls="content-ea167e34" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-ea167e34" role="region">
<img alt="configure-paid" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-mark-order-configure.png">
</div>
</div>
</div>
</div>
<!--Publish-->
<div class="toggle">
<div aria-controls="content-e8a42092" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Publish</div>
<div aria-hidden="true" class="toggle-content" id="content-e8a42092" role="region">
<ul class="ul-disc">
<li>Click <strong>Continue</strong> to go to the test page. You can click Skip test.</li>
<li>Click the <strong>Publish </strong>button to activate the zap.</li>
</ul>
</div>
</div>
<!--final divs below-->
</div>
</div>
<!--Final Accordion divs-->
</div>
</div>
<!--The End of this Accordion-->
<!--Have More Questions Accordion-->
<div class="accordion">
<div aria-controls="content-bc7b5972" aria-expanded="false" class="accordion-header" role="button" tabindex="0">Need Help or Have More Questions?</div>
<div aria-hidden="true" class="accordion-content" id="content-bc7b5972" role="region">
<p>Check out support articles for our Shopify integration here: <a href="https://support.partial.ly/tag/shopify/"> https://support.partial.ly/tag/shopify/</a>.</p>
<p>Email us at <a href="mailto:support@partial.ly">support@partial.ly</a></p>
</div>
</div>
<!--JS Section-->
<script>
// --- Accordion Functionality ---
document.querySelectorAll('.accordion-header').forEach(header => {
  header.addEventListener('click', toggleContent);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleContent.call(header, e);
    }
  });
});

// --- Toggle Functionality (handles nested toggles too) ---
document.querySelectorAll('.toggle-header').forEach(header => {
  header.addEventListener('click', toggleContent);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleContent.call(header, e);
    }
  });
});

function toggleContent(e) {
  e.stopPropagation();
  const content = this.nextElementSibling;
  const expanded = this.getAttribute('aria-expanded') === 'true';
  this.setAttribute('aria-expanded', !expanded);
  content.style.display = expanded ? 'none' : 'block';
  content.setAttribute('aria-hidden', expanded);
}

// --- Click-to-expand images ---
document.querySelectorAll('.toggle-content img').forEach(img => {
  img.addEventListener('click', (e) => {
    e.stopPropagation(); // prevent toggles from collapsing
    img.classList.toggle('expanded');
  });
});
</script>
</body>
</html><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Add Partial.ly as a Manual Payment Method to Shopify Checkout]]></title><description><![CDATA[Add Partial.ly as a payment option to your Shopify checkout page. Use Zapier Pro to power the automation of creating a plan when a Shopify order is created. ]]></description><link>https://support.partial.ly/shopify-manual-payment/</link><guid isPermaLink="false">68d17961765dbc2abb7b22f7</guid><category><![CDATA[Shopify]]></category><category><![CDATA[Merchant Support]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Mon, 22 Sep 2025 20:00:27 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!DOCTYPE html>

<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<style>
/* --- Base Styles --- */
body {
  font-family: system-ui, sans-serif;
  background: #f8fafc;
  color: #111827;
  margin: 40px;
}

/* --- Accordion Styles --- */
.accordion {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 15px;
    width:100%;
}

.accordion-header {
  background: linear-gradient(45deg, #574FE5, #32B6DB);
  color: white;
  cursor: pointer;
  padding: 15px 20px;
  font-weight: 500;
  transition: background 0.3s;
}

.accordion-header:hover {
  opacity: 0.9;
}

.accordion-content {
  display: none;
  padding: 15px 20px;
  background: #f9fafb;
    color:#3E425E;
}
    
.accordion-header:after {
  content: '\002B';
  color: white;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}    

.accordion-header:focus,
.toggle-header:focus {
  outline: 3px solid #32B6DB;
  outline-offset: 2px;
}

/* --- Toggle Styles (Level 1) --- */
.toggle {
  margin-bottom: 10px;
  border: 2px solid #d1d5db;
  border-radius: 6px;
  overflow: hidden;
    color:#3E425E;
}

.toggle-header {
  width: 100%;
  background: #e0e7ff;
  cursor: pointer;
  padding: 10px 15px;
  font-weight: 500;
  display: block;
  transition: background 0.3s;
    color:#3E425E;
}

.toggle-header:hover {
  background: #c7d2fe;
}

.toggle-content {
  display: none;
  padding: 10px 15px;
  background: #f8fafc;
    color:#3E425E;
}
    
.toggle-header:after {
  content: '\002B';
  font-weight: bold;
  float:left;
  margin-right: 5px;
    color:#3E425E;
}    
    
.toggle-content img {
  max-width: 300px;     /* thumbnail size */
  height: auto;
  display: block;
  margin: 10px auto;
  cursor: zoom-in;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.toggle-content img.expanded {
  max-width: 100%;      /* expands to container width */
  cursor: zoom-out;
  box-shadow: 0 0 12px rgba(0,0,0,0.2);
}    

/* --- Nested Toggle (Level 2) --- */
.toggle .toggle {
  margin-top: 8px;
  border-color: #cbd5e1;
}

.toggle .toggle-header {
  background: #f1f5f9;
  font-weight: 400;
}

.toggle .toggle-header:hover {
  background: #e2e8f0;
}

.toggle .toggle-content {
  background: #ffffff;
}

/* --- List Styles --- */
.ul-disc {
  list-style-type: disc;
  margin-left: 20px;
}

.ol-decimal {
list-style-type: decimal;
margin-left: 20px;
}

/* Rounded border */
hr.rounded {
  border-top: 8px solid #bbb;
  border-radius: 5px;
}




/* --- Plus/Minus Toggle --- */
.accordion-header[aria-expanded="true"]::after,
.toggle-header[aria-expanded="true"]::after {
  content: "−"; /* Unicode minus sign */
}
.accordion-header::after,
.toggle-header::after {
  transition: transform 0.2s ease;
}
</style>
</head>
<body>
<!-- Accordion : About This Option -->
<div class="accordion">
<div aria-controls="content-f684008d" aria-expanded="false" class="accordion-header" role="button" tabindex="0">About This Option:</div>
<div aria-hidden="true" class="accordion-content" id="content-f684008d" role="region" style="display:none;">
<div class="toggle">
<div aria-controls="content-a510cb2b" aria-expanded="false" class="toggle-header" role="button" tabindex="0">This method involves:</div>
<div aria-hidden="true" class="toggle-content" id="content-a510cb2b" role="region" style="display:none;">
<ul class="ul-disc">
<li>Adding a manual payment method to Shopify checkout.</li>
<li>Configuring it in your Partial.ly account.</li>
<li>Creating 2 Zapier Pro zaps.</li>
</ul>
</div>
</div>
<div class="toggle">
<div aria-controls="content-eba1077b" aria-expanded="false" class="toggle-header" role="button" tabindex="0">How it works:</div>
<div aria-hidden="true" class="toggle-content" id="content-eba1077b" role="region" style="display:none;">
<p>The Zapier zap will listen for new Shopify orders using the manual payment method. The zap will then trigger Partial.ly to create a new payment plan from the order and email a payment plan request to the customer.</p>
</div>
</div>
<div class="toggle">
<div aria-controls="content-3998250c" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Benefits:</div>
<div aria-hidden="true" class="toggle-content" id="content-3998250c" role="region" style="display:none;">
<p>Partial.ly will be located directly on Shopify checkout, allowing the full benefits of Shopify rules and checkout, including:</p>
<ul class="ul-disc">
<li>Shipping</li>
<li>Taxes</li>
<li>Discounts</li>
<li>Inventory Management</li>
<li>Draft order capabilities (would need to create a zap)
</li>
</ul>
</div>
</div>
<div class="toggle">
<div aria-controls="content-bfb66747" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Considerations:</div>
<div aria-hidden="true" class="toggle-content" id="content-bfb66747" role="region" style="display:none;">
<ul class="ul-disc">
<li>The Shopify order is opened while the plan is emailed to the customer.</li>
<li>The customer must open the plan from their email to complete the order. You may need to follow up with them if it is not opened in a certain amount of time.</li>
<li>Restrictions on offer customizations and limitations.</li>
<li>If you wish to limit when Partial.ly is available at checkout, payment methods can be dynamically disabled for <a href="https://help.shopify.com/en/manual/checkout-settings/checkout-blocks/customizations/payment-methods">Shopify Plus merchants</a>. 

If you are not a Shopify Plus merchant, you may be able to find a third party app that can do this.</li>
</ul>
<p><i>* If this option does not work for you, please check out our other integration option: <a href="https://support.partial.ly/shopify-code/">Adding the Partial.ly checkout button to your product pages and/or cart page</a></i></p>
</div>
</div>
</div>
</div>
<!-- Accordion : Set Up Instructions -->
<div class="accordion">
<div aria-controls="content-2102151b" aria-expanded="false" class="accordion-header" role="button" tabindex="0">Set Up Instructions:</div>
<div aria-hidden="true" class="accordion-content" id="content-2102151b" role="region" style="display:none;">
<!--#1. Create Manual Payment Method in Shopify-->
<div class="toggle">
<div aria-controls="content-17b2accc" aria-expanded="false" class="toggle-header" role="button" tabindex="0">#1. Creating a Manual Payment Method in Shopify</div>
<div aria-hidden="true" class="toggle-content" id="content-17b2accc" role="region" style="display:none;">
<div class="toggle">
<div aria-controls="content-01157cec" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-01157cec" role="region" style="display:none;">
<img alt="create-manual-payment-method" src="https://support.partial.ly/content/images/size/w2400/2025/12/shopify-manual-payment-method.png">
</div>
</div>
<ul class="ul-disc">
<li>Log into your Shopify account at <a href="https://www.shopify.com/store-login">https://www.shopify.com/store-login</a></li>
<li>Go to <strong><i>Settings &gt; Payments &gt; Manual Payment Methods</i></strong>.</li>
<li>Click <strong><i>+ Manual Payment Method</i></strong>.</li>
<li>Select <strong><i>Create Customer Payment Method</i></strong> and fill out the following:
</li>
<ul class="ul-disc">
<li>Custom Payment Method Name (You will need this later.)</li>
<li>Additional Details</li>
<li>Payment Instructions</li>
</ul>
<li>Click <strong><i>Activate</i></strong></li>
</ul>
<div class="toggle">
<div aria-controls="content-03b5c670" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-03b5c670" role="region" style="display:none;">
<img alt="set-up-manual-payment" src="https://support.partial.ly/content/images/size/w2400/2025/12/shopify-manual-form.png">
</div>
</div>
<div class="toggle">
<div aria-controls="content-5ab77f44" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">How the Customer Sees This Info:</div>
<div aria-hidden="true" class="toggle-content" id="content-5ab77f44" role="region" style="display:none;">
<ul class="ul-disc">
<li>The payment method name will be shown to the customer on the Shopify checkout page.
</li>
<li>The additional details text will be shown when they select the manual payment method.</li>
</ul>
<div class="toggle">
<div aria-controls="content-f4e27dc3" aria-expanded="false" class="toggle-header" role="button" style="background-color: #7C44EC; color:white;" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-f4e27dc3" role="region" style="display:none;">
<img alt="how-partially-appears" src="https://support.partial.ly/content/images/size/w2400/2025/12/shopify-manual-partial.ly.png">
</div>
</div>
<ul class="ul-disc">
<li>The payment instructions text will be show on the order confirmation page:</li>
</ul>
<div class="toggle">
<div aria-controls="content-40dca859" aria-expanded="false" class="toggle-header" role="button" style="background-color: #7C44EC; color:white;" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-40dca859" role="region" style="display:none;">
<img alt="confirmation-page" src="https://support.partial.ly/content/images/size/w2400/2025/12/shopify-confirmation.png">
</div>
</div>
</div>
</div>
<p><i>Reminder: It is recommended to let the customer know their order will not be complete until the payment plan is opened. They will be emailed the payment plan and can also open it from their customer account at partial.ly/login under Other Payment Plans.

</i></p>
</div>
</div>
<!--#2-->
<div class="toggle">
<div aria-controls="content-6f343246" aria-expanded="false" class="toggle-header" role="button" tabindex="0">#2. Configure in Partial.ly</div>
<div aria-hidden="true" class="toggle-content" id="content-6f343246" role="region" style="display:none;">
<p><i>* New? Learn about setting up your account at https://support.partial.ly/shopify-faq/</i></p>
<ul class="ul-disc">
<li>Log into <a href="https://support.partial.ly/shopify-manual-payment/partial.ly/login">partial.ly/login</a>.</li>
<li>Go to <strong>Settings &gt; Integrations &gt; Shopify Settings</strong>.</li>
<li>In the payment method name field, enter the <strong><u>exact name</u></strong> of the payment method you configured in Shopify (<strong><u>important it must be exactly the same, or else the plan will not be created</u></strong>).
</li>
<li>Select the offer to apply to payment plans created from Shopify (currently, this cannot be dynamically changed but we are testing improvements, please reach out to support for updates).</li>
</ul>
<div class="toggle">
<div aria-controls="content-64397600" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-64397600" role="region" style="display:none;">
<img alt="partially-shopify-settings" src="https://support.partial.ly/content/images/size/w2400/2025/12/shopify-settings-manual-payment.png">
</div>
</div>
</div>
</div>
<!--#3-->
<div class="toggle">
<div aria-controls="content-80e7234f" aria-expanded="false" class="toggle-header" role="button" tabindex="0">#3. First Zapier Zap: Create the Partial.ly Plan when a Shopify Order is Created</div>
<div aria-hidden="true" class="toggle-content" id="content-80e7234f" role="region" style="display:none;">
<p><i>* Remember, this will create and email the plan to the customer. The customer must open the plan from their email to complete the order. </i></p>
<!-- Getting Started-->
<div class="toggle">
<div aria-controls="content-d32a0d21" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Getting Started:</div>
<div aria-hidden="true" class="toggle-content" id="content-d32a0d21" role="region" style="display:none;">
<ul class="ul-disc">
<li>You will need to connect to the Partial.ly zapier app here:<a href="https://zapier.com/apps/partially/integrations"> https://zapier.com/apps/partially/integrations</a>.</li>
<li>If already installed, make sure the latest version is installed (0.1.11 as of Oct 15, 2025).</li>
<li>Once in your Zapier account, click <strong>Create</strong>.</li>
</ul>
</div>
</div>
<!-- Image of Zap -->
<div class="toggle">
<div aria-controls="content-819b6a9c" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Image of Zap:</div>
<div aria-hidden="true" class="toggle-content" id="content-819b6a9c" role="region" style="display:none;">
<img alt="zap" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-manual-full.png">
</div>
</div>
<!-- Create the Trigger-->
<div class="toggle">
<div aria-controls="content-9efab4a9" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Create the Trigger:</div>
<div aria-hidden="true" class="toggle-content" id="content-9efab4a9" role="region" style="display:none;">
<ul class="ul-disc">
<li>For the trigger, select <strong>Shopify</strong></li>
<li>For event, select <strong>New Order</strong></li>
<li>Connect/Select your Shopify account</li>
<li>Click <strong>Continue</strong></li>
</ul>
<div class="toggle">
<div aria-controls="content-d9b641bf" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-d9b641bf" role="region" style="display:none;">
<img alt="new-order" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-new-order.png">
</div>
</div>
</div>
</div>
<!-- Test the Trigger-->
<div class="toggle">
<div aria-controls="content-1fcd1875" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Test the Trigger:</div>
<div aria-hidden="true" class="toggle-content" id="content-1fcd1875" role="region" style="display:none;">
<ul class="ul-disc">
<li>Click the test trigger button, which will pull sample orders from your Shopify shop.</li>
<li>Select a sample order, then click continue with selected record.
</li>
</ul>
</div>
</div>
<!-- Create Action -->
<div class="toggle">
<div aria-controls="content-d7d6bc0f" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Create Action:</div>
<div aria-hidden="true" class="toggle-content" id="content-d7d6bc0f" role="region" style="display:none;">
<p>From the event list, select <strong>Custom &gt; Webhooks</strong>.</p>
<div class="toggle">
<div aria-controls="content-8a7456a3" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-8a7456a3" role="region" style="display:none;">
<img alt="custom-webhooks" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-custom.png">
</div>
</div>
<p>Select <strong>Custom Request</strong> for the event and click <strong>Continue</strong>.</p>
<div class="toggle">
<div aria-controls="content-d78c3992" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-d78c3992" role="region" style="display:none;">
<img alt="custom-request" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-custom-webhooks.png">
</div>
</div>
</div>
</div>
<!-- Configure Action -->
<div class="toggle">
<div aria-controls="content-4f404881" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Configure Custom Request:</div>
<div aria-hidden="true" class="toggle-content" id="content-4f404881" role="region" style="display:none;">
<div class="toggle">
<div aria-controls="content-5e4b713e" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-5e4b713e" role="region" style="display:none;">
<img alt="configure-custom-request" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-custom-request.png">
</div>
</div>
<ul class="ul-disc">
<li>For method, select the <strong>POST</strong> option.</li>
<li>For the <strong>URL</strong>, enter <a href="https://partial.ly/api/payment_plan/from_shopify">https://partial.ly/api/payment_plan/from_shopify</a> (if you are testing with our demo server, enter <a href="https://demo.partial.ly/api/payment_plan/from_shopify">https://demo.partial.ly/api/payment_plan/from_shopify</a>).</li>
<li>For <strong>Data Pass-Through?</strong>, select True.</li>
<li>Leave the Data field empty.</li>
<li>For <strong>Unflatten</strong>, select No.</li>
<li>Leave the Basic Auth field empty.</li>
<li>For the <strong>Headers</strong> section:</li>
<ul class="ul-disc">
<li>Box 1: Enter Accept,  then application/json</li>
<li>Box 2: Enter Content-Type, then application/json</li>
<li>Box 3: Enter Authorization, then Bearer <api_key>, making sure to replace <api_key> with your Partial.ly API key (<strong>important</strong>, it must be “Bearer” then a space, followed by the API key). You can find your Partial.ly API key within your Partial.ly account at <a href="https://support.partial.ly/shopify-manual-payment/partial.ly/login">partial.ly/login</a> under <strong>Settings &gt; General &gt;API Key</strong>.</api_key></api_key></li>
</ul>
</ul>
<p><i><strong>* click + Add value set to add additional boxes.</strong></i></p>
<div class="toggle">
<div aria-controls="content-5a7afa29" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example:</div>
<div aria-hidden="true" class="toggle-content" id="content-5a7afa29" role="region" style="display:none;">
<img alt="headers" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-headers.png">
</div>
</div>
</div>
</div>
<div class="toggle">
<div aria-controls="content-eb6ecd4b" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Test and Publish:</div>
<div aria-hidden="true" class="toggle-content" id="content-eb6ecd4b" role="region" style="display:none;">
<ul class="ul-disc">
<li>Click the continue button, which will take you to the test step. You can only test if you create a payment plan within your Partial.ly account. If you do not wish to do this, click skip test.</li>
<li>Click the Publish button to complete the step.</li>
</ul>
</div>
</div>
</div>
</div>
<!--#4. Create the second Zapier Zap-->
<div class="toggle">
<div aria-controls="content-a9907f39" aria-expanded="false" class="toggle-header" role="button" tabindex="0">#4. Second Zapier Zap: Mark the Shopify Order as Paid</div>
<div aria-hidden="true" class="toggle-content" id="content-a9907f39" role="region" style="display:none;">
<p><i>* This option will only work if the order was created with financial status "pending" or "authorized". </i></p>
<!--Image of Zap-->
<div class="toggle">
<div aria-controls="content-405a0f66" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Image of Zap</div>
<div aria-hidden="true" class="toggle-content" id="content-405a0f66" role="region" style="display:none;">
<img alt="plan-paid" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-mark-paid-full-1.png">
</div>
</div>
<!-- Create and Test Trigger: Payment Plan Paid-->
<div class="toggle">
<div aria-controls="content-88d80fa6" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Create and Test Trigger</div>
<div aria-hidden="true" class="toggle-content" id="content-88d80fa6" role="region" style="display:none;">
<ul class="ul-disc">
<li>For the <strong>Trigger</strong>, select <strong>Partial.ly (0.1.11)</strong>.</li>
<li>For the <strong>Event</strong>, select the <strong>Payment Plan Paid</strong>.</li>
<li>Connect/Select your Partial.ly account.</li>
<li>Click <strong>Continue</strong> and <strong>Test</strong> the Trigger.</li>
</ul>
<div class="toggle">
<div aria-controls="content-0cdd7a5b" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-0cdd7a5b" role="region" style="display:none;">
<img alt="paid-trigger" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-plan-paid.png">
</div>
</div>
</div>
</div>
<!--Action #1: Filter shopify orders-->
<div class="toggle">
<div aria-controls="content-f8ac03f7" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Action #1: Filter for Shopify</div>
<div aria-hidden="true" class="toggle-content" id="content-f8ac03f7" role="region" style="display:none;">
<p>Similar to the first Zap, from the events list, select <strong>Filter</strong>.</p>
<p>We want to filter for payment plans that created a Shopify order:</p>
<ul class="ul-disc">
<li>For <strong>choose field</strong>, select the <strong>Integration</strong> field.</li>
<li>For <strong>choose condition</strong>,  select the <strong>(Text) Exactly matches</strong>.</li>
<li>In the next input labeled <strong>'enter text'</strong>, enter <strong>shopify</strong>.</li>
</ul>
<div class="toggle">
<div aria-controls="content-6c06df40" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-6c06df40" role="region" style="display:none;">
<img alt="action-filter" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-filter-paid-order.png">
</div>
</div>
</div>
</div>
<!--Action #2: Get Shopify Order ID-->
<div class="toggle">
<div aria-controls="content-2a7afd95" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Action #2: Get Shopify Order ID</div>
<div aria-hidden="true" class="toggle-content" id="content-2a7afd95" role="region" style="display:none;">
<p>Set up the Action:</p>
<ul class="ul-disc">
<li>For the <strong>Action</strong>, select <strong>Shopify</strong>.</li>
<li>For <strong>Event</strong>, select <strong>Get Order ID</strong>.</li>
<li>Select/connect your Shopify account.</li>
<li>Click <strong>Continue</strong>.</li>
</ul>
<div class="toggle">
<div aria-controls="content-0d962a0d" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-0d962a0d" role="region" style="display:none;">
<img alt="get-order-by-id" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-get-order-if.png">
</div>
</div>
<p>Configure the Action:</p>
<ul class="ul-disc">
<li>For <strong>Order ID</strong>, select <strong>Integration Id</strong> from the Partial.ly webhook data </li>
<li>Leave the rest of the data on default and <strong>Continue</strong></li>
</ul>
<div class="toggle">
<div aria-controls="content-c0c14287" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-c0c14287" role="region" style="display:none;">
<img alt="configure" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-get-order-ID-config.png">
</div>
</div>
<p>Test the step if you need to pull data from Shopify, or skip the test and <strong>Continue</strong></p>
</div>
</div>
<!--Action #3: Filter by Financial Status-->
<div class="toggle">
<div aria-controls="content-fa94965b" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Actions #3: Filter for Financial Status</div>
<div aria-hidden="true" class="toggle-content" id="content-fa94965b" role="region" style="display:none;">
<p>We now need to filter for Shopify orders that have a financial status of pending or authorzied.</p>
<ul class="ul-disc">
<li>For <strong>choose field</strong>, select the <strong>Display Financial Status</strong> field from Shopify.</li>
<li>For <strong>choose condition</strong>,  select the <strong>(Text) Exactly matches</strong>.</li>
<li>In the next input labeled <strong>'enter text'</strong>, and enter the status you assigned your Shopify orders opened with Partial.ly( <strong>pending</strong> or <strong>authorized</strong>.)</li>
</ul>
<div class="toggle">
<div aria-controls="content-72154cc2" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-72154cc2" role="region" style="display:none;">
<img alt="filter-by-status" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-filter-financial-status.png">
</div>
</div>
</div>
</div>
<!--Action #4: Mark Order as Paid-->
<div class="toggle">
<div aria-controls="content-62f65a46" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Action #4: Marking Order As Paid</div>
<div aria-hidden="true" class="toggle-content" id="content-62f65a46" role="region" style="display:none;">
<p>Set up the Action:</p>
<ul class="ul-disc">
<li>For the <strong>Action</strong>, select <strong>Shopify</strong>.</li>
<li>For <strong>Event</strong>, select <strong>Mark Order as Paid</strong>.</li>
<li>Select/connect your Shopify account.</li>
<li>Click <strong>Continue</strong>.</li>
</ul>
<div class="toggle">
<div aria-controls="content-5472b10c" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-5472b10c" role="region" style="display:none;">
<img alt="mark-order-paid" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-mark-order.png">
</div>
</div>
<p>Configure the Action:</p>
<p>For <strong>Order</strong>, click the three dots and select <strong>Custom</strong>.</p>
<div class="toggle">
<div aria-controls="content-c7f0f7b1" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-c7f0f7b1" role="region" style="display:none;">
<img alt="custom" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-mark-order-custom.png">
</div>
</div>
<p>Map to the <strong>Integration ID</strong> from the Partial.ly webhook.</p>
<div class="toggle">
<div aria-controls="content-ccb07e2c" aria-expanded="false" class="toggle-header" role="button" tabindex="0">Image Example</div>
<div aria-hidden="true" class="toggle-content" id="content-ccb07e2c" role="region" style="display:none;">
<img alt="mark-order-paid-configure" src="https://support.partial.ly/content/images/size/w2400/2025/12/zap-mark-order-configure.png">
</div>
</div>
</div>
</div>
<!--Publish-->
<div class="toggle">
<div aria-controls="content-dc85f81c" aria-expanded="false" class="toggle-header" role="button" style="background-color: #66E4E4;" tabindex="0">Publish:</div>
<div aria-hidden="true" class="toggle-content" id="content-dc85f81c" role="region" style="display:none;">
<ul class="ul-disc">
<li>Click <strong>Continue</strong> to go to the test page. You can click Skip test.</li>
<li>Click the <strong>Publish </strong>button to activate the zap.</li>
</ul>
</div>
</div>
<!--final divs below-->
</div>
</div>
</div>
</div>
<!--The End of this Accordion-->
<div class="accordion">
<div aria-controls="content-2e2ace27" aria-expanded="false" class="accordion-header" role="button" tabindex="0">Need Help or Have More Questions?</div>
<div aria-hidden="true" class="accordion-content" id="content-2e2ace27" role="region" style="display:none;">
<p>Check out support articles for our Shopify integration here: <a href="https://support.partial.ly/tag/shopify/"> https://support.partial.ly/tag/shopify/</a>.</p>
<p>Email us at <a href="mailto:support@partial.ly">support@partial.ly</a>.</p>
</div>
</div>
<script>
// --- Accordion Functionality ---
document.querySelectorAll('.accordion-header').forEach(header => {
  header.addEventListener('click', toggleContent);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleContent.call(header, e);
    }
  });
});

// --- Toggle Functionality (handles nested toggles too) ---
document.querySelectorAll('.toggle-header').forEach(header => {
  header.addEventListener('click', toggleContent);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleContent.call(header, e);
    }
  });
});

function toggleContent(e) {
  e.stopPropagation();
  const content = this.nextElementSibling;
  const expanded = this.getAttribute('aria-expanded') === 'true';
  this.setAttribute('aria-expanded', !expanded);
  content.style.display = expanded ? 'none' : 'block';
  content.setAttribute('aria-hidden', expanded);
}

// --- Click-to-expand images ---
document.querySelectorAll('.toggle-content img').forEach(img => {
  img.addEventListener('click', (e) => {
    e.stopPropagation(); // prevent toggles from collapsing
    img.classList.toggle('expanded');
  });
});
</script>
</body>
</html><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Adding Partial.ly Code Snippet to Your Shopify Theme]]></title><description><![CDATA[<p>This article is for merchants using the following Shopify integration: <a href="https://support.partial.ly/shopify-code/">Add Partial.ly Checkout Button to Your Shopify Cart and/or Product Pages</a></p><p>If you would prefer to add Partial.ly directly to your Shopify checkout page via Manual Payment Method, please see: <a href="https://support.partial.ly/shopify-manual-payment/">Add Partial.ly as a Manual Payment</a></p>]]></description><link>https://support.partial.ly/shopify-add-code/</link><guid isPermaLink="false">62671009a94edb1bc3e3af3f</guid><category><![CDATA[Shopify]]></category><category><![CDATA[Merchant Support]]></category><dc:creator><![CDATA[Michelle Moore]]></dc:creator><pubDate>Sun, 21 Sep 2025 21:21:00 GMT</pubDate><content:encoded><![CDATA[<p>This article is for merchants using the following Shopify integration: <a href="https://support.partial.ly/shopify-code/">Add Partial.ly Checkout Button to Your Shopify Cart and/or Product Pages</a></p><p>If you would prefer to add Partial.ly directly to your Shopify checkout page via Manual Payment Method, please see: <a href="https://support.partial.ly/shopify-manual-payment/">Add Partial.ly as a Manual Payment Method to Shopify Checkout</a></p><p>A comparison of both options can be seen here: <a href="https://support.partial.ly/shopify-integration/">Partial.ly's Shopify Integration</a></p><p>Both options require you to create a Zapier zap. </p><!--kg-card-begin: html--><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Add Partial.ly Script to Shopify Theme</title>
<style>
/* --- Base Styles --- */
body {
  font-family: system-ui, sans-serif;
  background: #f8fafc;
  color: #111827;
  margin: 40px;
}

/* --- Accordion Styles --- */
.accordion {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 15px;
  width: 100%;
}

.accordion-header {
  background: linear-gradient(45deg, #574FE5, #32B6DB);
  color: white;
  cursor: pointer;
  padding: 15px 20px;
  font-weight: 500;
  transition: background 0.3s;
}

.accordion-header:hover {
  opacity: 0.9;
}

.accordion-content {
  display: none;
  padding: 15px 20px;
  background: #f9fafb;
  color: #3E425E;
}

.accordion-header:after {
  content: "\002B";
  color: white;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}

.accordion-header[aria-expanded="true"]::after {
  content: "−";
}

.accordion-header:focus,
.toggle-header:focus {
  outline: 3px solid #32B6DB;
  outline-offset: 2px;
}

/* --- Toggle Styles --- */
.toggle {
  margin-bottom: 10px;
  border: 2px solid #d1d5db;
  border-radius: 6px;
  overflow: hidden;
  color: #3E425E;
}

.toggle-header {
  width: 100%;
  background: #e0e7ff;
  cursor: pointer;
  padding: 10px 15px;
  font-weight: 500;
  display: block;
  transition: background 0.3s;
  color: #3E425E;
}

.toggle-header:hover {
  background: #c7d2fe;
}

.toggle-content {
  display: none;
  padding: 10px 15px;
  background: #f8fafc;
  color: #3E425E;
}

.toggle-header:after {
  content: "\002B";
  font-weight: bold;
  float: left;
  margin-right: 5px;
  color: #3E425E;
}

.toggle-header[aria-expanded="true"]::after {
  content: "−";
}

.toggle-content img {
  max-width: 300px;
  height: auto;
  display: block;
  margin: 10px auto;
  cursor: zoom-in;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.toggle-content img.expanded {
  max-width: 100%;
  cursor: zoom-out;
  box-shadow: 0 0 12px rgba(0,0,0,0.2);
}

/* --- Nested Toggles --- */
.toggle .toggle {
  margin-top: 8px;
  border-color: #cbd5e1;
}

.toggle .toggle-header {
  background: #f1f5f9;
  font-weight: 400;
}

.toggle .toggle-header:hover {
  background: #e2e8f0;
}

.toggle .toggle-content {
  background: #ffffff;
}

/* --- List Styles --- */
.ul-disc {
  list-style-type: disc;
  margin-left: 20px;
}
    
/* --- Link Color --- */
a:link {
  color: #574FE5;
  background-color: transparent;
  text-decoration: none;
}
a:visited {
  color: #574FE5;
  background-color: transparent;
  text-decoration: none;
}
a:hover {
  color: #26AAAA;
  background-color: transparent;
  text-decoration: underline;
}
a:active {
  color: #574FE5;
  background-color: transparent;
  text-decoration: underline;
}    
</style>
</head>
<body>

<!-- Accordion 1: About-->
<div class="accordion">
  <div class="accordion-header" role="button" tabindex="0" aria-expanded="false" aria-controls="accordion1">About This Option:</div>
  <div class="accordion-content" id="accordion1" role="region" aria-hidden="true" style="display:none;">
    <p>Adding Partial.ly to your Shopify site via code involves copying and pasting a snippet of code into your Shopify theme. This code will embed the Partial.ly checkout button onto your site. </p>
    <p>You can view a sample store here: 
      <a href="https://shopify.demo.partial.ly">Partial.ly Shopify Demo Store</a></p>
  </div>
</div>

<!-- Accordion 2: Before You Start -->
<div class="accordion">
  <div class="accordion-header" role="button" tabindex="0" aria-expanded="false" aria-controls="accordion2">Before You Start:</div>
  <div class="accordion-content" id="accordion2" role="region" aria-hidden="true" style="display:none;">
<p>Make sure your Partial.ly account is set up. You can register at <a href="https://partial.ly/register">https://partial.ly/register</a>. Once you register, you will need to:
    <ul class="ul-disc">
<li> Connect Your Stripe Account. </li>
<li> <a href="https://support.partial.ly/offers/">Create an Offer. </a></li>
<li> <a href="https://support.partial.ly/connecting-your-shopify-account/">Connect your Shopify Store.</a></li>
</ul>
</p>
  </div>
</div>

<!-- Accordion 3: Generate the Code for the Partial.ly Checkout Button -->
<div class="accordion">
  <div class="accordion-header" role="button" tabindex="0" aria-expanded="false" aria-controls="accordion3">Generate the Code for the Partial.ly Checkout Button:</div>
  <div class="accordion-content" id="accordion3" role="region" aria-hidden="true" style="display:none;">
    <p>You can generate the Partial.ly code with the integration tool of your offer.</p>
    
    <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle3a">Image Example:</div>
      <div class="toggle-content" id="toggle3a" role="region" aria-hidden="true" style="display:none;">
<img src="https://support.partial.ly/content/images/size/w2400/2025/12/integration-tool-link.png" alt="link-to-integration-tool">
      </div>
    </div>

<p>Once in the integration tool, select from the dropdown menu titled "I would like to use my offer". You will see* the option to use Partial.ly on your cart and product pages.</p>

    <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle3b">Image Example:</div>
      <div class="toggle-content" id="toggle3b" role="region" aria-hidden="true" style="display:none;">
        <img src="https://support.partial.ly/content/images/size/w2400/2025/12/integration-tool-dropdown.png" alt="select-drop-down-menu">
      </div>
    </div>

<p>Once you have configured your selection, copy the generated script to paste into your Shopify theme</p>

   <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle3c">Image Example:</div>
      <div class="toggle-content" id="toggle3c" role="region" aria-hidden="true" style="display:none;">
        <img src="https://support.partial.ly/content/images/size/w2400/2025/12/integration-tool-copy.png" alt="copy-script-from-integration-tool">
      </div>
    </div>

<p><i>* Don't see the options? Make sure you have activated your Shopify integration. You can do this under <strong>Settings > Integrations</strong> and clicking <strong>Connect</strong> next to Shopify. </i></p>

  </div>
</div>

<!-- Accordion 4: Place the Code in your Shopify Theme (Includes Video Tutorials) -->
<div class="accordion">
  <div class="accordion-header" role="button" tabindex="0" aria-expanded="false" aria-controls="accordion4">Place the Code in your Shopify Theme (Includes Video Tutorials):</div>
  <div class="accordion-content" id="accordion4" role="region" aria-hidden="true" style="display:none;">
 <p>The Shopify button can go on your cart page and/or product pages. Just select the correct option from the dropdown menu in the integration tool.</p>

 <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle4a">Image Example:</div>
      <div class="toggle-content" id="toggle4a" role="region" aria-hidden="true" style="display:none;">
<img src="https://support.partial.ly/content/images/size/w2400/2025/12/integration-tool-dropdown-options.png" alt="drop-down-menu-selection">
      </div>
    </div>

<!--Add Partial.ly to your cart-->
 <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle4b">Add Partial.ly to Cart:</div>
      <div class="toggle-content" id="toggle4b" role="region" aria-hidden="true" style="display:none;">


 <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle4b1" style="background-color:#66E4E4">Video Tutorial</div>
      <div class="toggle-content" id="toggle4b1" role="region" aria-hidden="true" style="display:none;">
<a href="https://youtu.be/dUXzp4HUtEM" target="_blank">Video Tutorial: How to Add Partial.ly to your Shopify Cart Page</a> 
  </div>
    </div> 

  <p>Log into your shopify admin and go to your theme for editing under <strong>online store > themes > actions > edit code</strong>.</p>

<p>Use the search box to locate the liquid file that contains your cart info. There may be several files used for your cart. </p><p>You will want to locate the file that contains the code for your additional checkout buttons. This can be the cart.liquid file, cart-template.liquid, main-cart-footer.liquid, etc. Depending on your theme, the file may be named something else. You can use the find feature to search the document (ex. Ctrl-F).</p>

<p>Once you locate where in the template you want the Partial.ly button to appear (typically above the code for additional checkout buttons), paste the code from the integration tool. Use the preview feature of your Shopify theme to view the update.</p>

 <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle4b3" style="background-color:#66E4E4">Image Example</div>
      <div class="toggle-content" id="toggle4b3" role="region" aria-hidden="true" style="display:none;">
        <img src="https://support.partial.ly/content/images/size/w2400/2025/12/shopify-theme-cart.png" alt="place-script-shopify-theme-cart-pages">
  </div>
    </div> 


 <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle4b4" style="background-color:#66E4E4">A Note about Cart Drawers:</div>
      <div class="toggle-content" id="toggle4b4" role="region" aria-hidden="true" style="display:none;">
        <p>Partial.ly may not work with your cart drawers/popup windows/modals/etc.
It is advised you convert your cart into a cart page under your Shopify Theme Settings.
This can be done in your Shopify account under <strong>Online Theme > Live Theme > Customize > Theme Settings > Cart Page > Cart Type.</strong></p>
  </div>
    </div> 
       
      </div>
    </div>    


  <!-- Add Partial.ly to Product Pages-->  
 <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle4c">Add Partial.ly to Product Pages:</div>
      <div class="toggle-content" id="toggle4c" role="region" aria-hidden="true" style="display:none;">

         <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle4c1" style="background-color:#66E4E4">Video Tutorial</div>
      <div class="toggle-content" id="toggle4c1" role="region" aria-hidden="true" style="display:none;">
        <a href="https://youtu.be/9lIDk5W4U0s" target="_blank">Video Tutorial: How to Add Partial.ly to your Shopify Product Pages</a> 

      </div>
    </div>

    <p>Similar to how you add Partial.ly to your cart page, locate the liquid file that contains your product info. There may be several files used for your product pages. You will want to locate the file that contains the code for your 'add to cart' button. This can be the product-template.liquid file, main-product.liquid file, product-form.liquid file, etc. Depending on your theme, the file may be named something else.</p>

<p>Once you locate where in the template you want the Partial.ly button to appear (typically below the code for the add to cart button), paste the code from the integration tool. Use the preview feature of your Shopify theme to view the update and adjust as needed.</p>

     <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle4c2" style="background-color:#66E4E4">Image Example</div>
      <div class="toggle-content" id="toggle4c2" role="region" aria-hidden="true" style="display:none;">
        <img src="https://support.partial.ly/content/images/size/w2400/2025/12/shopify-theme-product.png" alt="place-script-in-shopify-theme-product-pages">
      </div>
    </div>

<p><i>*Partial.ly may not work on product pages with variables (ex. size, color, date select, etc.) If your products have variables, we recommend you only use Partial.ly on the cart page to ensure customer choices are saved. You can always test with our demo site at <a href="https://demo.partial.ly" target="_blank">https://demo.partial.ly</a> 
</i></p>

      </div>
    </div>

    </div>
    </div>


<!-- Accordion 5:Customization Options -->
<div class="accordion">
  <div class="accordion-header" role="button" tabindex="0" aria-expanded="false" aria-controls="accordion5">Customization Options:</div>
  <div class="accordion-content" id="accordion5" role="region" aria-hidden="true" style="display:none;">

 <!--Alter button-->   
 <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5a">Can I alter the button?</div>
      <div class="toggle-content" id="toggle5a" role="region" aria-hidden="true" style="display:none;">
        <p>Yes, when in the integration tool, there will be various options to configure the checkout button, such as color and editing the text.</p>
        <p>Your changes will automatically update the code. Once you have your configurations set, you can copy and paste the code into your Shopify theme.</p>


           <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5a1" style="background-color:#66E4E4">Image Example</div>
      <div class="toggle-content" id="toggle5a1" role="region" aria-hidden="true" style="display:none;">
        <img src="https://support.partial.ly/content/images/size/w2400/2025/12/integration-tool-configure-button.png" alt="configure-the-button">
        </div>
        
        
      </div>
    </div>

 <!-- Minimum-->   
<div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5b">Can I set a minimum purchase requirement?</div>
      <div class="toggle-content" id="toggle5b" role="region" aria-hidden="true" style="display:none;">
        <p>Yes, when in the integration tool, you can set a minimum order requirement by selecting 'Only display with minimum amount' and entering a value. The generated code will update with this new info. If you already installed the button code onto your theme, you will need to copy and paste the updated code.</p>

     <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5b1" style="background-color:#66E4E4">Image Example</div>
      <div class="toggle-content" id="toggle5b1" role="region" aria-hidden="true" style="display:none;">
        <img src="https://support.partial.ly/content/images/size/w2400/2025/12/integration-tool-minimum.png" alt="minimum-requirement">
        </div>      

      </div>
    </div>
    
<!--Widget-->    
<div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5c">What is the Partial.ly widget?</div>
      <div class="toggle-content" id="toggle5c" role="region" aria-hidden="true" style="display:none;">
        <p>The Partial.ly widget is a small bit of javascript code that you place on your product pages to let customers know they can purchase with a Partial.ly payment plan. The widget allows customers to interactively see the payment plan options available to them. You can read more about the Partial.ly widget here: About the Partial.ly Widget.</p>
        <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5c1" style="background-color:#66E4E4">Image Example</div>
      <div class="toggle-content" id="toggle5c1" role="region" aria-hidden="true" style="display:none;">
<img src="https://support.partial.ly/content/images/size/w2400/2025/12/widget-2.gif" alt="widget-in-action">
        </div>
        </div>

        <p>Learn more at: <a href="https://support.partial.ly/partially-widget/" target="_blank">Partial.ly Widget for Shopify</a> 
</p>

       
      </div>
    </div>
    
 <!--languages-->   
<div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5d">Can Partial.ly appear in a different language?</div>
      <div class="toggle-content" id="toggle5d" role="region" aria-hidden="true" style="display:none;">
        <p>Yes. Partial.ly will appear in English by default. If you need Partial.ly checkout to appear in another language, simply add the following line of code to the Partial.ly code snippet:</p>
        <p><pre><code>language: 'fr',</code></pre></p>

<p>Use the abbreviation of the language you need. For example, fr is for French.</p>

             <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5d1" style="background-color:#66E4E4">Example of Placement</div>
      <div class="toggle-content" id="toggle5d1" role="region" aria-hidden="true" style="display:none;">
<pre><code>
var partiallyButtonConfig = {
     offer: 'abc123-def456-ghi789-jkl1011',
     returnUrl: '{{shop.url}}/cart',
     returnConfirmedUrl: '{{shop.url}}/cart/clear',
  language:'fr',
</code></pre>
        </div>
        </div>

      </div>
    </div>
    
<!--currency-->    
<div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5e">Can Partial.ly adapt to currency changes?</div>
      <div class="toggle-content" id="toggle5e" role="region" aria-hidden="true" style="display:none;">
        <p>Yes. First, ensure that multi-currency is configured correctly on your shop: <a href=" https://help.shopify.com/en/manual/payments/shopify-payments/multi-currency/testing-multiple-currencies#manually-switch-currencies" target="_blank">multiple currency setup</a> 
</p>
<p>Once confirmed, you can add the following line of code to your Partial.ly script:</p>

  <p><pre><code>currency: '{{cart.currency.iso_code}}',</code></pre></p>

     <div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5e1" style="background-color:#66E4E4">Example of Placement</div>
      <div class="toggle-content" id="toggle5e1" role="region" aria-hidden="true" style="display:none;">
       <pre><code>
document.partiallyButtonConfig = {
     offer: 'abc123-def456-ghi789-jkl1011',
     returnUrl: '{{shop.url}}/cart',
     returnConfirmedUrl: '{{shop.url}}/cart/clear',
     currency: '{{cart.currency.iso_code}}',
</code></pre>
        </div>
        </div>

      </div>
    </div>    

 <!--Samples-->   
<div class="toggle">
      <div class="toggle-header" role="button" tabindex="0" aria-expanded="false" aria-controls="toggle5f">Samples of Customizations:</div>
      <div class="toggle-content" id="toggle5f" role="region" aria-hidden="true" style="display:none;">
        <p>For details on configuring the checkout button, please see our article on the Partial.ly Checkout Button: <a href="https://support.partial.ly/partial-ly-checkout-button/" target="_blank">Partial.ly Checkout Button
</a> 
 </p>

<p>For more on limiting Partial.ly, you can view samples of custom code in the following articles:</p>

<p><a href="https://support.partial.ly/sample-code-for-shopify-cart/" target="_blank">Samples of Custom Code for Shopify Cart</a> 
</p>
<p><a href="https://support.partial.ly/sample-code-shopify-product-pages/" target="_blank">Samples of Custom Code for Shopify Product Pages</a> 
</p>

      </div>
    </div>       

    </div>
    </div>

<!-- Accordion 6: Don't Forget-->

<div class="accordion">
  <div class="accordion-header" role="button" tabindex="0" aria-expanded="false" aria-controls="accordion6">Don't Forget:</div>
  <div class="accordion-content" id="accordion6" role="region" aria-hidden="true" style="display:none;">
<p>To complete this integration, you will need to set up Zapier zaps to create the Shopify order. Learn more here: <a href="https://support.partial.ly/shopify-code/" target="_blank">Add Partial.ly Checkout Button to Your Shopify Cart and/or Product Pages</a></p>
    </div>
    </div>

<!--Accordion 7: Have Questions-->
<div class="accordion">
  <div class="accordion-header" role="button" tabindex="0" aria-expanded="false" aria-controls="accordion7">Need Help or Have More Question?:</div>
  <div class="accordion-content" id="accordion7" role="region" aria-hidden="true" style="display:none;">
<p>Check out our other Shopify support articles here: <a href="https://support.partial.ly/tag/shopify/">Shopify Support Articles</a>.</p>

<p>Email our support team at <a href="mailto:support@partial.ly">support@partial.ly</a>.</p>
    </div>
    </div>


<!-- JS Section -->

<script>
// Accessible Accordion + Toggle behavior
function toggleContent(e) {
  e.stopPropagation();
  const content = this.nextElementSibling;
  const expanded = this.getAttribute('aria-expanded') === 'true';
  this.setAttribute('aria-expanded', !expanded);
  content.style.display = expanded ? 'none' : 'block';
  content.setAttribute('aria-hidden', expanded);
}

// Accordion & Toggle listeners
document.querySelectorAll('.accordion-header, .toggle-header').forEach(header => {
  header.addEventListener('click', toggleContent);
  header.addEventListener('keydown', e => {
    if (e.key === 'Enter' || e.key === ' ') {
      e.preventDefault();
      toggleContent.call(header, e);
    }
  });
});

// Click-to-expand images
document.querySelectorAll('.toggle-content img').forEach(img => {
  img.addEventListener('click', e => {
    e.stopPropagation();
    img.classList.toggle('expanded');
  });
});
</script>

</body>
</html>
<!--kg-card-end: html-->]]></content:encoded></item></channel></rss>