RiskFreeTrial is the billing, refunds, and AI hub behind 14+ portfolio products. Integrate the shared billing layer in an afternoon, connect refund intelligence straight into your AI agent via MCP, or monetize hesitant users with ad-supported free trials.
If you're on Cloudflare Workers, one service binding gives you checkout, a shared credit ledger, and refund-with-feedback. Customers pay once through the hub; refunds return credits with structured feedback you can act on.
In your wrangler.json, add the portfolio billing service:
"services": [{ "binding":
"PORTFOLIO_BILLING_SERVICE",
"service": "riskfreetrial" }]
When a user wants to buy credits for your product, create a checkout session:
await env.PORTFOLIO_BILLING_SERVICE
.createCheckout({
domain: "yourproduct.com",
offeringId: "starter_3",
email: user.email,
successUrl: "…/success",
cancelUrl: "…/pricing"
})
When your product delivers value, consume from the shared balance:
await env.PORTFOLIO_BILLING_SERVICE
.consumeCredits({
email: user.email,
domain: "yourproduct.com",
deltaCredits: -1,
actionType: "ai_generation"
})
When a customer requests a refund through our portal, credits are returned and you get the feedback via the API:
GET /api/refund/requests
?domain=yourproduct.com
Authorization: Bearer
YOUR_PORTFOLIO_BILLING_API_KEY
Your refund data shouldn't live in a dashboard your agent can't see. The RiskFreeTrial MCP server pipes refund intelligence — clustered causes, refund rates, prioritized fixes — straight into OpenClaw, Claude, or any MCP-compatible app or agent loop, so your agent can watch refund reasons and draft fixes as part of its normal work.
Streamable HTTP transport — one URL, no install:
{
"mcpServers": {
"riskfreetrial": {
"type": "http",
"url": "https://www.riskfreetrial.org/mcp"
}
}
}
get_refund_intelligence — the clustered refund-cause report, refund rate, confidence, and recommended fixes.
get_merchant_status — connection, policy, and Automation Credits.
Unauthenticated calls compute over the labeled sample dataset with the real engine. Add Authorization: Bearer <merchant token> for your own connected Stripe data.
Pull the report each cycle, watch a refund cause trend, draft the trial-ending email when "unexpected renewal" spikes, or open an issue when "bug or poor output" crosses a threshold — all inside your existing loop, with your approval gates.
Some users will never enter a card for a product they haven't tried — and "free tier forever" trains them to never pay. Ad-supported trials are the third option: the user views one sponsor message on a RiskFreeTrial-branded page, and your Stripe purchase flow surfaces as a free subscription — $0 due today, trial period applied, renewal tracked by Penny so nobody gets surprise-charged.
riskfreetrial.org/ad-gate?product=you.com&nonce=…&return_url=…return_url with ?grant=…GET /api/adgate/verify?token=… (one-time consume), then grant the trial — free credits, or a Stripe subscription with a trial period showing $0 due today.Grant tokens are single-use and expire in 10 minutes. Return addresses are allowlisted per partner. Sponsors never see who the user is — the gate shows a message, not a tracker.