Em aplicações desktops (nosso forte) você tem que homologar seu sistema junto às operadoras de cartões e depender de sistemas terceirizados para realizar a transação. O que você desenvolve é a interface de comunicação com estes programadas terceirizados.
Respondendo outra pergunta, na grande maioria das vezes as operadoras cobram um percentual também chamado de “retenção”, descontado das parcelas. Este percentual é menor se for cartão de débito e depende muito da negociação feita entre a empresa e a operadora. Funciona como se fosse uma comissão sendo uma das maneiras mais eficientes de empréstimos hoje em dia. Por estas e outras que as operadoras são tão ricas.
Eu não conheço exatamente esta operação em sites de internet mas com certeza deve-se passar por algum processo de homologação, já que transações eletrônicas de cartão são consideradas bastante sérias.
O programa terceirizado é responsável por realizar a operação e te dar um retorno (de saldo insuficiente, cartão cancelado, etc) ficando à vc apenas interpretar o retorno.
Procure mais sobre TEF.
Já o boleto bancário é mais simples, mas exige toda uma regra de cálculo de linha digitável e código de barras. A maior dificuldade está em encontrar alguém dentro dos bancos (principalmente os públicos) que entenda de cobrança via boleto. Normalmente eles têm um manual ensinando a gerar o boleto e a integrar os dados com o banco (arquivo de remessa e retorno). Muitos softwares não implementam esta segunda parte, deixando este processo manual dentro do aplicativo. No entanto, se desenvolvido, evita muitos erros e aumenta bastante a velocidade de conciliação bancária dentro de sistemas ERP.
Espero ter ajudado.
Inté.