Skip to content
Cow edited this page Jul 31, 2021 · 3 revisions

Limitations

Although the only officially supported spigot version is 1.8, other spigot versions may work. The plugin was tested on a 1.8 server using viaversion and viarewind.

Permission Nodes

/lookup: store.admin /store reload: store.admin

Before reporting an issue

If the configuration is invalid, certain features will simply just not work. Make sure all configuration values are valid before reporting a bug. We do not officially support any other server versions than 1.8, however, you can still report issues on unsupported versions and we'll try our best to fix them.

General Information

JSON files save everytime there it is modified as well as when the plugin disables. config.yml file loads everytime the server starts, if you make config changes, you must restart the server.

The plugin uses 1.8 spigot-api (No NMS code) so it should have good server jar support. The plugin uses PayPal's Java API to connect with PayPal's REST API.

How does the plugin work?

  1. A player does /store and selects which package they want to purchase.
  2. They click [CHECKOUT] button in chat, which will send them to a PayPal checkout link. It will also give them a [EXPIRY] and [CANCEL] button in chat. Default expiry is 1 hour.
  3. The plugin will automatically check every 5 minutes (configurable) ​if the its paid OR its expired/cancelled.
  4. If its paid before the expiry time, it will execute the commands in the config (IE: /pex addrank {player} VIP). If its not paid before the expiry time or its cancelled, it will be deleted and won't be checked anymore. If they pay a deleted transaction, it won't ever be captured, meaning the money will be pending (they can get their money back easily).
  5. It will log successful transactions so they can be looked up at any time by an admin.

Setup Process

  1. Register a PayPal business account at https://www.paypal.com/us/business/
  2. Go to https://developer.paypal.com/developer/applications
  3. Create an APP (name it whatever you want)
  4. The only permission this plugin needs is "Accept Payments" - you should unselect all other permissions for security reasons
  5. Copy the client-id and secret into the config.yml of the plugin.
  6. Configure the plugin to your liking and enjoy