Большинство платежных шлюзов предлагают несколько механизмов для отправки CC-платежей:
1) Простой HTTPS POST, где ваше приложение собирает данные платежа клиента (номер карты, срок действия, сумма, необязательный CVV), а затем отправляет его на шлюз. Параметры платежа передаются через переменные POST, и шлюз возвращает HTTP-ответ.
2) Через API (часто XML через HTTPS). В этом случае ваше приложение собирает данные о платеже клиента, создает XML-документ, в котором содержатся данные о платеже, а затем публикует эту информацию на шлюзе. Ответом шлюза будет XML-документ, который ваше приложение затем должно проанализировать и интерпретировать.
3) Некоторая форма перенаправления на веб-страницы, размещенные на платежном шлюзе. Платежный шлюз собирает номер CC клиента и другие данные, обрабатывает платеж и затем перенаправляет клиента обратно на веб-страницу, размещенную вами.
Вариант 3, как правило, является самым простым решением, но потребует от клиента взаимодействия со страницами, размещенными на шлюзе (хотя обычно это можно сделать почти прозрачным).
1 и 2, приведенные выше, будут соответствовать вашим требованиям, причем 1 - самый простой из двух вариантов реализации.
Поскольку вы предпочитаете, чтобы ваше приложение собирало платежные реквизиты, вам, возможно, придется подумать, нужно ли вам соблюдать PCI DSS, но на это влияет множество факторов. Здесь много информации о PCI DSS и Wikipedia .