オリジナルCommerce決済モジュール(Offsite)で決済サーバーへのPOST時のエンコードを変更する方法

カテゴリ Commerce コアバージョン 8.6.x 関連モジュール Commerce Payment Gateway

commerce_xxx.module

function commerce_xxx_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  if (strpos($form_id,'commerce_checkout_flow_multistep_') === 0) {
    if ($form['#step_id'] == 'payment') { // Checkout stepを特定
      if ($buildInfo = $form_state->getBuildInfo()) {
        if (isset($buildInfo['callback_object'])) {
          $callback_object = clone $buildInfo['callback_object'];
          if (method_exists($callback_object, 'getOrder')) {
            if ($order = $callback_object->getOrder()) {
              if ($payment_gateway = $order->get('payment_gateway')) {
                $name = $payment_gateway->getValue();
                if (isset($name[0]['target_id'])) {
                  if ($name[0]['target_id'] == 'xxxxxxxxxxxxx') { // 決済ゲートウェイを特定
                    $form['#attributes']['accept-charset'] = 'xxxxxxx'; // Shift_JIS など
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ昇順で並び替える Core Ver. 関連モジュール タイトル
ユーザの管理 7.50 Paypal continued billing drupal7のPaypal継続課金モジュールについて
ユーザの管理 8.9.x user pass drupal 8 で 管理者(uid=1)パスワードがわからなくなったとき 新しいパスワードを設定する方法
ユーザの管理 7.27 PHP 新規ユーザーの追加ができない
ユーザ 7.44 Password Policy 無効なユーザーを整理したい
ユーザ 7.23 PHP user_load_multiple()の復帰値
ユーザ 7.34 ip_ranges ログインアタック対策は?
ユーザ 7.44 Quickbar 会員の種別(役割)別にメニューを設けたい
ユーザ 7.22 Realname ユーザーIDではなくニックネーム等を表示したい
ユーザ 7.23 User 長い投稿者名の表示が切れる
ユーザ 7.38 user form 新規ユーザー登録時、パスワード再設定時のパスワード入力抜けを防ぎたい
メール 7.50 Smtp smtpでGmailアカウントを使いたい
ブロック 7.23 伸縮するfieldsetブロックを追加したい
ブロック 7.15 Views ひとつのViewsをページやブックページ中で再利用する方法は?
フォーム 8.9.x api GET/POSTされた情報を得る方法
フォーム 7.16 Webform, Mail System, Mime Mail, Jp Mail Helper 送信メールのサブジェクトが長いと文字化けする
フォーム 8.9.x Views Views exposed filterのフォームに#default_valueを仕込む方法
フォーム 7.15 Webform WebformのEntity Translation
フォーム 8.6.x JavaScript 特定のformに動的にJavaScriptをロードする方法
フォーム 7.15 DefaultTextForNode 新しいページの作成方法を一から教えてください
フォーム 7.38 Webform Webformでタクソノミーを参照したい

ページ