BFOSPagamentoBundle
Este bundle tem por objetivo agregar funcionalidades comuns a vårios métodos de pagamento., (*1)
Observacao
A parte de Meios de Pagamentos teve seu conceito traduzido para a realidade brasileira do
http://jmsyst.com/bundles/JMSPaymentCoreBundle, (*2)
Requisitos
- jQuery
- RequireJS
Instalando
-
crie o parĂąmetro para servir, (*3)
bfos_pagamento.servico_de_criptografia.secret: e37secret-e37secret-e37secret-fim, (*4)
TWIG FunçÔes e Filtros
bfos_pagamento_opcoes_parcelamento() :, (*5)
Esta função exibe as opçÔes de parcelamento a partir de um objeto de configuração das regras de parcelamento
e do valor a ser parcelado. Veja o exemplo a seguir., (*6)
$config = new ParcelamentoConfiguracao();
$config->setParcelamentoHabilitado(true);
$config->setJurosParcelamento(1.99);
$config->setQuantidadeMaximaParcelas(12);
$config->setQuantidadeMaximaParcelasSemJuros(3);
$config->setValorMinimoParcela(50);
$parcelamento = ParcelamentoUtils::obterOpcoesDeParcelamento($config, 500);
No caso acima serå gerada uma array com 10 elementos representando as 10 opçÔes de parcelamento do valor., (*7)
Esta função ainda aceita um terceiro parùmetro com opçÔes de controlar a exibição dos itens., (*8)
OPĂĂES:
colunas:
o nĂșmero de colunas nas quais as opçÔes de parcelamento serĂŁo exibidas.
mostrarParcelas:
uma array onde cada elemento Ă© o nĂșmero da parcela que deseja exibir.
mostrarLinkVerTudo:
este link trabalha em conjunto com a opção mostrarParcelas. Se for definida a opção mostrarParcelas
e mostrarLinkVerTudo for true, serĂĄ adicionado um link para que sejam exibidos todos os parcelamentos
possĂveis ao se clicar no link.
template:
possibilita definir qual serĂĄ a template utilizada para renderizar o parcelamento.
Veja o exemplo abaixo, utilizado em uma loja virtual, (*9)
use BFOS\PagamentoBundle\Parcelamento\Form\Type\ParcelamentoType;
use BFOS\PagamentoBundle\Utils\ParcelamentoConfiguracao;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\FormBuilderInterface;
class EscolhaFormaPagamentoPedidoType extends AbstractType
{
protected $configuracao;
protected $valor;
public function __construct(ParcelamentoConfiguracao $configuracao, $valor)
{
$this->configuracao = $configuracao;
$this->valor = $valor;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add(
'formaPagamento',
'bfos_pagamento_forma_pagamento_checkout_choice',
array(
'label' => ' ',
'configuracoes' => array(
'pagseguro' => array(
'configuracao_checkout_form' => new ParcelamentoType($this->configuracao, $this->valor)
)
)
)
);
}
public function getName()
{
return 'escolha_forma_pagamento_pedido_type';
}
}
Perceba que Ă© possĂvel passar configuraçÔes adicionais ao Type bfos_pagamento_forma_pagamento_checkout_choice .
Com isso, e a utilização do Javascript em Resources/assets, ele exibirå o formulårio passado quando a forma de
pagamento do gateway 'pagseguro' for selecionada., (*10)