Monetization: accepting payments
The Monetization section in CreateYourVPN: connecting the Tribute payment provider, automatic subscription grants after payment, and the payment journal.
In the previous lesson we put together a price list. The Monetization section turns it into a working shop: connect a payment provider — and a payment becomes a subscription on its own, without you in the loop.
How it works
Your clients' money goes directly to you: CreateYourVPN is not a middleman in the payments and takes no commission on your sales. You connect your own payment provider account, and the flow looks like this:
Client on the storefront → "Pay" → provider's page → payment
Provider → payment notification → CreateYourVPN → plan granted automaticallyAvailable today: Tribute — payments through Telegram. Card payments via Lemon Squeezy are in the works and coming next.
Accepting payments is part of the paid Pro tier: it's what switches the storefront into selling mode. Pro and platform pricing are covered in the final lesson.
Connecting Tribute
On the Tribute card press "Connect" — then two steps:
Paste your Tribute API key. Get it from the Tribute dashboard (the API keys section), paste it into the "Tribute API key" field, and save.
Return the address back to Tribute. After saving, a Webhook URL appears in the form — copy it and paste it into those same API settings in Tribute. Payment notifications now reach CreateYourVPN.
What's left: make sure the "Accept payments" checkbox is on, and add Tribute payment links to your plans. The status is visible right on the provider card: "Connected", "Connected · paused", or "Not connected". If the key may have leaked — the "Rotate webhook URL" button issues a new address, and the old one stops working immediately.
How a payment finds the client
Tribute means payments in Telegram, so the client first links their Telegram username in the storefront cabinet (the cabinet itself asks for it before payment), then pays. The payment notification arrives with the payer's Telegram details — the system uses them to find the client and extend their subscription. The validity period comes straight from the provider ("paid until"), so subscription renewals work by themselves too.
One payment is never granted twice: repeated and duplicated provider notifications are collapsed automatically.
The payment journal
Further down the page — the "Payment journal": every provider notification and every manual grant. Each event shows the amount, payer hints (email or Telegram), the matched user, the plan, and a status:
| Status | What it means |
|---|---|
| Processed | The payment was applied, the subscription granted |
| Unmatched | The system couldn't tell whose payment it is or for which plan |
| Needs attention | E.g. a payment for a client you disabled manually |
| Skipped | A test event — no real grant happened |
| Failed | The notification couldn't be parsed |
| Received | Just arrived, still being processed |
"Unmatched" payments
"Unmatched" is your inbox: this is where, say, a payment from a client who didn't link Telegram lands. Such payments aren't lost. Press "Match", pick the cluster, the user, and the plan — then "Match & grant". The system grants the subscription and remembers the pairing: this client's future payments will match on their own.
Pausing and disconnecting
- Untick "Accept payments" — acceptance pauses: new notifications are ignored, the payment buttons on the storefront go dark, and new registrations stop being paid — almost like disconnecting, only the settings and the journal stay put. Handy while you sort something out.
- "Disconnect" removes the connection entirely. Clients and their subscriptions are unaffected, but the payment buttons on the storefront go dark, and the storefront falls back to open or manual mode (lesson 11). The payment journal is kept.
Remember
- Money goes directly to you through your provider; CreateYourVPN only grants subscriptions on payment notifications.
- Connecting Tribute is two steps: paste the API key, return the Webhook URL back into Tribute.
- The client links their Telegram username in the cabinet — that's how a payment finds them.
- The payment journal is the full history; "Unmatched" is fixed with the "Match" button, and the pairing is remembered.
- Disconnecting a provider doesn't touch clients — only the payment buttons go dark.
Next
One section remains — your settlement with the platform itself: balance, pricing, and Pro.