Magento プラグイン
Magento 2ストアでOmiseで支払いを受け付けます。クレジットカード、銀行振込、電子ウォレット、分割払いの完全サポートと簡単なComposerインストール。
概要
機能:
- Magento 2.1.18 - 2.4.5 サポート
- Composer インストール
- すべての Omise 決済方法
- マルチストア設定
- 管理者注文管理
- 自動払い戻し
- 3D Secure サポート
- モバイル最適化チェックアウト
前提条件
要件:
- Magento 2.1.18 - 2.4.5
- PHP 7.2 以上(v3.8.0以降 PHP 8.2+対応)
- Composer がインストール済み
- アクティブな Omise アカウント
- SSH またはターミナル アクセス
- Magento への管理者アクセス
インストール
Composer 経由(推奨)
# Magento ルート ディレクトリに移動
cd /path/to/magento
# Omise モジュールを要求
composer require omise/omise-magento
# モジュールを有効化
php bin/magento module:enable Omise_Payment
# セットアップ アップグレードを実行
php bin/magento setup:upgrade
# コードをコンパイル
php bin/magento setup:di:compile
# 静的コンテンツをデプロイ
php bin/magento setup:static-content:deploy
# キャッシュをクリア
php bin/magento cache:flush
手動インストール
- GitHub から最新リリースをダウンロード
app/code/Omise/Paymentに抽出- 上記のセットアップコマンドを実行
設 定
ステップ1: 支払い設定にアクセス
- Magento 管理画面にログイン
- ストア → 設定に移動
- 営業 で 支払い方法 をクリック
- Omise Payment Gateway セクションを見つけ
ステップ2: APIキーを設定
基本設定:
- 有効化: はい
- タイトル: Omise Payment Gateway
- 環境: サンドボックス(テスト用)
API設定:
- 公開キー(テスト): pkey_test_xxxxx
- 秘密キー(テスト): skey_test_xxxxx
- 公開キー(本番): pkey_live_xxxxx(後で追加)
- 秘密キー(本番): skey_live_xxxxx(後で追加)
APIキーを取得:
- Omise ダッシュボード にアクセス
- 設定 → キーに移動
- テストキーをコピーして初期セットアップ用
- 本番運用の準備ができたら本番キーをコピー

