A nonprofit can sign up for a merchant account with any bank or credit card company. The question is how much will the processor/bank charge in setup fees and per transaction fees. Those fees can vary widely, and you have to read the fine print of any agreement to ascertain what they are.
Look for programs that have some experience with nonprofits, since the differences between retail and business needs and those of a nonprofit can be considerable.
One company that caters specifically to nonprofits also offers a merchant account option. PaymentHub can be used as a stand-alone program or be combined with any integrated donor management software such as NetCommunity, Altru, The Patron Edge, and eTapestry. The rates are competitive with no upfront fees, set-up fees, or monthly minimums.
The benefit of having your own merchant account is that your nonprofit will be the party named on the donor’s credit card statements, and funds will flow directly to your nonprofit’s bank account. The disadvantages are that your organization will need to go through the same credit checks and paperwork as any other business, which may take some time and patience.