ログイン
始める

Easy Digital Downloads ドキュメント

Easy Digital Downloads のドキュメント、参考資料、チュートリアル

EDD_Payment

EDD_Paymentクラスを使用すると、Easy Digital Downloadsで支払い情報を簡単に作成、編集、削除できます。以下に例を示します。

新しい支払いを作成する例
$payment = new EDD_Payment();
$payment->add_download( 97 );
$payment->email = '[email protected]';
$payment->status = 'complete';
$payment->save();
既存の支払いにあるメールを更新する例:
$payment = new EDD_Payment( 4023 );
$payment->email = '[email protected]';
$payment->save();

利用可能なプロパティ

オブジェクトで利用可能なプロパティは次のとおりです。

  • $ID
  • $number
  • $mode
  • $key
  • $total
  • $subtotal
  • $tax
  • $fees
  • $discounts
  • $date
  • $completed_date
  • $status
  • $old_status
  • $status_nicename
  • $customer_id
  • $user_id
  • $first_name
  • $last_name
  • $email
  • $address
  • $transaction_id
  • $downloads
  • $ip
  • $gateway
  • $currency
  • $cart_details
  • $has_unlimited_downloads
  • $pending
  • $parent_payment

利用可能なメソッド

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

このメソッドは、支払いにダウンロードを追加することを可能にします。3つの引数を受け取ります。

$download_id

これは、添付したいダウンロードのIDです。常に整数です。

$args

これは、これらの組み込みデフォルトをオーバーライドできる配列です。

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

手数料は必要なものであれば何でも構いませんが、
add_fee()の形式に従います。詳細については、EDD_Feesのドキュメントを参照してください

$options

これは、ダウンロードの任意のオプションを受け入れることができる配列です。例としては、ソフトウェアライセンス拡張機能の
is_renewalまたはis_upgradeなどがあります。

重要:完了した支払いにダウンロードを追加した場合、新しいダウンロードは価格ゼロに設定されます。他のステータスの支払いに対​​してダウンロードを追加すると、そのダウンロードはデフォルトの金銭的価値を保持し、支払いの合計値が増加します。

このデフォルトの動作は、
item_priceを$argsで送信することによってオーバーライドできます。

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

このメソッドは、支払いからダウンロードを削除することを可能にします。2つの引数を受け取ります。

$download_id

これは、添付したいダウンロードのIDです。常に整数です。

$args

これは、これらの組み込みデフォルトをオーバーライドできる配列です。

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

注意:ダウンロードが可変である場合、適切なアイテムが削除されるようにprice_idが必要です。

注意:デフォルトではremove_download()は1つのアイテムのみを削除します。同じアイテムが複数ある場合は、$argsのquantityオプションを使用する必要があります。

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

このメソッドは、支払いに関連付けられたメタデータを取得します。メタキーと、メタデータを単一モードで要求するかどうかを示すブール値を受け取ります。

内部的には、このメソッドはget_post_metaを実行しますが、EDD 1.5との後方互換性を提供するためのロジックを適用します。

次に、
'edd_get_payment_meta_' . $meta_keyにapply_filtersを実行し、さらにedd_get_payment_metaのフィルターを適用した後の出力を返します。

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

このメソッドは、支払い用の投稿メタを更新することを可能にします。メタキー、メタ値、および比較用の以前のメタ値を受け取ります。

更新する前に、メタキーは
'edd_update_payment_meta_' . $meta_keyというフィルターを通過します。

戻り値は
update_post_metaの出力です。

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

このメソッドは、任意の料金を支払いに添付することを可能にします。EDD_Feesのそれとまったく同じように機能します。そちらのドキュメントをお読みください

remove_fee( $key )

このメソッドは、指定された手数料を削除できます。EDD_Fees のメソッドと全く同じように機能します。
そちらのドキュメントをお読みください

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

このメソッドは、手数料配列内の位置を知らなくても手数料を削除できます。例えば、配送というラベルの手数料がある場合、次のようにすることができます。

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

上記のコードは、配送というラベルの手数料の最初のインスタンスを削除します。グローバルフラグを true にして次のように追加した場合:

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

配送というラベルの手数料をすべて削除します。

add_note( $note = false )

このメソッドは、支払いに追加のメモを添付できます。結果は次のようになります。

update_status( $status = false )

このメソッドは、指定された支払いのステータスを設定できます。可能なステータスは次のとおりです。

  • 保留中
  • 完了
  • 返金済み
  • 失敗
  • 放棄済み
  • 取り消し済み

array_convert()

このメソッドは、利用可能なすべてのプロパティを配列として取得できます。例:

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

重要: array_convert で配列に移動されたプロパティは、その配列内で更新されません。変更後に更新されたバージョンが必要な場合は、このメソッドを再実行して配列を再入力する必要があります。

save()

このメソッドは、他のメソッドによって行われた変更や更新をデータベースに書き込みます。

注意:save() を使用しないと、変更は実際には行われません。

一般的なタスクのコード例をいくつか紹介します。

支払いの作成

$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

既存の支払いの編集

$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();

支払いのステータスの変更

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

変動価格のダウンロードの追加

$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();

オプション付きのダウンロードの追加

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

ダウンロードの削除

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

変動価格のダウンロードの削除

$payment = new EDD_Payment( 2008 );
$args = array(
    'price_id' => 1,
);
$payment->remove_download( 28, $args );
$payment->save();
この記事は役に立ちましたか?

今日から販売を開始しましょう!

50,000人以上のスマートなストアオーナーに参加して、WordPressでデジタル製品を販売する最も簡単な方法を使い始めましょう。

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]