It is used to create an automated store on your Discord server with integrated PayPal payments. Use it to sell VIP memberships, credits, special Discord roles, and much more. Our solution works just like the Marketplace on the SourceFactory Discord and offers you unlimited product creation possibilities.
âĸ After an order is paid, you can automatically perform the following actions:
Send commands to your CS2 server
Assign a special discord roles to the user
Execute any SQL command to your MySQL database
The plugin includes extensive configuration options, allowing you to set up products for individual servers (up to 25 products per CS2 server), customize embed messages, and much more.
Config Preview
{
"Response Server": false,
"Live Mode": false,
"Currency": "EUR",
"Allow Unlinked Users To Create Orders": false,
"Database Connection": {
"Host": "",
"Port": 3306,
"User": "",
"Database": "",
"Password": ""
},
"PayPal Account": {
"Name": "Name",
"Surname": "Surname",
"Email": "Email",
"Client ID": "",
"Secret": ""
},
"Invoice Data": {
"Note": "After paying for your order, you will receive your VIP benefits within 5 minutes! If there is any problem, please contact us.",
"Term": "No refunds.",
"Tax ID": "",
"Website": "https://sourcefactory.eu",
"Logo URL": "https://i.imgur.com/P8SYw0H.png",
"Invoice Lifetime": 120
},
"Servers List": [
"Public",
"Only Mirage"
],
"Actual Server": "Public",
"Messages List": {
"1": {
"Embed": {
"Content": "",
"Title": "Public Server \u2022 Store",
"Description": "\u003E Buy VIP on our Public server using the PayPal payment gateway! After completing the payment, VIP will be added to you within 5 minutes!",
"Thumbnail": "",
"Image": "",
"HEXColor": "#99ff33",
"Footer": "",
"FooterTimestamp": false
},
"Products": [
{
"Name": "VIP 1 Month - Public",
"Price": 9.99,
"CommandsAfterPurcharse": [
{
"Key": "Public",
"Value": "say {USERNAME} ({STEAMID}) purchased VIP for 1 month!"
},
{
"Key": "Public",
"Value": "css_addvip {STEAMID}"
}
],
"RolesAfterPurcharse": [
"YOUR_ROLE_ID",
"YOUR_ROLE_ID2"
],
"SQLCommandAfterPurcharse": "",
"Button": {
"Text": "Buy VIP (1 Month) - 9.99\u20AC",
"Color": 2,
"Emoji": ":euro:"
}
},
{
"Name": "VIP 3 Months - Public",
"Price": 15.99,
"CommandsAfterPurcharse": [
{
"Key": "Public",
"Value": "say {USERNAME} ({STEAMID}) purchased VIP for 1 month!"
},
{
"Key": "Public",
"Value": "css_addvip {STEAMID}"
}
],
"RolesAfterPurcharse": [],
"SQLCommandAfterPurcharse": "",
"Button": {
"Text": "Buy VIP (3 Months) - 15.99\u20AC",
"Color": 3,
"Emoji": ":euro:"
}
}
]
},
"2": {
"Embed": {
"Content": "",
"Title": "",
"Description": "",
"Thumbnail": "",
"Image": "",
"HEXColor": "#99ff33",
"Footer": "",
"FooterTimestamp": false
},
"Products": [
{
"Name": "100 Credits - Only Mirage",
"Price": 4.99,
"CommandsAfterPurcharse": [
{
"Key": "Only Mirage",
"Value": "say {USERNAME} ({STEAMID}) purchased 100 credits!"
},
{
"Key": "Only Mirage",
"Value": "css_addcredits {STEAMID} 100"
}
],
"RolesAfterPurcharse": [
"YOUR_ROLE_ID",
"YOUR_ROLE_ID2"
],
"SQLCommandAfterPurcharse": "",
"Button": {
"Text": "Buy 100 Credits - 4.99\u20AC",
"Color": 2,
"Emoji": ":moneybag:"
}
},
{
"Name": "200 Credits - Only Mirage",
"Price": 9.99,
"CommandsAfterPurcharse": [
{
"Key": "Only Mirage",
"Value": "say {USERNAME} ({STEAMID}) purchased 200 credits!"
},
{
"Key": "Only Mirage",
"Value": "css_addcredits {STEAMID} 200"
}
],
"RolesAfterPurcharse": [],
"SQLCommandAfterPurcharse": "",
"Button": {
"Text": "Buy 200 Credits - 9.99\u20AC",
"Color": 3,
"Emoji": ":moneybag:"
}
}
]
}
},
"Log Messages": {
"When Order Created": true,
"When Order Cancelled": true,
"When Order Expired": true,
"When Order Paid": true
},
"Response Embeds": {
"Confirm Purchase": {
"Content": "",
"Title": "",
"Description": "\u003E Please confirm the creation of an order for product \u0060{PRODUCT}\u0060\n\u003E -# SteamID: \u0060{STEAMID}\u0060",
"Fields": "",
"Thumbnail": "",
"Image": "",
"HEX Color": "#00ffcc",
"Footer": "",
"Footer Timestamp": false,
"Confirm Order Button": {
"Button Text": "Create an order ({PRICE}\u20AC)",
"Button Color": 3,
"Button Emoji": ":shopping_cart:"
},
"Edit SteamID Button": {
"Enabled": true,
"Button Text": "Edit the SteamID",
"Button Color": 1,
"Button Emoji": ":pencil:",
"Modal": {
"Modal Name": "Insert Steam ID",
"Value Label": "Which SteamID do you want to create an order on?"
}
}
},
"Order Created": {
"Content": "",
"Title": "The order has been created!",
"Description": "\u003E Product: \u0060{PRODUCT}\u0060\n\u003E Price: \u0060{PRICE}\u20AC\u0060\n\u003E Order Expiration: \u0060{EXPIRATION}\u0060\n\n\u003E After payment, the purchased product will be activated within 5 minutes!",
"Fields": "",
"Thumbnail": "",
"Image": "",
"HEX Color": "#ff9933",
"Footer": "If you have any problems with your order, please contact us via ticket",
"Footer Timestamp": false,
"Checkout Button": {
"Button Text": "Checkout",
"Button Emoji": ""
},
"Cancel Order Button": {
"Button Text": "Cancel order",
"Button Color": 4,
"Button Emoji": ":heavy_multiplication_x:"
}
},
"Order Sent": {
"Content": "",
"Title": "",
"Description": "\u003E Your order has been created! Checkout URL has been sent to direct message.",
"Fields": "",
"Thumbnail": "",
"Image": "",
"HEX Color": "#00ccff",
"Footer": "",
"Footer Timestamp": false
},
"Order Paid": {
"Content": "",
"Title": "",
"Description": "\u003E Thank you for your purchase! :heart:\n\u003E Your purchased \u0060{PRODUCT}\u0060 product has been successfully activated!",
"Fields": "",
"Thumbnail": "",
"Image": "",
"HEX Color": "#ffdb4d",
"Footer": "",
"Footer Timestamp": false
},
"Order Cancelled": {
"Content": "",
"Title": "",
"Description": "\u003E Your order for product \u0060{PRODUCT}\u0060 has been cancelled.",
"Fields": "",
"Thumbnail": "",
"Image": "",
"HEX Color": "#ff0066",
"Footer": "",
"Footer Timestamp": false
},
"Order Failed": {
"Content": "",
"Title": "",
"Description": "\u003E Could not create an order, you probably have private messages disabled!",
"Fields": "",
"Thumbnail": "",
"Image": "",
"HEX Color": "#ff3333",
"Footer": "",
"Footer Timestamp": false
},
"Order Already Created": {
"Content": "",
"Title": "",
"Description": "\u003E You have already created an order for product **{PRODUCT}**",
"Fields": "",
"Thumbnail": "",
"Image": "",
"HEX Color": "#ff4d4d",
"Footer": "",
"Footer Timestamp": false
},
"Not Linked": {
"Content": "",
"Title": "",
"Description": "\u003E You can\u0027t create an order because you don\u0027t have your Discord account linked to your Steam profile!",
"Fields": "",
"Thumbnail": "",
"Image": "",
"HEX Color": "#ff4d4d",
"Footer": "",
"Footer Timestamp": false
},
"Invalid SteamID Format": {
"Content": "",
"Title": "",
"Description": "\u003E The SteamID \u0060{STEAMID}\u0060 is in invalid format!",
"Fields": "",
"Thumbnail": "",
"Image": "",
"HEX Color": "#ff4d4d",
"Footer": "",
"Footer Timestamp": false
}
},
"ConfigVersion": 1
}
Images
Main Configuration
Property
Value
Response Server
Determines which server creates replies to messages, PayPal orders, checks, etc.. Only one server can have Response server enabled!
( true / false )
âĸ {PRODUCT} > Name of the product
âĸ {PRICE} > Price of the product
âĸ {INVOICEID} > Invoice ID
âĸ {USERNAME} > Discord Name of the user who created the order
âĸ {USERID} > Discord ID of the user who created the order
âĸ {STEAMID} > SteamID64 of the user who created the order