2016-05-05 14 views
2

私はauthorize.netのWebサイトからPHPのサンプルを使用していますが、動作させることはできません。私は既にベンダーのソフトウェアと更新された作曲家をすべてダウンロードしました。私は同じエラーを取得しておくphplogでPHP APIの承認チャージクレジットカードの例で空のレスポンスが返される

は:

<code>E00045</code> 
<text>The root node does not reference a valid XML namespace.</text> 
</message></messages></ErrorResponse> 

作曲エラーを更新したら、もはや記録されませんされています。

マイPHP:

 
require("anetsdkphp/autoload.php"); 
$logName = "MYAUTHKEY"; 
$transKey = "MYTRANSKEY"; 
use net\authorize\api\contract\v1 as AnetAPI; 
use net\authorize\api\controller as AnetController; 
define("AUTHORIZENET_LOG_FILE", "phplog"); 
function chargeCreditCard($amount){ 
     // Common setup for API credentials 
     $merchantAuthentication = new AnetAPI\MerchantAuthenticationType(); 
     $merchantAuthentication->setName($logName); 
     $merchantAuthentication->setTransactionKey($transKey); 
     $refId = 'ref' . time(); 
     // Create the payment data for a credit card 
     $creditCard = new AnetAPI\CreditCardType(); 
     $creditCard->setCardNumber(4111111111111111); 
     $creditCard->setExpirationDate(1238); 
     $paymentOne = new AnetAPI\PaymentType(); 
     $paymentOne->setCreditCard($creditCard); 
     //create a transaction 
     $transactionRequestType = new AnetAPI\TransactionRequestType(); 
     $transactionRequestType->setTransactionType("authCaptureTransaction"); 
     $transactionRequestType->setAmount($amount); 
     $transactionRequestType->setPayment($paymentOne); 
     $request = new AnetAPI\CreateTransactionRequest(); 
     $request->setMerchantAuthentication($merchantAuthentication); 
     $request->setRefId($refId); 
     $request->setTransactionRequest($transactionRequestType); 
     $controller = new AnetController\CreateTransactionController($request); 
     $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX); 

     #$result = str_replace(' xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"', 
'', $result); 

     if ($response != null) 
     { 
     $tresponse = $response->getTransactionResponse(); 
     if (($tresponse != null) && ($tresponse->getResponseCode()=="1")) 
     { 
      echo "Charge Credit Card AUTH CODE : " . $tresponse->getAuthCode() . "\n"; 
      echo "Charge Credit Card TRANS ID : " . $tresponse->getTransId() . "\n"; 
      echo $tresponse->getResponseCode(); 
     } 
     else 
     { 
      echo "Charge Credit Card ERROR : Invalid response\n"; 
      var_dump("$tresponse"); 
     } 

     } 
     else 
     { 
     echo "Charge Credit card Null response returned"; 
     } 
    } 
chargeCreditCard(55.00); 

応答:事前に非常に

Charge Credit Card ERROR : Invalid response

ありがとう:

Charge Credit Card ERROR : Invalid response(0)
レスポンス作曲を更新した後!

答えて

1

あなたのメッセージは少し古く、私は解決されていると確信しています。しかし、問題はほとんど間違いなくあなたの入力データです。この回答は非常に曖昧であり、必ずしも解決策を提供するとは限りませんが、原因を特定するのに役立ちます。

print_r($response)

次のオブジェクト表現が表示されます。

[messages:net\authorize\api\contract\v1\ANetApiResponseType:private] => net\authorize\api\contract\v1\MessagesType Object ( [resultCode:net\authorize\api\contract\v1\MessagesType:private] => Error [message:net\authorize\api\contract\v1\MessagesType:private] => Array ( [0] => net\authorize\api\contract\v1\MessagesType\MessageAType Object ( [code:net\authorize\api\contract\v1\MessagesType\MessageAType:private] => ERROR_CODE_IS_HERE [text:net\authorize\api\contract\v1\MessagesType\MessageAType:private] => ERROR_MESSAGE_IS_HERE)

+0

私が移動している間、ねえステファンが、応答は常に設定されますが、空にされました。 – Tzshand

関連する問題