Package actions
Deliver purchases with ordered commands or guided plugin actions.
Choose when an action runs
Every command and extension action has a Run when selector: Purchased, Refund or Chargeback. Existing actions default to Purchased.
Purchased runs after verified payment. Refund runs once per order after any successful refund, including a partial refund, or when the owner records a refund in Payments. Further refunds on that order do not repeat its refund actions. Chargeback runs once per order for a Stripe bank dispute or PayPal external chargeback; internal PayPal buyer enquiries do not trigger it.
Refund and chargeback actions have separate delivery records, so they can run after the purchase is delivered. Online and player execution rules still apply. Payment details show each event’s queued or acknowledged actions. Undoing a refund record does not cancel or undo those actions. Add the refund and dispute webhook events listed in payment settings to receive automatic notifications.
Add an action
In the package editor, select Add action. Each action has its own controls. Use the up and down buttons to reorder actions or remove an action you no longer need. A package can contain up to 20 action rows.
Choose Server command to write a command, or choose an action under an enabled extension. Extension actions ask for named values, such as a LuckPerms parent group, rather than a complete command.
Write a server command
Enter one command per row without the leading slash. Use {username} where the buyer’s Minecraft name belongs. Craftly replaces this when delivering the purchase; Bedrock names also receive the prefix from your plugin configuration.
give {username} diamond 5
lp user {username} parent add rangerThese are two separate example action rows. The command’s plugin must be installed on the game server.
Choose execution options
Actions are processed in their configured order. An action waiting for an online player does not block other ready actions. An extension may force player execution or an online requirement; those requirements cannot be turned off in the package editor.
| Option | Behavior |
|---|---|
| Server console | Runs with the server console’s permissions. |
| Player | Runs as the player, with that player’s permissions. Always waits for them to join. |
| Run when player is online | Keeps this action waiting until the player is online. |
| Repeat for each item bought | Runs once per quantity bought. Turn it off to run once for that package line. |
Saved actions and deliveries
Extension actions are validated and converted into commands when you save the package. You can inspect their command preview in the editor. Paid orders keep their own delivery snapshot, so disabling an extension or editing a package does not rewrite those orders.
The plugin checkpoints successful commands while other commands wait. A crash between dispatch and checkpoint persistence can still repeat a command. Prefer commands that are safe to retry.