You can't, not quite.
Since WordPress is GPL code, all code publicly distributed must also be licensed either as GPL, or GPL compatible.
The GPL states you cannot charge for code, but you can charge for distribution. So when you buy gravity forms, you're not paying for the plugin, you're paying for the downloading and acquisition of the plugin.
Once you have the plugin it is perfectly legal to burn it to a CD and mail it to 20,000 people free of charge. You won't get the support or updates ( unless you pay them again, or you have a support contract ), and it would be a pretty nasty thing to do ( they have a business! ), but it's perfectly legal.
No matter what you do, someone will figure out how to redistribute it for free, so stop worrying about it, those people were never going to pay anyway and won't get the support for updates.
The only method that appears to work is to do the functionality on your own server and use API keys.
For the actual purchasing component:
Put a payment mechanism on your site, and use it to generate API keys. Make the user put these keys into their backend, or couple their sites URL with their purchase, and use that to enable the restricted features.
Paid for Plugin
Set up something like Woocommerce or Jigoshop and use the virtual downloadable product type. E-Junkie is nice if you want something simpler.
A Word Of Note
For a license to be GPL compatible, it must be as restrictive or less. As soon as you forbid something the GPL allows, it's no longer compatible.
Those GPL components only apply once you're publicly distributing your code. If it's sitting on your desktop, you can do whatever you like with it. If you email it to someone or post it online however..