You can patent a snow plow or a new combustion engine. You cannot, however, patent an abstract idea, such as using an intermediary for escrow purposes in a financial transaction.
But wait, what if you write a computer program that makes that abstract idea a reality? Does translating an idea into code turn it from an unpatentable abstraction to a patentable practical invention?
That's the issue in Alice Corporation v. CLS Bank. Alice's founder wrote a program that calculates the obligations of parties entering into a currency exchange transaction, which can take days to complete. The program basically acts as an escrow service.