我使用的是Authorize.net XML Class:
https://github.com/stymiee/Authorize.Net-XML
但是我收到以下错误:
致命错误:未捕获的异常'异常'通过消息'序列化' SimpleXMLElement'不允许'在[无活动文件]中:0堆栈跟踪:在第0行的[无活动文件]中抛出#0 {main}
我知道我需要在课堂上放一个(字符串)的东西才能让它相信。
付款提交后,这是我的PHP代码:
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();
}
答案 0 :(得分:1)
您正在尝试将SimpleXMLElement的实例分配给_SESSION。 SimpleXMLELement"有"一种serialize
方法,只会抛出您所得到的异常
您可能只想存储该节点的字符串表示(例如,通过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();
}