O jCom possui um avançado e extensível sistema de pagamentos on-line. Cada tipo diferente de pagamento é gerenciado por um plugin, com comportamento e configurações específicos.
Os plugins de pagamento são configurados no arquivo /conf/jcom.xml, de forma semelhante aos validadores vistos anteriormente. Vejamos como exemplo a configuração do plugin mais simples, de depósito bancário:
<paymentTypes> <paymentType id="1" name="Depósito Bancário" image="/images/boleto.gif" international="false" local="true" discount="5%"> <pluginClass>DepositPlugin</pluginClass>
<description>Pague com depósito bancário no Banco do Brasil.</description> <property name="message"><![CDATA[ Deposite o valor de <b>$util.formatCurrency($order.total)</b> na conta: Banco do Brasil Agência 16-7
Conta-Corrente 635281-2 Seu pedido será enviado após a confirmação de seu depósito. ]]></property>
</paymentType> <!-- outras formas de pagamento aqui --> </paymentTypes>
Cada forma de pagamento da loja deve possuir um número identificador único, configurado pela propriedade "id" da tag <paymentType> acima. Este identificador não pode ser repetido em outras formas de pagamento, e não deve ser alterado após a publicação do site. É através deste número que o jCom identificará a forma de pagamento utilizada em cada pedido, e alterar este valor pode causar erros ou resultados imprevisíveis.
As propriedades "name", "image" e "description" serão utilizadas para montar a página de escolha da forma de pagamento, como apresentado na figura ao lado.
A propriedade "pluginClass" informa ao jCom qual plugin deve ser utilizado para processar esta forma de pagamento. Mais adiante veremos os plugins disponíveis atualmente.
As propriedades "id", "name", "image", "description" e "pluginClass" são obrigatórias.
No exemplo acima, também indicamos que a forma de pagamento é apenas aceita no Brasil (local=true e international=false), e indicamos que o cliente receberá 5% de desconto se pagar por depósito bancário (discount="5%"). O desconto pode ser um valor fixo em reais, se omitirmos o símbolo %. Para oferecer um desconto de R$ 10,50, por exemplo, usaríamos discount="10.50".
Adicionalmente, podemos incluir o custo financeiro no valor cobrado. É comum no sistema financeiro as taxas de cobrança, que podem ser repassadas ao cliente em formas de pagamento específicas, geralmente boletos bancários. Para acrescentar o custo de R$ 2,50 por exemplo, adicionaríamos a propriedade charge="2.50" à tag paymentType.
A propriedade "message" é uma configuração específica do plugin DepositPlugin. Neste caso, utilizamos uma tag property desta forma:
<property name="message">(conteúdo)</property>
Como especificamos uma mensagem longa contendo tags HTML que não podem ser confundidas com o formato XML do arquivo, o texto está protegida pela área <![CDATA[ .... ]]>. Esta é uma sintaxe do formato XML que permite a inclusão de qualquer conteúdo dentro de uma propriedade, que devemos utilizar nesses casos:
<property name="message"><![CDATA[ Conteúdo com tags protegido, por exemplo <b> ou </b> ]]></property>
Plugins disponíveis
Os plugins a seguir estão disponíveis para pagamentos no jCom. Caso precise de adaptações ou um novo plugin para suas necessidades especiais, por favor entre em contato com a equipe de suporte da Isnet. Novos plugins de pagamento podem ser desenvolvidos e integrados rapidamente ao jCom.
| DepositPlugin | Depósito bancário. Apenas apresenta uma mensagem ao final do pedido, normalmente indicando o banco e conta para depósito. Recomendamos repetir a utilização deste plugin para cada banco disponível. |
|---|---|
| BoletoPlugin | Pagamento com boletos bancários |
| VisaPlugin | Integração com cartões de crédito VisaNet (Visa) |
| RedecardPlugin | Integração com cartões de crédito Redecard (Mastercard, Diners) |
| BBPlugin | Integração com o sistema de e-commerce do Banco do Brasil |
| SendepPlugin | Integração com o serviço de pagamentos Sendep |
| BRPayPlugin | Integração com o serviço de pagamentos BRPay |
anterior