ステップ3: 決済方法を有効化
クレジット/デビットカード:
有効化: はい
タイトル: クレジット/デビットカード
3Dセキュア: 有効化
支払いアクション: 認可およびキャプチャ
受け入れるカード: Visa、Mastercard、Amex、JCB
インターネットバンキング:
有効化: はい
タイトル: インターネットバンキング
サポート銀行: すべてのタイ銀行
指示: 「銀行にリダイレクトされます」
電子ウォレット:
TrueMoney Wallet を有効化: はい
Rabbit LINE Pay を有効化: はい
ShopeePay を有効化: はい
分割払い:
有効化: はい
最小注文: 3000 タイバーツ
利用可能な期間: 3、6、10 ヶ月
ステップ4: Webhook を設定
Webhook URL フォーマット:
https://yourstore.com/omise/webhook/callback
Omise ダッシュボードでセットアップ:
- 設定 → Webhooks に移動
- Webhook 追加をクリック
- webhook URL を入力
- イベントを選択:
- charge.complete
- charge.failed
- refund.create
- webhook を保存
Webhook をテスト:
# webhook エンドポイントをテスト
curl -X POST https://yourstore.com/omise/webhook/callback \
-H "Content-Type: application/json" \
-d '{"key":"charge.complete","data":{"id":"chrg_test_xxx"}}'
ステップ5: 注文ステータス マッピング
Omise支払いステータスが Magento 注文ステータスにどのようにマッピングされるかを設定:
支払いステータスマッピング:
- 保留中 → 支払い待ち
- 認可済み → 処理中
- キャプチャ済み → 処理中
- 成功 → 完了
- 失敗 → キャンセル
- 払い戻し → クローズ
カスタム ステータス マッピング:
// app/code/Omise/Payment/etc/config.xml
<default>
<payment>
<omise>
<order_status>
<pending>pending_payment</pending>
<successful>processing</successful>
<failed>canceled</failed>
</order_status>
</omise>
</payment>
</default>
テスト
テスト モード セットアップ
設定:
✓ 環境を「サンドボックス」に設定
✓ テスト API キーを使用
✓ デバッグ ログを有効化
✓ すべての決済方法をテスト
テスト カード
支払い成功:
カード: 4242 4242 4242 4242
有効期限: 12/28
CVV: 123
支払い失敗:
カード: 4000 0000 0000 0002
3D Secure 登録失敗:
カード: 4111 1111 1115 0002 (Visa)
3D Secure 認証失敗:
カード: 4111 1111 1114 0003 (Visa)
注文フローをテスト
-
テスト注文を作成
- 商品をカートに追加
- チェックアウトに進む
- 配送情報を入力
- Omise 決済方法を選択
-
支払いを完了
- テストカード詳細を入力
- 必要に応じて 3D Secure を完了
- 支払い成功を確認
-
管理画面で確認
- 注文が作成されたことを確認
- 注文ステータスを確認
- 支払い詳細を確認
- トランザクション情報をレビュー
マルチストア設定
ストアごとに個別設定
ストア 1(タイ):
- 通貨: THB
- 決済方法: すべて
- API キー: タイ アカウン ト
- 言語: 英語/タイ語
ストア 2(シンガポール):
- 通貨: SGD
- 決済方法: カード、ウォレット
- API キー: シンガポール アカウント
- 言語: 英語
ストア ビューごとに設定:
- スコープ セレクターでストア ビューを選択
- カスタマイズしたい設定で「ウェブサイトを使用」をチェック解除
- ストア固有の値を入力
- 設定を保存
注文管理
支払い情報を表示
注文詳細:
- Omise チャージ ID
- 使用された支払い方法
- トランザクション金額
- トランザクション日時
- 支払いステータス
- 顧客請求詳細
支払い情報にアクセス:
注文 → 注文を選択 → 支払い情報セクション
払い戻しを処理
全額払い戻し:
- 注文を開く
- クレジット メモをクリック
- 払い戻す商品を選択
- オフラインで払い戻しまたは払い戻しをクリック
- Omise が自動的に払い戻しを処理
部分払い戻し:
- 注文を開く
- クレジット メモをクリック
- カスタム金額を入力
- 払い戻し理由を追加
- 払い戻しを送信
払い戻しの制限:
カード: 120日以内に払い戻し可能
インターネットバンキング: 払い戻し不可
電子ウォレット: プロバイダーによって異なる
分割払い: 特別なプロセスが必須
高度な機能
支払いキャプチャ
自動キャプチャ(デフォルト):
支払いアクション: 認可およびキャプチャ
- 直ちに請求
- 決済用に資金を保留
- 標準フロー
手動キャプチャ:
支払いアクション: 認可のみ
- 支払いを認可
- 後で手動でキャプチャ
- 事前注文向け
- 7日間の認可期間
手動キャプチャプロセス:
1. 注文配置(認可のみ)
2. 管理画面で注文をレビュー
3. 「インボイス」をクリック
4. 「オンラインでキャプチャ」を選択
5. 支払いがキャプチャされる
保存済みカード
保存済みカードを有効化:
設定:
支払い方法 → Omise → クレジットカード
✓ 保存済みカードを有効化
✓ 顧客はカードを削除可能
顧客体験:
- チェックアウト時にカードを保存
- アカウントで保存済みカードを表示
- 将来の注文に保存済みカードを使用
- いつでもカードを削除
セキュリティ:
- Omise でカードをトークン化
- ローカルにカード データは保存されない
- PCI 準拠
- セキュアトークン ストレージ
カスタム チェックアウト フィールド
支払いセクションにカスタム フィールドを追加:
// app/code/Omise/Payment/view/frontend/layout/checkout_index_index.xml
<item name="custom-field" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/form/element/abstract</item>
<item name="config" xsi:type="array">
<item name="customScope" xsi:type="string">omisePayment</item>
<item name="template" xsi:type="string">ui/form/field</item>
<item name="elementTmpl" xsi:type="string">ui/form/element/input</item>
</item>
<item name="provider" xsi:type="string">checkoutProvider</item>
<item name="dataScope" xsi:type="string">omisePayment.custom_field</item>
<item name="label" xsi:type="string" translate="true">カスタム フィールド</item>
<item name="sortOrder" xsi:type="string">1</item>
</item>
カスタマイズ
決済方法の表示
決済方法を並び替え:
設定 → 支払い方法
並び順:
1. クレジット カード(並び順: 1)
2. インターネット バンキング(並び順: 2)
3. TrueMoney Wallet(並び順: 3)
4. Rabbit LINE Pay(並び順: 4)
カスタム支払いタイトル:
クレジット カード: 「クレジット/デビット カードで支払う」
インターネット バンキング: 「ชำระผ่านธนาคาร (銀行振込)」
TrueMoney Wallet: 「TrueMoney Wallet」
支払いフォーム カスタマイズ
支払いフォームの外観をカスタマイズしてストアのブランディングに合わせます。
フォーム カスタマイズにアクセス:

