概要
wpforms_authorize_net_process_payment_single_args
フィルタは、WPFormsプラグインでのAuthorize.Netによる単一の支払い処理に関連する引数を変更するために使用されます。このフィルタは、支払いの設定や処理に関する詳細をカスタマイズする際に有用で、以下のような場面でよく使われます。
- 支払い方法のカスタマイズ
- 顧客情報の追加フィールドの作成
- カスタム料金構造の実装
- 支払い処理時のエラーメッセージの変更
- サンクスページのリダイレクト設定のカスタマイズ
- 通知メールの内容を変更
構文
add_filter('wpforms_authorize_net_process_payment_single_args', 'your_custom_function_name', 10, 2);
パラメータ
$form_data
: フォームのデータ$args
: 支払い処理に渡す引数
戻り値
- 修正された引数の配列
使用可能なプラグインのバージョン
- WPForms: 1.0以降
- WordPress: 4.0以降
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル1: 支払い金額の変更
このサンプルコードでは、フォームから送信されたデータに基づき、支払い金額を動的に変更します。
add_filter('wpforms_authorize_net_process_payment_single_args', function($args, $form_data) {
if (!empty($form_data['fields']['amount'])) {
$args['amount'] = $form_data['fields']['amount'];
}
return $args;
});
サンプル2: カスタムフィールドの追加
この例では、顧客のカスタムフィールドを追加して、Authorize.Netに送信します。
add_filter('wpforms_authorize_net_process_payment_single_args', function($args, $form_data) {
$args['custom_fields'] = array(
'customer_note' => !empty($form_data['fields']['customer_note']) ? $form_data['fields']['customer_note'] : '',
);
return $args;
});
サンプル3: 通知メールメッセージの変更
支払い処理が成功した後に送信されるメールメッセージを変更するサンプルです。
add_filter('wpforms_authorize_net_process_payment_single_args', function($args, $form_data) {
$args['notification_message'] = 'ありがとうございました。お支払いが正常に処理されました。';
return $args;
});
サンプル4: 利用規約への同意の確認
利用規約への同意をチェックし、同意がない場合は支払いを中止するサンプルです。
add_filter('wpforms_authorize_net_process_payment_single_args', function($args, $form_data) {
if (empty($form_data['fields']['terms'])) {
wpforms()->process->add_error('terms', '利用規約に同意してください。');
return false; // 支払い処理を停止
}
return $args;
});
サンプル5: トランザクションのメモを設定
トランザクションメモに特定の情報を追加するサンプルです。
add_filter('wpforms_authorize_net_process_payment_single_args', function($args, $form_data) {
$args['description'] = 'フォームID: ' . $form_data['id'];
return $args;
});
これらのサンプルコードは、WPFormsとAuthorize.Netを利用した支払い処理のカスタマイズの一例です。自分自身のニーズに合わせて修正して使用してください。