Product
Default trialSets the baseline unit and duration for every checkout of that product.
Ruba product infrastructure
Capture the payment method first, grant access, and charge only when the trial completes.
A trial starts as a real subscription in the trialing state. The customer receives benefits immediately while the first payment waits for the end of the configured period.
Capability matrix
Set a broad default, then override it for a narrower checkout when needed.
Sets the baseline unit and duration for every checkout of that product.
Replaces the product value for customers arriving through one durable link.
Takes precedence when your application creates a customer-specific purchase.
Execution workflow
Ruba saves the payment method without collecting the plan amount.
The subscription is live and all product benefits are available.
Eligible trials notify the customer before the conversion charge.
At expiry, Ruba attempts payment and begins the regular billing period.
A decline enters the normal past-due retry process instead of ending access immediately.
Deep dive specifications
The conversion reminder is sent three days before expiry.
The reminder is sent one day before expiry.
No conversion reminder is scheduled for the short window.
Disable these messages under Settings → Billing → Customer notifications when your product communicates instead.
Move into the first paid period without an application job.
Extend, shorten, or end an active trial from the API or dashboard.
Notify eligible customers before the saved card is used.
Detect prior trials through normalized identity and payment signals.
When prevention is enabled, Ruba compares the normalized email address and payment-method fingerprint with prior redemptions. An email alias such as user+alias@example.com is matched to its base address.
A match removes the trial from that checkout rather than blocking the customer from purchasing. The session refreshes at the regular paid terms so the customer can still continue.
Build with Ruba
Start with the product default and override only where the offer requires it.