Entrar
Começar

Documentação do Easy Digital Downloads

Documentação, Materiais de Referência e Tutoriais para Easy Digital Downloads 

EDD_Payment

A classe EDD_Payment facilita a criação, edição e exclusão de informações de pagamento no Easy Digital Downloads. Aqui estão alguns exemplos:

Exemplo de criação de um novo pagamento
$payment = new EDD_Payment();
$payment->add_download( 97 );
$payment->email = '[email protected]';
$payment->status = 'complete';
$payment->save();
Exemplo de atualização do e-mail em um pagamento existente:
$payment = new EDD_Payment( 4023 );
$payment->email = '[email protected]';
$payment->save();

Propriedades Disponíveis

Estas são as propriedades disponíveis para o seu objeto:

  • $ID
  • $numero
  • $modo
  • $chave
  • $total
  • $subtotal
  • $imposto
  • $taxas
  • $descontos
  • $data
  • $data_conclusao
  • $status
  • $status_antigo
  • $status_nome_amigavel
  • $id_cliente
  • $id_usuario
  • $primeiro_nome
  • $ultimo_nome
  • $email
  • $endereco
  • $id_transacao
  • $downloads
  • $ip
  • $gateway
  • $currency
  • $cart_details
  • $has_unlimited_downloads
  • $pending
  • $parent_payment

Métodos Disponíveis

add_download( $download_id = 0, $args = array(), $options = array() )

Este método permite adicionar um download a um pagamento. Ele aceita três argumentos:

$download_id

Este é o ID do download que você deseja anexar. É sempre um inteiro.

$args

Este é um array que pode substituir os padrões internos:

            'quantity'    => 1,
            'price_id'    => false,
            'item_price'  => 0.00,
            'tax'         => 0.00,
            'fees'        => array()

Taxas podem ser qualquer coisa necessária, mas seguem o formato de
add_fee(). Para mais informações veja a documentação do EDD_Fees.

$options

Este é um array que pode aceitar opções arbitrárias para o download. Exemplos podem ser
is_renewal ou is_upgrade para a extensão Software Licensing.

IMPORTANTE: se você adicionar um download a um pagamento Concluído, o novo download será definido com preço zero. Se você adicionar um download a um pagamento com qualquer outro status, esse download carrega seu valor financeiro padrão e o valor total do pagamento aumenta.

Este comportamento padrão pode ser substituído enviando um
item_price nos $args.

remove_download( $download_id, $args = array() )

Este método permite remover um download de um pagamento. Ele aceita dois argumentos:

$download_id

Este é o ID do download que você deseja anexar. É sempre um inteiro.

$args

Este é um array que pode substituir os padrões internos:

            'quantity'    => 1,
            'price_id'    => false,
            'item_price'  => 0.00,
            'cart_index'  => false,

OBSERVAÇÃO: se o seu download for variável, o price_id é necessário para que o item correto seja removido.

OBSERVAÇÃO: Por padrão, remove_download() remove apenas um item. Se você tiver vários itens iguais, precisará usar a opção quantity nos $args.

get_meta( $meta_key = ‘_edd_payment_meta’, $single = true )

Este método obtém os metadados associados a um pagamento. Ele aceita uma chave de metadados e um booleano para solicitar os metadados em modo único ou não.

Internamente, este método executa get_post_meta, mas então aplica alguma lógica para fornecer compatibilidade com versões anteriores do Easy Digital Downloads 1.5

Em seguida, ele executa apply_filters em
'edd_get_payment_meta_' . $meta_key e, em seguida, retorna a saída após mais um filtro de edd_get_payment_meta

update_meta( $meta_key = ”, $meta_value = ”, $prev_value = ” )

Este método permite atualizar os metadados de postagem de um pagamento. Ele aceita uma chave de metadados, um valor de metadados e um valor de metadados anterior para comparação.

Antes de atualizar, a meta_key é passada por um filtro chamado
'edd_update_payment_meta_' . $meta_key.

O valor de retorno é a saída de
update_post_meta.

add_fee( $args = ”, $global = true )

Este método permite anexar uma taxa arbitrária ao pagamento. Funciona exatamente como o da EDD_Fees, por favor, leia a documentação lá.

remove_fee( $key )

Este método permite remover uma taxa específica. Funciona exatamente como o da EDD_Fees,
por favor, leia a documentação lá.

remove_fee_by( $key, $value, $global = false )

Este método permite remover uma taxa sem ter que saber sua posição no array de taxas. Por exemplo, se você tiver uma taxa com o rótulo de frete, você pode fazer algo como

$payment->remove_fee_by( 'label', 'Shipping' );

O código acima removeria a primeira instância de uma taxa com o rótulo de Frete. Se você adicionar o sinalizador global true como este:

$payment->remove_fee_by( 'label', 'Shipping', true );

então ele removerá TODAS as taxas com o rótulo de Frete.

add_note( $note = false )

Este método permite anexar uma nota ao pagamento. Os resultados se parecerão com isto:

update_status( $status = false )

Este método permite definir o status de um determinado pagamento. Aqui estão os status possíveis:

  • Pendente
  • Completo
  • Reembolsado
  • Falhou
  • Abandonado
  • Revogado

array_convert()

Este método permite obter todas as propriedades disponíveis como um array. Exemplo:

$payment = new EDD_Payment( 4577 );
$payments_array = $payment->array_convert();

IMPORTANTE: as propriedades que foram movidas para um array com array_convert NÃO serão atualizadas dentro desse array. Se você precisar de uma versão atualizada após uma alteração, precisará executar este método novamente e preencher seu array.

save()

Este método pega quaisquer alterações ou atualizações feitas por qualquer outro método e as grava no banco de dados.

NOTA: se você não usar save(), nenhuma das suas alterações ocorrerá.

Exemplos

Aqui estão alguns exemplos de código de algumas tarefas comuns:

Criando um pagamento

$payment = new EDD_Payment(); // Instantiates a payment object
$payment->add_download( 12 ); // Adds download id 12 to the payment at it's default price
$payment->email = '[email protected]'; // Email is required for a payment
$payment->status = 'complete'; // Completes the payment
$payment->save(); // Writes to the database any changes that were made

Editando um pagamento existente

$payment = new EDD_Payment( 42 ); // Loads the information for Payment ID 42
$payment->email = '[email protected]'; // Changes the email address on the payment
$payment->save();

Alterando o status de um pagamento

$payment = new EDD_Payment( 1337 );
$payment->status = 'revoked';
$payment->save();

Adicionando um download com preço variável

$payment = new EDD_Payment( 1942 );
$args = array(
    'price_id' => 1, // Variable price ID
    'item_price' => 0.00, // Makes the item free
);
$payment->add_download( 23, $args ); // Adds Download ID 23, variable price 1 to the payment
$payment->save();

Adicionando um download com opções

$payment = new EDD_Payment( 2008 );
$args = array(
    'item_price' => 4.00,
);
$options = array(
    'is_renewal' => true,
);
$payment->add_download( 28, $args, $options );
$payment->save();

Removendo um download

$payment = new EDD_Payment( 2008 );
$payment->remove_download( 23 );
$payment->save();

Removendo um download com preços variáveis

$payment = new EDD_Payment( 2008 );
$args = array(
    'price_id' => 1,
);
$payment->remove_download( 28, $args );
$payment->save();
Este artigo foi útil?

Comece a vender hoje mesmo!

Junte-se a mais de 50.000 proprietários de lojas inteligentes e comece a usar a maneira mais fácil de vender produtos digitais com o WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]