フォーム要素をカスタマイズ:

変更をプレビュー:

カスタム CSS:
/* app/design/frontend/[Vendor]/[Theme]/web/css/source/_module.less */
.payment-method-omise {
.payment-method-title {
font-weight: bold;
color: #FF5722;
}
.payment-method-content {
padding: 15px;
border: 2px solid #e0e0e0;
}
}
メール テンプレート
支払いメールをカスタマイズ:
マーケティング → コミュニケーション → メール テンプレート
新しいテンプレートを作成:
- テンプレート: 新規注文
- 支払い情報セクションをカスタマイズ
- Omise ブランディングを追加
- テンプレートを保存
メール変数:
{{var payment_html}}
{{var order.getPayment().getMethodInstance().getTitle()}}
{{var order.getPayment().getAdditionalInformation('omise_charge_id')}}
トラブルシューティング
よくある問題
問題: モジュールが支払い方法に表示されない
解決方法:
1. キャッシュをクリア: php bin/magento cache:flush
2. 再コンパイル: php bin/magento setup:di:compile
3. モジュールが有効化されていることを確認: php bin/magento module:status
4. API キーが入力されていることを確認
5. Magento ログを確認: var/log/system.log
問題: Webhook が注文ステータスを更新していない
解決方法:
1. webhook URL がアクセス可能であることを確認
2. Omise ダッシュボードで webhook が設定されていることを確認
3. Magento で webhook ログを確認
4. webhook を手動でテスト
5. サーバー ファイアウォール設定を確認
問題: チェックアウト時に支払いが失敗
解決方法:
1. API キーが正しいことを確認
2. Omise アカウントで支払い方法が有効化されていることを確認
3. 通貨がサポートされていることを確認
4. Magento エラー ログを確認
5. サンドボックス モードでテスト
問題: 払い戻しが処理されない
解決方法:
1. 支払い方法が払い戻しをサポートしていることを確認
2. 払い戻し期間内であることを確認
3. 十分な決済残高があることを確認
4. Omise ダッシュボードでエラーを確認
5. より小さい払い戻し金額を試す
デバッグ モード
デバッグを有効化:
ストア → 設定 → 高度な → 開発者
開発者 クライアント制限: いいえ
ログ: 有効
Omise 支払い → 高度な設定
✓ デバッグ モードが有効
✓ API 要求をログ
✓ Webhook イベントをログ
ログを表示:
# Magento ログ
tail -f var/log/system.log
tail -f var/log/exception.log
# Omise 固有のログ
tail -f var/log/omise.log