Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Pagamento Bundle Laravel Package

brazilianfriendsofsymfony/pagamento-bundle

Bundle Symfony para agregar funcionalidades comuns a meios de pagamento no Brasil, inspirado no JMSPaymentCoreBundle. Inclui utilitários e Twig helper para opções de parcelamento (juros, limites, templates) e suporte a formulários de escolha de pagamento.

View on GitHub
Deep Wiki
Context7

BFOSPagamentoBundle

Este bundle tem por objetivo agregar funcionalidades comuns a vários métodos de pagamento.

Observacao

A parte de Meios de Pagamentos teve seu conceito traduzido para a realidade brasileira do http://jmsyst.com/bundles/JMSPaymentCoreBundle

Requisitos

- jQuery
- RequireJS

Instalando

  • crie o parâmetro para servir

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

TWIG Funções e Filtros

bfos_pagamento_opcoes_parcelamento() :

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.

$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.

Esta função ainda aceita um terceiro parâmetro com opções de controlar a exibição dos itens.

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.

CRIANDO UM FORMULÁRIO PARA ESCOLHER A FORMA DE PAGAMENTO

Veja o exemplo abaixo, utilizado em uma loja virtual

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge