<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Paddle on StackOnward</title><link>https://stackonward.com/tags/paddle/</link><description>Recent content in Paddle on StackOnward</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 11 Sep 2026 04:18:00 +0800</lastBuildDate><atom:link href="https://stackonward.com/tags/paddle/index.xml" rel="self" type="application/rss+xml"/><item><title>How to Model SaaS Products, Plans, and Prices</title><link>https://stackonward.com/posts/product-plan-price-saas-catalog-modeling/</link><pubDate>Fri, 11 Sep 2026 04:18:00 +0800</pubDate><guid>https://stackonward.com/posts/product-plan-price-saas-catalog-modeling/</guid><description>&lt;p&gt;RouteNest is about to raise Pro monthly from $19 to $24. If the system stores one mutable row—&lt;code&gt;plan=pro, price=19, stripe_price_id=...&lt;/code&gt;—writing 24 over 19 removes the basis for existing subscriptions. Whether the $190 annual price moves, whether the euro price is recomputed, which amount &lt;code&gt;WELCOME20&lt;/code&gt; discounts, and which Paddle or Creem object to charge all become guesses.&lt;/p&gt;
&lt;p&gt;How to model SaaS products and prices depends on when each fact changes. Product says what is sold. Plan says which features and limits the buyer receives. Price says amount, currency, interval, and version. A promotion only changes a qualifying sale. A provider mapping only projects an internal Price onto a payment channel. Orders and subscriptions must store the snapshot from the sale; they cannot reread &amp;ldquo;the current price&amp;rdquo; to explain the past.&lt;/p&gt;</description></item><item><title>Why a Payment Processor Application Gets Rejected, and How to Resubmit Evidence</title><link>https://stackonward.com/posts/payment-provider-review-rejected-verifiable-materials/</link><pubDate>Fri, 11 Sep 2026 04:16:00 +0800</pubDate><guid>https://stackonward.com/posts/payment-provider-review-rejected-verifiable-materials/</guid><description>&lt;p&gt;A payment processor application is rejected when a reviewer cannot independently match who is selling, through which domain, what the buyer receives after payment, who handles cancellation or refunds, and who receives the net proceeds. Genuine files still fail when those facts point at different businesses.&lt;/p&gt;
&lt;p&gt;The application names &lt;code&gt;Northstar Labs, Inc.&lt;/code&gt;. The site footer only shows the product name &lt;code&gt;RouteNest&lt;/code&gt;. The pricing page sells a USD 19 monthly auto-renewing subscription, while the refund page still describes a one-time download. The product is behind login and the reviewer has no account. The payout account still names the founder personally. Each of those statements can be true. Together they do not say who sells what, how it is delivered, or where the money goes.&lt;/p&gt;</description></item></channel></rss>