Atualizado em: 23 de Abril de 2026
Guia rápido para programadores que desejam usar este plugin como base em seus projetos.
Aviso importante
Este plugin pode mudar funcionalidades sem aviso prévio para acompanhar atualizações do WooCommerce.
Toda customização é de responsabilidade do desenvolvedor. Não edite os arquivos originais do plugin. Faça suas alterações em código externo:
A integração externa confirmada é principalmente por PHP, WooCommerce hooks, metadados de produto/pedido, opções públicas e um pequeno ponto de apoio em JavaScript no frontend.
Requisitos confirmados no plugin:
Observação: o plugin usa e lê gateways do WooCommerce e de plugins de pagamento compatíveis, mas a lista de gateways disponíveis depende do ambiente instalado.
O fluxo confirmado no plugin é este:
1. O plugin carrega suas funções principais.
2. No frontend:
3. No painel:
Pontos públicos confirmados para integração:
Limites entre público e interno:
Observação importante: a parte de parcelamento confirmada no código é visual. O próprio plugin informa no painel que o parcelamento real e os juros do pagamento são responsabilidade do gateway.
wootatitas_dpcsj_bootstrap
Tipo: Action
Quando é executado: Durante plugins_loaded, com prioridade 5, após o carregamento mínimo do plugin.
Parâmetros: Nenhum
Retorno: Não se aplica
Exemplo de uso:
add_action(‘wootatitas_dpcsj_bootstrap’, function () {
if (!function_exists(‘wootatitas_dpcsj_get_product_discount’)) {
return;
}
$desconto = wootatitas_dpcsj_get_product_discount(123, ‘pix’);
if ($desconto > 0) {
// Sua integração aqui.
}
});
wootatitas_dpcsj_use_wc_notice
Tipo: Filter
Quando é executado: Quando a função interna de aviso em formato wc_print_notice() é chamada manualmente.
Parâmetros:
$enabled (bool) — define se o aviso deve ser exibido
Retorno: bool
Exemplo de uso:
add_filter(‘wootatitas_dpcsj_use_wc_notice’, function ($enabled) {
return false;
});
wootatitas_dpcsj_analytics_use_coupons_row
Tipo: Filter
Quando é executado: Durante a criação do pedido, antes de o plugin adicionar a linha sintética de cupom para analytics.
Parâmetros:
$enabled (bool) — define se a linha de cupom será criada
$order (WC_Order) — pedido em criação
$data (array) — dados do checkout
Retorno: bool
Exemplo de uso:
add_filter(‘wootatitas_dpcsj_analytics_use_coupons_row’, function ($enabled, $order, $data) {
return false;
}, 10, 3);
wootatitas_dpcsj_is_fee_discount
Tipo: Filter
Quando é executado: Durante a identificação da fee que deve ser tratada como desconto do plugin na etapa de analytics.
Parâmetros:
$is_plugin_fee (bool) — resultado atual da identificação
$fee (object) — fee do carrinho
$order (WC_Order) — pedido em criação
Retorno: bool
Exemplo de uso:
add_filter(‘wootatitas_dpcsj_is_fee_discount’, function ($is_plugin_fee, $fee, $order) {
if (!empty($fee->name) && strpos($fee->name, ‘Desconto Parceiro’) !== false) {
return true;
}
return $is_plugin_fee;
}, 10, 3);
wootatitas_dpcsj_analytics_coupon_code
Tipo: Filter
Quando é executado: Quando o plugin monta o código do cupom sintético usado para analytics.
Parâmetros:
$coupon_code (string) — código atual
$method (string) — método de pagamento sanitizado
$order (WC_Order) — pedido em criação
$total_discount (float) — valor total do desconto
Retorno: string
Exemplo de uso:
add_filter(‘wootatitas_dpcsj_analytics_coupon_code’, function ($coupon_code, $method, $order, $total_discount) {
return ‘desconto-metodo-‘ . $method;
}, 10, 4);
wootatitas_dpcsj_get_chosen_payment_method()
Finalidade: Retornar o método de pagamento atualmente escolhido no checkout.
Como usar: Use no contexto de checkout ou quando houver sessão ativa do WooCommerce.
Parâmetros: Nenhum
Retorno: string
Exemplo de uso:
$method = function_exists(‘wootatitas_dpcsj_get_chosen_payment_method’)
? wootatitas_dpcsj_get_chosen_payment_method()
: ”;
wootatitas_dpcsj_get_product_discount($product_id, $method_id)
Finalidade: Retornar o desconto efetivo de um produto ou variação para um método de pagamento.
Como usar: A função respeita a hierarquia confirmada no código: variação ou produto, com fallback para o valor global.
Parâmetros:
$product_id (int) — ID do produto ou variação
$method_id (string) — ID do gateway
Retorno: float
Exemplo de uso:
$desconto = 0.0;
if (function_exists(‘wootatitas_dpcsj_get_product_discount’)) {
$desconto = wootatitas_dpcsj_get_product_discount(123, ‘pix’);
}
wootatitas_dpcsj_get_product_message_setting($product_id, $method_id)
Finalidade: Ler a configuração de exibição de mensagem para um produto ou variação em um método específico.
Como usar: Útil para integrações que precisam saber se a mensagem daquela forma de pagamento deve ser mostrada.
Parâmetros:
$product_id (int) — ID do produto ou variação
$method_id (string) — ID do gateway
Retorno: int — normalmente 1 ou 0
Exemplo de uso:
if (function_exists(‘wootatitas_dpcsj_get_product_message_setting’)) {
$mostrar = wootatitas_dpcsj_get_product_message_setting(123, ‘pix’);
}
wootatitas_dpcsj_get_product_cart_messages_setting($product_id)
Finalidade: Ler a configuração do produto ou variação para mensagens de checkout.
Como usar: Útil para verificar se o produto possui override local para exibição no checkout.
Parâmetros:
$product_id (int) — ID do produto ou variação
Retorno: int — 1, 0 ou -1 quando não há override
Exemplo de uso:
if (function_exists(‘wootatitas_dpcsj_get_product_cart_messages_setting’)) {
$flag = wootatitas_dpcsj_get_product_cart_messages_setting(123);
}
wootatitas_dpcsj_resolve_discount_percent($product_or_id, $method_id)
Finalidade: Resolver o percentual final de desconto a partir da hierarquia usada pelo plugin.
Como usar: Pode receber objeto WC_Product ou ID.
Parâmetros:
$product_or_id (WC_Product|int) — produto, variação ou ID
$method_id (string) — ID do gateway
Retorno: float
Exemplo de uso:
global $product;
if ($product && function_exists(‘wootatitas_dpcsj_resolve_discount_percent’)) {
$percent = wootatitas_dpcsj_resolve_discount_percent($product, ‘pix’);
}
wootatitas_dpcsj_collect_product_messages($product_or_id)
Finalidade: Retornar os métodos de pagamento que devem gerar mensagem para um produto, junto com seus percentuais.
Como usar: Útil para montar sua própria saída visual em vez de usar a renderização padrão do plugin.
Parâmetros:
$product_or_id (WC_Product|int) — produto, variação ou ID
Retorno: array
Exemplo de uso:
if (function_exists(‘wootatitas_dpcsj_collect_product_messages’)) {
$mensagens = wootatitas_dpcsj_collect_product_messages(123);
}
wootatitas_dpcsj_render_discount_block($context, $title, $percent)
Finalidade: Renderizar o bloco HTML padrão de desconto do plugin.
Como usar: Use quando quiser reaproveitar a mesma marcação visual do plugin em outro hook.
Parâmetros:
$context (string) — single ou loop
$title (string) — título do método de pagamento
$percent (float) — percentual do desconto
Retorno: Saída HTML direta
Exemplo de uso:
add_action(‘woocommerce_before_add_to_cart_form’, function () {
if (!function_exists(‘wootatitas_dpcsj_render_discount_block’)) {
return;
}
wootatitas_dpcsj_render_discount_block(‘single’, ‘Pix’, 5);
});
wootatitas_dpcsj_display_discount_messages_single()
Finalidade: Renderizar a saída padrão de mensagens de desconto na página interna do produto.
Como usar: Pode ser removida e recolocada em outro hook do WooCommerce.
Parâmetros: Nenhum
Retorno: Saída HTML direta
Exemplo de uso:
add_action(‘wp’, function () {
if (!function_exists(‘wootatitas_dpcsj_display_discount_messages_single’)) {
return;
}
remove_action(‘woocommerce_single_product_summary’, ‘wootatitas_dpcsj_display_discount_messages_single’, 15);
add_action(‘woocommerce_before_add_to_cart_form’, ‘wootatitas_dpcsj_display_discount_messages_single’, 5);
});
wootatitas_dpcsj_display_discount_messages_loop()
Finalidade: Renderizar a saída padrão de mensagens de desconto no catálogo.
Como usar: Pode ser reposicionada com remove_action() e add_action().
Parâmetros: Nenhum
Retorno: Saída HTML direta
Exemplo de uso:
add_action(‘wp’, function () {
if (!function_exists(‘wootatitas_dpcsj_display_discount_messages_loop’)) {
return;
}
remove_action(‘woocommerce_after_shop_loop_item_title’, ‘wootatitas_dpcsj_display_discount_messages_loop’, 11);
add_action(‘woocommerce_after_shop_loop_item’, ‘wootatitas_dpcsj_display_discount_messages_loop’, 5);
});
wootatitas_dpcsj_display_installment_options_single()
Finalidade: Renderizar a saída padrão de parcelamento na página interna do produto.
Como usar: Pode ser reaproveitada ou reposicionada em outro hook.
Parâmetros: Nenhum
Retorno: Saída HTML direta
Exemplo de uso:
add_action(‘wp’, function () {
if (!function_exists(‘wootatitas_dpcsj_display_installment_options_single’)) {
return;
}
remove_action(‘woocommerce_single_product_summary’, ‘wootatitas_dpcsj_display_installment_options_single’, 10);
add_action(‘woocommerce_before_add_to_cart_form’, ‘wootatitas_dpcsj_display_installment_options_single’, 8);
});
wootatitas_dpcsj_display_installment_options_loop()
Finalidade: Renderizar a saída padrão de parcelamento no catálogo.
Como usar: Pode ser reposicionada em outro ponto do loop do WooCommerce.
Parâmetros: Nenhum
Retorno: Saída HTML direta
Exemplo de uso:
add_action(‘wp’, function () {
if (!function_exists(‘wootatitas_dpcsj_display_installment_options_loop’)) {
return;
}
remove_action(‘woocommerce_after_shop_loop_item_title’, ‘wootatitas_dpcsj_display_installment_options_loop’, 15);
add_action(‘woocommerce_after_shop_loop_item’, ‘wootatitas_dpcsj_display_installment_options_loop’, 8);
});
window.wootatitasApplyDiscountClasses()
Finalidade: Reaplicar classes e ícones do plugin em elementos que foram inseridos dinamicamente no DOM.
Como usar: Útil quando o tema ou outro script injeta conteúdo depois do carregamento inicial.
Parâmetros: Nenhum
Retorno: Não se aplica
Exemplo de uso:
document.addEventListener(‘DOMContentLoaded’, function () {
if (typeof window.wootatitasApplyDiscountClasses === ‘function’) {
window.wootatitasApplyDiscountClasses();
}
});
6.1. Opções globais de desconto
| Option name | Uso |
|---|---|
wootatitas_dpcsj_habilitar_mensagens | ativa ou desativa as mensagens de desconto |
wootatitas_dpcsj_discount_{gateway_id} | percentual global de desconto por gateway |
wootatitas_dpcsj_message_{gateway_id} | define se a mensagem daquele gateway aparece no catálogo e página do produto |
6.2. Opções globais de parcelamento
| Option name | Uso |
|---|---|
wootatitas_dpcsj_parcelamento_tipo | sem_juros ou com_juros |
wootatitas_dpcsj_juros_parcela | percentual de juros por parcela |
wootatitas_dpcsj_prefixo | texto antes da quantidade de parcelas |
wootatitas_dpcsj_sufixo | texto depois da quantidade de parcelas |
wootatitas_dpcsj_qtd_parcelas | quantidade total de parcelas |
wootatitas_dpcsj_categorias_parcelamento | categorias que devem exibir parcelamento |
6.3. Opções visuais relevantes
| Option name | Uso |
|---|---|
wootatitas_dpcsj_black_friday | alterna o CSS do modo Black Friday |
wootatitas_dpcsj_icone_pix | liga ou desliga ícone de Pix |
wootatitas_dpcsj_icone_cartao | liga ou desliga ícone de cartão |
wootatitas_dpcsj_icone_boleto | liga ou desliga ícone de boleto |
wootatitas_dpcsj_icone_parcelas | liga ou desliga ícone de parcelamento |
wootatitas_dpcsj_modo_movimento | ativa a animação textual das mensagens |
6.4. Metadados de produto e variação
| Meta key | Uso |
|---|---|
_wootatitas_dpcsj_habilitar_mensagens_produto | override local para mensagens no checkout |
_wootatitas_dpcsj_discount_{gateway_id} | desconto específico do produto ou variação |
_wootatitas_dpcsj_message_{gateway_id} | flag de exibição da mensagem daquele gateway |
6.5. Metadados de pedido e fee item
| Meta key | Uso |
|---|---|
_dpcsj_discount_total | total do desconto aplicado ao pedido |
_dpcsj | marca a fee como pertencente ao plugin |
_dpcsj_method | método de pagamento usado no desconto |
_dpcsj_amount | valor da fee vinculada ao desconto |
6.6. Classes CSS de saída
| Classe | Uso |
|---|---|
.wootatitas-dpcsj-prefix-single-msg | mensagem principal de desconto na página do produto |
.wootatitas-dpcsj-prefix-loop-msg | mensagem principal de desconto no catálogo |
.wootatitas-dpcsj-discount-single | bloco auxiliar de desconto no single |
.wootatitas-dpcsj-discount-loop | bloco auxiliar de desconto no loop |
.wootatitas-dpcsj-installment-single | mensagem de parcelamento na página do produto |
.wootatitas-dpcsj-installment-loop | mensagem de parcelamento no catálogo |
6.7. Dados JS confirmados no frontend
| Estrutura | Uso |
|---|---|
window.wootatitas_dpcsj_icons | flags localizadas do PHP para ícones de Pix, cartão, boleto e parcelas |
window.wootatitasApplyDiscountClasses() | reaplica classes e ícones em conteúdos dinâmicos |
Exemplo 1: ler o desconto efetivo de um produto para um gateway
add_action(‘wootatitas_dpcsj_bootstrap’, function () {
if (!function_exists(‘wootatitas_dpcsj_resolve_discount_percent’)) {
return;
}
$product_id = 123;
$percentual = wootatitas_dpcsj_resolve_discount_percent($product_id, ‘pix’);
if ($percentual > 0) {
// Use o percentual em uma integração própria.
}
});
Exemplo 2: mudar o código do cupom sintético usado em analytics
add_filter(‘wootatitas_dpcsj_analytics_coupon_code’, function ($coupon_code, $method, $order, $total_discount) {
return ‘gateway-‘ . $method . ‘-desconto’;
}, 10, 4);
Exemplo 3: impedir a criação da linha sintética de cupom
add_filter(‘wootatitas_dpcsj_analytics_use_coupons_row’, ‘__return_false’);
Exemplo 4: reposicionar a mensagem de desconto no catálogo
add_action(‘wp’, function () {
if (!function_exists(‘wootatitas_dpcsj_display_discount_messages_loop’)) {
return;
}
remove_action(‘woocommerce_after_shop_loop_item_title’, ‘wootatitas_dpcsj_display_discount_messages_loop’, 11);
add_action(‘woocommerce_after_shop_loop_item’, ‘wootatitas_dpcsj_display_discount_messages_loop’, 5);
});
Exemplo 5: ler o total do desconto salvo no pedido
add_action(‘woocommerce_admin_order_data_after_order_details’, function ($order) {
$total = (float) $order->get_meta(‘_dpcsj_discount_total’, true);
if ($total !== 0.0) {
echo ‘
Desconto DPCSJ: ‘ . wp_kses_post(wc_price($total)) . ‘
‘;
}
});
Exemplo 6: reaplicar ícones e classes depois de conteúdo dinâmico
jQuery(function () {
jQuery(document.body).on(‘updated_checkout’, function () {
if (typeof window.wootatitasApplyDiscountClasses === ‘function’) {
window.wootatitasApplyDiscountClasses();
}
});
});
Até o momento, não foram identificados no código como interface pública para terceiros:
A exibição de parcelamento é informativa. O código e a própria tela de configuração deixam claro que a responsabilidade pelo parcelamento real e pelos juros da transação é do gateway de pagamento.
Também existem funções auxiliares e rotinas administrativas no código-fonte que não foram tratadas aqui como superfície pública garantida de integração. Por segurança, esta documentação ficou restrita ao que aparece como interface utilizável de forma consistente por terceiros.
O plugin oferece integração principalmente por funções PHP globais, alguns filters próprios, metadados de produto e pedido, opções públicas e saídas visuais que podem ser reposicionadas com hooks do WooCommerce.
O nível de extensibilidade é bom para leitura de regras, customização da renderização e integração com analytics do pedido. Já a parte de parcelamento deve ser entendida como exibição de mensagem, não como motor de cobrança.
Os principais cuidados são: carregar sua integração no momento certo, distinguir produto simples de variação, não confundir mensagem visual com regra real do gateway e evitar dependência de partes internas não documentadas.
Gostou do que viu? Compre o nosso plugin:
Comercializamos plugins na esperança de que seja útil, porém, é importante observar que ele é fornecido SEM NENHUMA GARANTIA inclusive sem a garantia implícita de ADEQUAÇÃO A UM DETERMINADO FIM.
Estamos sempre prontos para aprimorar nosso plugin e personalizá-lo de acordo com suas necessidades específicas. Não hesite em nos contatar a qualquer momento, estamos aqui para ajudá-lo.
Seus dados estão protegidos conosco.
Leia nossa Proteção de Dados.
© 2026 | Feito com ♥
39.840.429/0001-22