メインコンテンツへスキップ

Magento プラグイン

Magento 2ストアでOmiseで支払いを受け付けます。クレジットカード、銀行振込、電子ウォレット、分割払いの完全サポートと簡単なComposerインストール。

概要

機能:

  • Magento 2.3.x および 2.4.x サポート
  • Composer インストール
  • すべての Omise 決済方法
  • マルチストア設定
  • 管理者注文管理
  • 自動払い戻し
  • 3D Secure サポート
  • モバイル最適化チェックアウト

前提条件

要件:

  • Magento 2.3.x または 2.4.x(注: Magento 2.3は2022年9月にEOL到達、2.4.xを推奨)
  • 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

手動インストール

  1. GitHub から最新リリースをダウンロード
  2. app/code/Omise/Payment に抽出
  3. 上記のセットアップコマンドを実行

設定

ステップ1: 支払い設定にアクセス

  1. Magento 管理画面にログイン
  2. ストア設定に移動
  3. 営業支払い方法 をクリック
  4. Omise Payment Gateway セクションを見つけ

ステップ2: APIキーを設定

基本設定:
- 有効化: はい
- タイトル: Omise Payment Gateway
- 環境: サンドボックス(テスト用)

API設定:
- 公開キー(テスト): pkey_test_xxxxx
- 秘密キー(テスト): skey_test_xxxxx
- 公開キー(本番): pkey_live_xxxxx(後で追加)
- 秘密キー(本番): skey_live_xxxxx(後で追加)

APIキーを取得:

  1. Omise ダッシュボード にアクセス
  2. 設定キーに移動
  3. テストキーをコピーして初期セットアップ用
  4. 本番運用の準備ができたら本番キーをコピー

Magento 管理 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 ダッシュボードでセットアップ:

  1. 設定Webhooks に移動
  2. Webhook 追加をクリック
  3. webhook URL を入力
  4. イベントを選択:
    • charge.complete
    • charge.failed
    • refund.create
  5. 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)

注文フローをテスト

  1. テスト注文を作成

    • 商品をカートに追加
    • チェックアウトに進む
    • 配送情報を入力
    • Omise 決済方法を選択
  2. 支払いを完了

    • テストカード詳細を入力
    • 必要に応じて 3D Secure を完了
    • 支払い成功を確認
  3. 管理画面で確認

    • 注文が作成されたことを確認
    • 注文ステータスを確認
    • 支払い詳細を確認
    • トランザクション情報をレビュー

マルチストア設定

ストアごとに個別設定

ストア 1(タイ):
- 通貨: THB
- 決済方法: すべて
- API キー: タイ アカウント
- 言語: 英語/タイ語

ストア 2(シンガポール):
- 通貨: SGD
- 決済方法: カード、ウォレット
- API キー: シンガポール アカウント
- 言語: 英語

ストア ビューごとに設定:

  1. スコープ セレクターでストア ビューを選択
  2. カスタマイズしたい設定で「ウェブサイトを使用」をチェック解除
  3. ストア固有の値を入力
  4. 設定を保存

注文管理

支払い情報を表示

注文詳細:

  • Omise チャージ ID
  • 使用された支払い方法
  • トランザクション金額
  • トランザクション日時
  • 支払いステータス
  • 顧客請求詳細

支払い情報にアクセス:

注文 → 注文を選択 → 支払い情報セクション

払い戻しを処理

全額払い戻し:

  1. 注文を開く
  2. クレジット メモをクリック
  3. 払い戻す商品を選択
  4. オフラインで払い戻しまたは払い戻しをクリック
  5. Omise が自動的に払い戻しを処理

部分払い戻し:

  1. 注文を開く
  2. クレジット メモをクリック
  3. カスタム金額を入力
  4. 払い戻し理由を追加
  5. 払い戻しを送信

払い戻しの制限:

カード: 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

パフォーマンス最適化

チェックアウト速度

支払い読み込みを最適化:

