brazilianfriendsofsymfony/pagamento-bundle

Symfony BFOSPagamentoBundle

v0.1.0 2013-02-15 17:00 UTC

This package is not auto-updated.

Last update: 2024-09-28 13:22:06 UTC


README

此bundle的目标是添加多种支付方式共有的功能。

注意

支付方式部分的概念已被翻译为巴西现实中的http://jmsyst.com/bundles/JMSPaymentCoreBundle

要求

- jQuery
- RequireJS

安装

  • 创建用于服务的参数

    bfos_pagamento.servico_de_criptografia.secret: e37secret-e37secret-e37secret-fim

TWIG 函数和过滤器

bfos_pagamento_opcoes_parcelamento()

此函数从支付规则配置对象和要分摊的值中显示分摊选项。请看以下示例。

$config = new ParcelamentoConfiguracao();
$config->setParcelamentoHabilitado(true);
$config->setJurosParcelamento(1.99);
$config->setQuantidadeMaximaParcelas(12);
$config->setQuantidadeMaximaParcelasSemJuros(3);
$config->setValorMinimoParcela(50);

$parcelamento = ParcelamentoUtils::obterOpcoesDeParcelamento($config, 500);

在上面的情况下,将生成一个包含10个元素的数组,代表10个分摊选项。

此函数还接受第三个参数,用于控制项目显示的选项。

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.

创建一个选择支付方式的表单

请看以下示例,用于在线商店

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';
    }
}

请注意,可以向bfos_pagamento_forma_pagamento_checkout_choice Type传递额外的配置。通过使用Resources/assets中的JavaScript,它将在选择'pagseguro'网关支付方式时显示传递的表单。