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

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

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

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

Q&A

解決済

2回答

3011閲覧

Veritrans air 決済API インストール

Yumat

総合スコア11

PHP

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

0グッド

0クリップ

投稿2015/12/21 03:20

編集2015/12/21 09:13

Veritrans air (Air- direct)決済APIが正常に機能しません。
どなたか導入実績の有る方、
なぜ不具合が発生しているのかお分かりになるでしょうか?

Veritrans air (Air- direct)について。
https://www.veritrans.co.jp/developer/air/direct_index.html

特にカスタマイズなどしておりません。
下記より、Apiをダウンロードし、実装しましたが動作しませんでした。
https://github.com/VeriTransJapan/AirDirect-php

必要なライブラリーファイルの一覧。(PHPを使用します。)
Charges.php
ChargesParameter.php
Setting.php
CurlRequest.php
HttpRequestInterface.php
VtDirectException.php
VtDirectNetworkException.php

下記のようなコードを走らせています。
$setting = new \VtDirect\Client\Setting();

$setting->SetServerKey("aaaaaaaa-1111-ffff-bbbb-000000000000");

$input = new \VtDirect\Client\Request\ChargesParameter();

$input->order_id = "TEST0001";

$input->token_id = "1c0cc4c0-9973-40db-bf81-8caf5349037d-411111-1111";

$input->gross_amount = 1980;

$charges = new \VtDirect\Client\Charges($setting);

$response = $charges->ChargeWithToken($input);

問題点は、下記の2つのvalueがありますが、
$setting->SetServerKey("aaaaaaaa-1111-ffff-bbbb-000000000000");
$input->token_id = "1c0cc4c0-9973-40db-bf81-8caf5349037d-411111-1111"


これらを弊社で取得済みのkeyに置き換えるとエラーが出ます。
取得済みのClient Key と Server Key に不備はなく有効なものでした。
(サポートセンターに問い合わせ済み)

下記のアドレスにて、
問題を発見し易くするために、ホームページから切り離して、
純粋に決済画面だけを構築してテストしております。
http://developer.rockinghorseinc.net/ajay/AirDirect-php-master/test/mytest/test1.php

エラーの内容は以下となります。
mod_fcgid: stderr: PHP Warning: require_once(/AirDirect-php-master/test/mytest\..\..\lib\Tokens.php): failed to open stream: No such file or directory in /AirDirect-php-master/test/mytest/demo1.php on line 7, referer: /AirDirect-php-master/test/mytest/test1.php

ファイルのパーミッションに問題はありません。

問題がお分かりになる方がおられましたら
ご教授いただけますでしょうか?
宜しくお願い致します。

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

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

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

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

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

hyper-drums-ko

2015/12/21 05:16

> これらを弊社で取得済みのコードに置き換えるとエラーが出ます。 どのようなエラーが出ているのでしょうか?
Yumat

2015/12/21 09:15

ご返信いただきありがとうございます。 エラー内容は 「file, directoryが見当たりません」という内容ですが、テストキーで走らせると正常に決済ができるのたで、原因がつかめません。
guest

回答2

0

ベストアンサー

ディレクトリのパス文字を

PHP

1require_once __DIR__ . '/../../lib/Tokens.php';

のように変更しても結果は同じでしょうか。

投稿2015/12/24 07:19

hyper-drums-ko

総合スコア736

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

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

Yumat

2015/12/27 10:39

hyper-drums-ko様 ご指摘いただいた通りにパス文字を変更しましたところ、 正常に決済ができるようになりました!! 大変感謝しております、 ありがとうございます。 veritransのサポートにも問い合わせしていましたが、 原因解決につながる有効な情報は一切得られず、 サポート対応が最悪でしたので非常に困っておりました。 これはオリジナルファイルの記述を変更しなければ 動作しないということなのであれば、 veritransは一体なぜこれを放置しているのか、 分かりません。 いずれにしましても今回は 貴重なお時間と知恵をおかりし、 解決にいたりましたこと、 重ねて感謝申し上げます。 ありがとうございました。
guest

0

これが全ての原因だと思うのですが。。。

mod_fcgid: stderr: PHP Warning: require_once(/AirDirect-php-master/test/mytest\\..\\..\\lib\\Tokens.php): failed to open stream: No such file or directory

/AirDirect-php-master/lib ディレクトリに Tokens.php というファイルは存在するでしょうか?

投稿2015/12/21 09:18

hyper-drums-ko

総合スコア736

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

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

Yumat

2015/12/21 09:34

はい、/AirDirect-php-master/lib ディレクトリに、Tokens.phpというファイルは存在します。またこのファイルのパーミッションも755となっています。 なぜ、ファイルが見つからないとなってしまうのでしょうか?
hyper-drums-ko

2015/12/21 12:50

demo1.php のソースを拝見することは可能でしょうか(最初の15行目までぐらいで結構です)。 また、サーバのOSはWindowsでしょうか?
Yumat

2015/12/24 06:50

hyper-drums-ko様 ご連絡いただいたのにもかかわらず、返信が遅くなってしまい 申し訳ございませんでした。 下記にdemo1.phpのソースをコピー致します。 ご教授いただけますと幸いです。 宜しくお願い致します。 <?php use VtDirect\Client\VtDirectException; use VtDirect\Client\VtDirectNetworkException; require_once __DIR__ . '\..\..\lib\Tokens.php'; require_once __DIR__ . '\..\..\lib\Charges.php'; require_once __DIR__ . '\..\..\lib\ReCharges.php'; require_once __DIR__ . '\..\..\lib\Status.php'; require_once __DIR__ . '\..\..\lib\Capture.php'; require_once __DIR__ . '\..\..\lib\Void.php'; require_once __DIR__ . '\..\..\lib\Cvs.php'; require_once __DIR__ . '\..\..\lib\CreditCardList.php'; require_once __DIR__ . '\..\..\lib\CreditCardDestroy.php'; require_once __DIR__ . '\..\..\lib\Request\TokensParameter.php'; require_once __DIR__ . '\..\..\lib\Request\ChargesParameter.php'; require_once __DIR__ . '\..\..\lib\Request\ReChargesParameter.php'; require_once __DIR__ . '\..\..\lib\Request\StatusParameter.php'; require_once __DIR__ . '\..\..\lib\Request\CaptureParameter.php'; require_once __DIR__ . '\..\..\lib\Request\VoidParameter.php'; require_once __DIR__ . '\..\..\lib\Request\CvsParameter.php'; require_once __DIR__ . '\..\..\lib\Request\CreditCardListParameter.php'; require_once __DIR__ . '\..\..\lib\Request\CreditCardDestroyParameter.php'; require_once __DIR__ . '\..\..\lib\Setting.php'; require_once __DIR__ . '\..\..\lib\CurlRequest.php'; require_once __DIR__ . '\..\..\lib\HttpRequestInterface.php'; require_once __DIR__ . '\..\..\lib\VtDirectException.php'; require_once __DIR__ . '\..\..\lib\VtDirectNetworkException.php'; $setting = new \VtDirect\Client\Setting(); $setting->SetServerKey(“XXXX7806-5061-XXXX-XXXX-d2ffddfdXXXX”); $input = new \VtDirect\Client\Request\ChargesParameter(); $input->order_id = "TEST0001"; $input->token_id = $_POST['token_id']; $input->gross_amount = 1980; $charges = new \VtDirect\Client\Charges($setting); $response = $charges->ChargeWithToken($input); print_r ($response); ?>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問