Quando o cliente finaliza um pedido com Boleto Parcelado, o plugin grava dois metadados no pedido. Use-os pra identificar o plano escolhido em integrações, relatórios ou customizações.
Metadados gravados
| Meta key | Tipo | Conteúdo |
|---|---|---|
_ticket_installments_code |
string | Código do plano (campo da tabela). Ex.: 3X. |
_ticket_installments_description |
string | Descrição do plano exibida pro cliente. Ex.: 3x de R$ 100,00 (total R$ 300,00). |
A descrição é resolvida no momento do checkout. Se o admin remover esse plano da tabela depois, o pedido continua com a descrição original — o fallback do plugin lê _ticket_installments_description pra preservar o histórico.
Lendo os metadados
$order = wc_get_order( $order_id );
if ( 'wc_ticket_installments' === $order->get_payment_method() ) {
$code = $order->get_meta( '_ticket_installments_code' );
$description = $order->get_meta( '_ticket_installments_description' );
echo 'Plano selecionado: ' . esc_html( $description );
}
Listando todos os planos disponíveis
Pra obter os planos atuais (filtrados pelo total do carrinho) via PHP:
$gateways = WC()->payment_gateways()->payment_gateways();
$gateway = $gateways['wc_ticket_installments'] ?? null;
if ( $gateway ) {
$available = $gateway->installments_available();
// [
// ['value' => '3X', 'description' => '3x de R$ 100,00...'],
// ['value' => '6X', 'description' => '6x de R$ 100,00...'],
// ]
}
installments_available() aplica o filtro woocommerce_wc_ticket_gateway_installments_available, então respeita customizações e a integração com o Simulador.
Lendo a tabela de planos crua
Se você precisa do array completo (ignorando filtragem por carrinho):
$options = get_option( 'wc_ticket_installments_available_options', [] );
// [
// ['payment_code' => '3X', 'payment_description' => '...', 'payment_minimum' => 300],
// ['payment_code' => '6X', 'payment_description' => '...', 'payment_minimum' => 600],
// ]
Verificando se o gateway está disponível no checkout
$gateways = WC()->payment_gateways()->get_available_payment_gateways();
if ( isset( $gateways['wc_ticket_installments'] ) ) {
// método aparece pra esse cliente/carrinho
}
get_available_payment_gateways() já passa pelos filtros de visibilidade (subtotal mínimo, woocommerce_wc_ticket_installments_is_disabled, etc.).
Reportando por código de plano
Use os metadados pra cruzar com pedidos no banco:
$query = new WC_Order_Query([
'limit' => -1,
'meta_key' => '_ticket_installments_code',
'meta_value' => '12X',
'return' => 'ids',
]);
$order_ids = $query->get_orders();
Em lojas com HPOS ativo, WC_Order_Query lê da tabela wc_orders_meta automaticamente — não precisa adaptar o código.
Constantes úteis
- ID do gateway:
wc_ticket_installments. - Versão do plugin:
WC_Ticket_Installments::VERSION. - URL do admin:
admin.php?page=wc-settings&tab=checkout§ion=wc_ticket_installments. - Nome da option com a tabela de planos:
wc_ticket_installments_available_options.