2016-05-28 3 views
0

APIを使用してAuthorize.netからカスタムレポートを生成しようとしていますが、SDKをエラーなしでロードすることができません。Authorize.net PHP SDKのクラスがありません

開発ボードHEREに投稿を作成し、サポートチームに電子メールを送信しました。この問題は、一時的なパッチHEREで修正されていたはずです。しかし、エラーは持続する。

誰もこの問題を回避する方法について考えていますか?

マイコード:

<?php 
error_reporting(-1); ini_set('display_errors', 'On'); 
date_default_timezone_set('UTC'); 

/* autoload through composer */ 
//require 'vendor/autoload.php'; 

/* autoload through git clone */ 
//require 'git/sdk-php/autoload.php'; 

/* autoload through .zip download */ 
require 'download/sdk-php-master/autoload.php'; 

use net\authorize\api\contract\v1 as AnetAPI; 
use net\authorize\api\controller as AnetController; 

function getSettledBatchList($startDate, $endDate) { 
    $api_id   = "MY_API_ID"; 
    $account_key = "MY_ACCOUNT_KEY"; 
    $start_dt  = new DateTime($startDate); 
    $end_dt   = new DateTime($endDate); 

    $merchAuth  = new AnetAPI\MerchantAuthenticationType(); 
    $merchAuth->setName($api_id); 
    $merchAuth->setTransactionKey($account_key); 

    $request  = new AnetAPI\GetSettledBatchListRequest(); 
    $request->setMerchantAuthentication($merchAuth); 
    $request->setIncludeStatistics(true); 
    $request->setFirstSettlementDate($start_dt); 
    $request->setLastSettlementDate($end_dt); 

    $controller  = new AnetController\GetSettledBatchListController($request); 
    $response  = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX); 

    if(($response != null) && ($response->getMessages()->getResultCode() == "Ok")){ 
     /* Do Nothing For Now */ 
    }else{ 
     $errorMessages = $response->getMessages()->getMessage(); 
     echo "Response : " . $errorMessages[0]->getCode() . " " .$errorMessages[0]->getText() . "\n"; 
    } 
    return $response; 
} 

$api_response = getSettledBatchList('2016-05-01T00:00:00Z', '2016-05-10T00:00:00Z'); 
var_dump($api_response); 

?> 

エラー:

/* Loaded with git clone https://github.com/AuthorizeNet/sdk-php.git */ 

Warning: include(sdk-php/vendor/jms/serializer/src/JMS/Serializer/Annotation/Type.php): failed to open stream: No such file or directory in sdk-php/autoload.php on line 16 

Warning: include(): Failed opening '/sdk-php/vendor/jms/serializer/src/JMS/Serializer/Annotation/Type.php' for inclusion (include_path='.:') in sdk-php/autoload.php on line 16 

Fatal error: Class 'JMS\Serializer\Annotation\Type' not found in /sdk-php/lib/net/authorize/util/SensitiveDataConfigType.php on line 6 


/* Loaded by downloading .zip from github page */ 

Warning: include(/sdk-php-master/vendor/jms/serializer/src/JMS/Serializer/Annotation/Type.php): failed to open stream: No such file or directory in /sdk-php-master/autoload.php on line 16 

Warning: include(): Failed opening '/sdk-php-master/vendor/jms/serializer/src/JMS/Serializer/Annotation/Type.php' for inclusion (include_path='.:') in /sdk-php-master/autoload.php on line 16 

Fatal error: Class 'JMS\Serializer\Annotation\Type' not found in /sdk-php-master/lib/net/authorize/util/SensitiveDataConfigType.php on line 6 


/* Loaded with Composer using recommended composer.json */ 

Fatal error: Class 'Goetas\Xsd\XsdToPhp\Jms\Handler\BaseTypesHandler' not found in /vendor/authorizenet/authorizenet/lib/net/authorize/api/controller/base/ApiOperationBase.php on line 82 

が、私はこの時点で、すべてのアイデアを開いています。ありがとう!

答えて

0

シンプルミス。パッチは、必要な開発版Goetasを更新したcomposer.jsonファイルへのパッチでした。作曲家のアップデートを実行する前に私のcomposer.jsonを更新する必要があることを知らなかった。

Updated composer.json Language

0

私はちょうど同じ問題があったが、私はこの問題は、私が間違っautoload.phprequireを使用していたということであり、私はあなたがあまりにもそれをやっていると思うことに気づきました。

あなたはおそらく、今ではそれを考え出してきたが、場合には、他の誰かが、この問題は解決がこれですしています

あなたが必要/ vendorフォルダではなく、SDK内の1(ルート内だautoload.phpをロードする必要があります)フォルダー。

関連する問題