Simple PayPal Payment を管理画面で使う

はじめに

前年末に、PayPal 決済のプラグイン Simple PayPal Payment を公開しました。そのプラグインの管理画面での使い方を記します。ユーザーを複数登録するサイトなどで、ユーザーの管理画面内で課金させて何らかの制限を解除するという仕組みです。フィルターフックを提供しているのでそれを利用します。


使い方

PHP コード内でショートコードを、do_shortcode で呼び出し購入ボタンを作成します。フィルターフックでフィルターを呼び関数内で、オプションテーブル内に課金済みを示す testpaid を作成します。値は bool 値です。この値で課金を判定する仕組みです。

ショートコード属性の email にメールアドレスを指定すると値を受け渡せるので、関数内でメールを送信できます。

サンプルコード

// 購入ボタン
$user = wp_get_current_user();
$email = $user->user_email;
echo do_shortcode('[simplepaypalpayment size="medium" amount=1000 currency="JPY" email="'.$email.'" payname="testpay"]');

// フィルターフック
add_filter('simple_paypal_payment_charge', 'paypal_charge', 10, 6);

// 関数
public function paypal_charge( $data, $payment_data, $email, $amount, $currency, $payname ) {
    if ( $payname === "testpay" ) {
        // 課金直後の処理
        // メールを送信します。
        $subject = 'ご購入ありがとうございます。';
        $message = $amount.$currency.'お支払いいただきました。制限が解除されました。';
        wp_mail($email, $subject, $message);
      // オプションテーブルに書きこみます。
      update_option( 'test_paid', TRUE );
      // 未課金に戻したい場合は、phpMyAdmin などで、test_paid をオプションテーブルから削除してください。
    }
}