✓ Magento フル ページ キャッシュを有効化
✓ 支払いアイコン用 CDN を使用
✓ チェックアウト ステップを最小化
✓ JavaScript バンドルを最適化
✓ HTTP/2 を有効化

リダイレクトを削減:

✓ インライン カード フォームを使用
✓ 外部リダイレクトを最小化
✓ webhook 応答時間を最適化
✓ 支払い方法設定をキャッシュ

データベース最適化

支払いテーブルにインデックスを追加:

-- 支払いクエリを改善するにはインデックスを追加
ALTER TABLE sales_order_payment ADD INDEX idx_omise_charge_id (last_trans_id);

古いログをクリーン:

# 古いログを削除
php bin/magento log:clean --days=30

セキュリティ ベストプラクティス

API キー セキュリティ

✓ キーを env.php に保存(データベースではなく)
✓ テスト/本番用に異なるキーを使用
✓ 定期的にキーをローテーション
✓ 管理者ユーザー アクセスを制限
✓ API キー使用を監視

env.php にキーを保存:

// app/etc/env.php
return [
'payment' => [
'omise' => [
'live_public_key' => getenv('OMISE_LIVE_PUBLIC_KEY'),
'live_secret_key' => getenv('OMISE_LIVE_SECRET_KEY'),
]
]
];

チェックアウト セキュリティ

✓ チェックアウトで HTTPS を強制
✓ 3D Secure を有効化
✓ CAPTCHA を実装
✓ Magento セキュリティ スキャンを使用
✓ Magento を最新に保つ
✓ 詐欺を監視

PCI 準拠

✓ カード データを保存しない
✓ カード収集に Omise.js を使用
✓ PCI SAQ-A 準拠を維持
✓ 定期的にセキュリティ監査
✓ SSL サーティフィケートを有効に保つ
✓ PCI DSS ガイドラインに従う

よくある質問

Q: どのMagento バージョンがサポートされていますか? A: Magento 2.3.x および 2.4.x が完全にサポートされています。Magento 1.x には異なるプラグインが必要です。

Q: Magento Cloud で使用できますか? A: はい、プラグインは Magento Cloud で機能します。標準的な Composer インストール を実行してください。

Q: 複数のストア ビューで機能しますか? A: はい、API キー、支払い方法、通貨を含むストア ビューごとに異なる設定が可能です。

Q: 支払いを手動でキャプチャできますか? A: はい、支払いアクションを「認可のみ」に設定し、注文インボイスから手動でキャプチャします。

Q: トランザクション制限はありますか? A: Omise API 制限が適用されます。より高い制限についてはサポートに連絡してください。プラグイン固有の制限はありません。

Q: 顧客は複数のカードを保存できますか? A: はい、保存済みカード機能が有効化されている場合、顧客は複数のカードをセキュアに保存できます。

Q: テストから本番モードに切り替えるにはどうしますか? A: 環境を「ライブ」に変更し、設定に本番 API キーを追加します。初めに必ずサンドボックスで十分にテストしてください。

Q: B2B 機能で機能しますか? A: はい、プラグインは企業アカウントおよび交渉可能な見積を含む Magento B2B 機能で機能します。

Q: 支払いフォームをカスタマイズできますか? A: はい、テーマ カスタマイズおよびレイアウト XML を使用します。一部のカスタマイズには PHP/JavaScript の知識が必要な場合があります。

Q: Magento アップグレード時はどうなりますか? A: プラグインは一般的に Magento 更新と互換性があります。本番環境の前に常にステージング環境でテストしてください。

Q: サブスクリプション サポートはありますか? A: ビルイン非対応。定期支払いについては、Omise サブスクリプション API を別途統合してください。

Q: 複数の通貨で支払いを受け付けることができますか? A: はい、ストア ビューごとに異なる通貨を設定します。Omise は複数の通貨をサポートしています。

次のステップ

追加リソース


お困りですか? support@omise.co のサポートチームに連絡するか、ヘルプ センターにアクセスしてください。