質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

1回答

1095閲覧

EC-CUBE3.0でGMOイプシロンの決済を行うと「システムエラーが発生しました。注文情報の商品名の形式が異常です。」とエラーが出てしまう

wpci

総合スコア7

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

0クリップ

投稿2022/10/15 11:07

編集2022/10/15 11:14

概要

EC-CUBE3.0でGMOイプシロンの決済を行うと「システムエラーが発生しました。注文情報の商品名の形式が異常です。」とエラーが出てしまいます。

イプシロン決済システムの仕様では商品名が「64バイト以下」という制限があるようです。

  • イプシロン決済プラグイン(3.0系) バージョン 1.0.5

実現したいこと

プラグインをカスタマイズし、イプシロンにデータを送信したい。

商品名が長いためにこのようなエラーが出ていることは分かったのですが、書き換える場所と変更方法がわかりません。
お詳しい方、ご教示お願い致します。

該当と思われるソースコード

app/Plugin/EccubePaymentLite3/Service/Client/GmoEpsilon_Base.php

php

1 /** 2 * リクエストパラメータを設定 3 * 4 * @param Order $Order 5 * @param PaymentExtension 6 * @return array 7 */ 8 function setParameter($Order, $PaymentExtension) 9 { 10 $cartItems = array(); 11 $cartItems = $this->app['eccube.service.cart']->getCart()->getCartItems(); 12 13 $objPlugin =& PluginUtil::getInstance($this->app); 14 $Customer = $Order->getCustomer(); 15 $user_id = is_null($Customer) ? 'non_customer' : $Customer->getId(); 16 17 $itemInfo = $this->getItemInfo(); 18 19 $mission_code = $PaymentExtension->getMissionCode(); 20 if (is_null($mission_code)) { 21 $mission_code = 1; 22 } else { 23 // 定期購入・非会員の場合、空文字に置き換え 24 $user_id = $user_id == 'non_customer' ? '' : $user_id; 25 } 26 27 // 送信データを作成 28 $arrResult = array( 29 'contract_code' => $objPlugin->getSubData('contract_code'), 30 'user_id' => $user_id, // ユーザID 31 'user_name' => $Order->getName01().$Order->getName02(), // ユーザ名 32 'user_mail_add' => $Order->getEmail(), // メールアドレス 33 'order_number' => $Order->getId(), // オーダー番号 34 'item_code' => $itemInfo['item_code'], // 商品コード(代表) 35 'item_name' => $itemInfo['item_name'], // 商品名(代表) 36 'item_price' => $Order->getPaymentTotal(), // 商品価格(税込み総額) 37 'st_code' => $PaymentExtension->getStCode(), // 決済区分 38 'mission_code' => $mission_code, // 課金区分(固定) 39 'process_code' => '1', // 処理区分(固定) 40 'xml' => '1', // 応答形式(固定) 41 'memo1' => "", // 予備01 42 'memo2' => "EC-CUBE3_" . date("YmdHis"), // 予備02 43 'delivery_id' => '99', 44 'version' => '1', 45 ); 46 47 return $arrResult; 48 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

'item_name' => $itemInfo['item_name'], のところでmb_strcutなどを使って64バイト以下で文字を切り詰めてください。

投稿2024/07/09 10:28

U-Mebius

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問