2016-03-20 3 views
0

Ich bin mit Authorize.net XML-Klasse von:Der Versuch, Authorize.net XML zu erhalten Arbeit von John Conde Klasse

https://github.com/stymiee/Authorize.Net-XML

Aber ich erhalte den folgenden Fehler:

Fatal error: Uncaught exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed' in [no active file]:0 Stack trace: #0 {main} thrown in [no active file] on line 0

I Ich weiß, ich muss eine (Zeichenfolge) etwas in die Klasse setzen, damit es funktioniert, glaube ich.

Dies ist mein PHP-Code, nachdem Zahlung vorgelegt:

if ($xml->messages->resultCode == 'Ok' && $xml->isSuccessful()) { 
    $_SESSION['transID'] = $xml->transactionResponse->transId; 
} else { 
    $_SESSION['ErrorMSGTXT'] = $xml->messages->message->text; 
    $_SESSION['ErrorERRORTXT'] = $xml->transactionResponse->errors->error->errorText; 
    exit(); 
} 

Antwort

1

Sie versuchen, eine Instanz von SimpleXMLElement zu _SESSION zuzuweisen. SimpleXMLELement "hat" eine serialize-Methode, die nur die Ausnahme auslöst, die Sie haben.
Anstatt die Instanz selbst persistent zu machen, möchten Sie wahrscheinlich nur die Zeichenfolgendarstellung dieses Knotens speichern (z. B. durch casting it to string).

if ($xml->messages->resultCode == 'Ok' && $xml->isSuccessful()) { 
    $_SESSION['transID'] = (string)$xml->transactionResponse->transId; 
} else { 
    $_SESSION['ErrorMSGTXT'] = (string)$xml->messages->message->text; 
    $_SESSION['ErrorERRORTXT'] = (string)$xml->transactionResponse->errors->error->errorText; 
    exit(); 
} 
Verwandte Themen