定期購入のプラグインを色々と開発しているので備忘録がてら、こちらで公式サイトの内容を翻訳します。定期購入のプラグインを作ろうと思っている健気な方はご参考にいただければと思います。爆

結構大変です。ちなみに、一般的な決済に関する部分は2016年5月現在では頑張って下さい。私が将来余裕が出て作ることが出来たら説明ページを作るかもしれませんが、今の所作る予定がないので。

では、以下のページの翻訳(誤訳があったらゴメンなさい)です。

Subscriptions Action Reference

アクションフック名 : ‘scheduled_subscription_payment’

フック説明 : 定期決済が定期的に行われる際に必要です。例えば、毎年50ドルの定期購入の場合、このフックは1年に1回、最初の購入した時に実行されます。的購入のsubscription_key と user_id は、このアクションにフック関数を通して渡されます。


アクションフック名 : ‘scheduled_subscription_payment_{$gateway_id}’

フック説明 : ‘scheduled_subscription_payment’アクションのように定期購入の支払が行われる度に実行されます。違いはこれは決済方法ごとに対応を変えることができるということです。渡されるパラメーターも変わります。subscription_key と user_id の代わりに、$amount_to_chargeで支払総額(様々な商品代以外の価格を含んで)を渡し、購入された定期購入はWC_Order オブジェクトに含まれ、 WC_Product のIDが定期購入商品です。


アクションフック名 : ‘scheduled_subscription_expiration’

フック説明 : WP-Cron の処理が実行され、定期購入の期限が切れる場合に実行されます。 定期購入の subscription_key と user_id がこのアクションにフック関数を通して渡されます。


アクションフック名 : ‘woocommerce_subscriptions_activated’

フック説明 : WordPressのサイトで WooCommerce Subscription plugin が有効化された時に一度だけ実施されます。


アクションフック名 : ‘woocommerce_subscriptions_deactivated’

フック説明 : WooCommerce Subscription plugin が無効化された時に一度だけ実施されます。


アクションフック名 : ‘woocommerce_subscriptions_product_options_pricing’

フック説明 : 管理者ページで商品価格オプションが編集された時に実行されます。


アクションフック名 : ‘activated_subscription’

パラメーター :
$user_id Integer 定期購入が有効になった人のユーザーID。
$subscription_key String ユーザーアカウント上で有効になった定期購入のキー。

フック説明 : $subscription_keyで特定され、$user_idで有効であると特定された定期購入に関してこのアクションはトリガされます。


アクションフック名 : ‘cancelled_subscription’
パラメーター :
$user_id Integer 定期購入がキャンセルされた人のユーザーID
$subscription_key String 定期購入がキャンセルされた定期購入キー

フック説明 : 定期購入が管理者によってキャンセルされたり、決済システム側でキャンセルされたり、ユーザーアカウント上でキャン申された時に実行されます。


アクションフック名 : ‘subscription_end_of_prepaid_term’

パラメーター :
$user_id Integer 定期購入がキャンセルされた人のユーザーID
$subscription_key String 定期購入がキャンセルされた定期購入キー

フック説明 : 定期購入がキャンされるされた後に、現在稼働している定期購入が終了する時に実行されます。例えば、毎月更新の定期購入を3月1日に購入していた人が、3月15日にキャンセルするとその時に’cancelled_subscription’が実行され、購入完了している定期購入が終わる4月1日に’subscription_end_of_prepaid_term’が実行されます。バーチャルな商品、例えば会員費用などを定期購入で利用されている場合は’cancelled_subscription’フックよりも、このフックを使ったほうがいいです。’subscription_end_of_prepaid_term’フックは内部的にキャンセルの際のユーザーの権限を変更に使われています。


アクションフック名 : ‘subscription_expired’

パラメーター :
$user_id Integer 定期購入の有効期限が切れているユーザーID
$subscription_key String ユーザーアカウントでの有効期限が切れている定期購入キー

フック説明 : 定期購入を購入した時に設定されている期間が満了した時に実行されます。このイベントはWooCommerce Subscriptionsがcron-jobによって有効期限が切れているそれぞれの定期購入に対して、また決済プラグインによってWC_Subscriptions_Manager::expire_subscription()関数から直接実行されます。


アクションフック名 : ‘subscription_put_on-hold’

パラメーター :
$user_id Integer 定期購入の所有者のユーザーID
$subscription_key String 保留にされた定期購入のキー。

フック説明 : 定期購入が保留(一時停止)された時に実行されます。定期購入が捕虫される時とは以下です。

店舗管理者が手動で定期購入を一時停止した時。
購入者がアカウントページで手動で定期購入を一時停止にした時。
(定期購入が自動更新で一時停止になった際に、次に手動で支払いが行われるまで一時停止することもあります。詳細は定期購入の更新ガイドをごらんください。)