Оплата банковской картой непосредственно на сайте. Как?
Делается это просто: вы создаёте на своём сайте форму оплаты, а атрибут action у этой формы ведет на сайт платёжного шлюза. Пользователь заполняет форму на вашем сайте и жмёт «Отправить». Данные отправляются в платёжный шлюз, который после обработки делает редирект пользователя обратно на ваш сайт. Знаю два американских платёжных шлюза, работающих по этой схеме: authorize.net и www.braintreepayments.com. Второй, по-моему, приятнее
Поэтому лучше выбрать процессинговый центр, который переадресует покупателя на сайт банка для ввода данных карт. Таким образом количество отказов будет минимально. Пример MaxKassa