PrestaShop プラグイン
Omiseを使用してPrestaShopストアで支払いを受け付けます。PrestaShop Marketplaceからの簡単なインストールで、すべての主要決済方法に対応しています。
概要
- PrestaShop 1.6.1.19 - 1.6.1.23 サポート
- Marketplace または手動インストール
- すべての Omise 決済方法
- 複数通貨サポート
- 自動払い戻し
- モバイル最適化
インストール
PrestaShop Marketplace から
- PrestaShop 管理画面にログイン
- モジュール → モジュール マネージャーに移動

- 「Omise」を検索

- インストールをクリック
- 設定をクリック

手動インストール
# GitHub からダウンロード
wget https://github.com/omise/omise-prestashop/releases/latest/download/omise.zip
# PrestaShop 管理画面経由でアップロード
モジュール → モジュール マネージャー → モジュールをアップロード → omise.zip を選択
- モジュール → モジュールとサービスに移動

- モジュールをアップロードボタンをクリック

- ダウンロードされた ZIP ファイルを選択

設定
API キー セットアップ
モジュール設定:
- 環境: サンドボックス(テスト)/ 本番(ライブ)
- 公開キー: pkey_test_xxxxx
- 秘密キー: skey_test_xxxxx

決済方法を有効化
クレジット カード:
✓ カード決済を有効化
✓ 3D Secure: 有効化
✓ カードを保存: オプション
その他の方法:
✓ インターネット バンキング
✓ TrueMoney Wallet
✓ Rabbit LINE Pay
✓ ShopeePay
✓ 分割払い(最小: 3,000 タイバーツ)
Webhook 設定
Webhook URL:
https://yourstore.com/module/omise/webhook
Omise ダッシュボードで設定:
設定 → Webhooks → webhook URL を追加
テスト
テスト カード:
カード: 4242 4242 4242 4242
有効期限: 12/28
CVV: 123
テスト フロー:
1. 商品をカートに追加
2. チェックアウトに進む
3. Omise 決済を選択
4. テスト支払いを完了
5. 注文ステータスを確認
注文管理
支払い詳細を表示:
- 注文 → 注文を選択 → 支払いタブ
- Omise チャージ ID が表示される
- トランザクション詳細が表示される
払い戻しを処理:
- 注文を開く
- 「部分払い戻し」または「標準払い戻し」をクリック
- 金額を入力
- 「Omise 経由で払い戻し」を選択
- 払い戻しを確認
高度な設定
マルチストア セットアップ
複数の PrestaShop ストアを実行している場合:
-
マルチストア モードを有効化
詳細パラメーター → マルチストア → マルチストアを有効化 -
ストアごとに設定
- 上部ドロップダウンからストアを選択
- ストアごとに API キーを設定
- 地域ごとに異なる決済方法を有効化 -
共有設定
- すべてのストアに同じ webhook URL を使用
- webhook ハンドラーが正しいストアに自動的にルーティング
Webhook 設定(詳細)
ステップ1: Webhook URL を取得
webhook URL フォーマット:
https://yourstore.com/module/omise/webhook
マルチストア:
https://yourstore.com/en/module/omise/webhook(英語スト ア)
https://yourstore.com/th/module/omise/webhook(タイ語ストア)
ステップ2: Omise ダッシュボードで設定
1. dashboard.omise.co にログイン
2. 設定 → Webhooks に移動
3. 「Webhook エンドポイントを追加」をクリック
4. webhook URL を入力
5. イベントを選択:
✓ charge.complete
✓ charge.update
✓ refund.create
✓ transfer.update
6. エンドポイントを保存
ステップ3: Webhook を確認
1. PrestaShop でテスト支払いを実行
2. Omise ダッシュボード → Webhooks → Deliveries を確認
3. ステータスが「200 OK」であることを確認
4. 失敗した場合、PrestaShop エラー ログを確認
決済方法設定
クレジット カード設定
モジュール設定 → クレジット カード:
✓ クレジット カ ード決済を有効化: はい
✓ 3D Secure: 有効化(推奨)
✓ 自動キャプチャ: はい(即座に支払い)
✓ カードを保存: はい(既存顧客向け)
✓ 受け入れるカード ブランド:
- Visa
- Mastercard
- JCB
- American Express
分割払い設定
モジュール設定 → 分割払い:
✓ 分割払いを有効化: はい
✓ 最小金額: 3,000 タイバーツ
✓ 利用可能な期間:
- 3 ヶ月
- 4 ヶ月
- 6 ヶ月
- 10 ヶ月
✓ 商品ページに表示: はい
✓ 月額を表示: はい
デジタル ウォレット設定
モジュール設定 → デジタル ウォレット:
✓ TrueMoney Wallet: はい
✓ Rabbit LINE Pay: はい
✓ ShopeePay: はい
✓ Touch 'n Go(マレーシア): はい
✓ GrabPay: はい
カスタマイズ
決済方法の表示
表示順序を設定:
モジュール → モジュール マネージャー → Omise → 設定
決済方法の並び順:
1. クレジット カード(位置: 1)
2. TrueMoney Wallet(位置: 2)
3. 銀行振込(位置: 3)
4. 分割払い(位置: 4)
決済方法のタイトルをカスタマイズ:
// テーマの翻訳ファイルでオーバーライド
// themes/yourtheme/modules/omise/translations/en.php
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{omise}prestashop>omise_credit_card'] = 'クレジット カードで支払う';
$_MODULE['<{omise}prestashop>omise_truemoney'] = 'TrueMoney Wallet で支払う';
$_MODULE['<{omise}prestashop>omise_installment'] = '分割払いで支払う';
カスタム支払いアイコン
カスタム アイコンをアップロード:
1. 移動先: modules/omise/views/img/
2. アイコン ファイルを置き換え:
- visa.png
- mastercard.png
- jcb.png
- truemoney.png
3. 推奨サイズ: 60x40px(PNG フォーマット)
4. アップロード後にキャッシュをクリア
カスタム CSS スタイリング
/* themes/yourtheme/assets/css/custom.css */
/* 支払いオプション コンテナ */
.omise-payment-option {
border: 2px solid #FF5722;
border-radius: 8px;
padding: 15px;
margin: 10px 0;
transition: all 0.3s;
}
.omise-payment-option:hover {
border-color: #E64A19;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
/* 支払い方法アイコン */
.omise-payment-icons {
display: flex;
gap: 10px;
margin-top: 10px;
}
.omise-payment-icons img {
height: 30px;
width: auto;
}
/* クレジット カード フォーム */
.omise-card-form {
background: #f5f5f5;
padding: 20px;
border-radius: 6px;
margin-top: 15px;
}
.omise-card-form input {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
margin-bottom: 10px;
}
/* 分割払い計算機 */
.omise-installment-info {
background: #E3F2FD;
padding: 15px;
border-radius: 6px;
margin-top: 10px;
}
.omise-installment-amount {
font-size: 18px;
font-weight: bold;
color: #1976D2;
}
カスタム フィールド
PrestaShop hooks を使用してカスタム データを請求に追加:
// modules/omise/override/controllers/front/payment.php
public function postProcess()
{
$cart = $this->context->cart;
$customer = new Customer($cart->id_customer);
// カスタム メタデータを追加
$metadata = array(
'store_name' => Configuration::get('PS_SHOP_NAME'),
'customer_id' => $customer->id,
'customer_email' => $customer->email,
'cart_id' => $cart->id,
'language' => $this->context->language->iso_code,
'currency' => $this->context->currency->iso_code
);
// メタデータが請求に含まれます
$charge = $this->createCharge($token, $amount, $metadata);
}
パフォーマンス最適化
OpCache を有効化
// php.ini 設定
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
支払いアイコン用 CDN
// modules/omise/omise.php
public function getIconsPath()
{
// 高速読み込み用に CDN を使用
return 'https://cdn.omise.co/assets/payment-methods/';
}
データベース インデックス
-- より高速な注文検索のためにインデックスを追加
ALTER TABLE `PREFIX_omise_charge`
ADD INDEX `idx_charge_id` (`charge_id`),
ADD INDEX `idx_order_id` (`order_id`),
ADD INDEX `idx_created_at` (`created_at`);
トラブルシューティング
モジュールが表示されない
問題: モジュール マネージャーに Omise モジュールが表示されない
解決方法:
# 1. ファイル権限を確認
chmod 755 modules/omise
chmod 644 modules/omise/*.php
# 2. キャッシュをクリア
rm -rf var/cache/*
# 3. モジュール リストを再生成
php bin/console prestashop:module:reset omise
# 4. 必要に応じて再インストール
php bin/console prestashop:module:uninstall omise
php bin/console prestashop:module:install omise
# 5. エラー ログを確認
tail -f var/logs/$(date +%Y%m%d)_*.log
支払いが失敗
問題: 支払いが正常に完了していない
診断ステップ:
- API キーを確認
// 接続をテスト
curl https://api.omise.co/account \
-u skey_test_YOUR_KEY:
// アカウント詳細を返す必要があります
- 環境設定を確認
モジュール設定:
- 環境: API キーと一致する必要があります
- サンドボックス = pkey_test_* / skey_test_*
- 本番 = pkey_live_* / skey_live_*
- 支払い方法ステータスを確認
ダッシュボード → 設定 → 決済方法
- 決済方法が有効化されていることを確認
- 地域/通貨の制限が適用されているかを確認
- ログを確認
# PrestaShop エラー ログ
tail -f var/logs/$(date +%Y%m%d)_*.log | grep omise
# PHP エラー ログ
tail -f /var/log/php_errors.log
# Apache/Nginx エラー ログ
tail -f /var/log/apache2/error.log # または
tail -f /var/log/nginx/error.log