我正在使用 Authorize.net 来自以下位置的XML类:
https://github.com/stymiee/Authorize.Net-XML
但是我收到以下错误:
致命错误:在 [无活动文件]中出现未捕获的异常"异常",并显示消息"不允许序列化'SimpleXMLElement':0堆栈跟踪:#0 {main} 在第 0 行抛出 [无活动文件]
我知道我需要在类中放一个(字符串)东西来让它工作,我相信。
这是我提交付款后的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();
}
您正在尝试将 SimpleXMLElement 的实例分配给_SESSION。SimpleXMLELement"有"一个serialize
的方法,它只是抛出你得到的异常。
与其持久化实例本身,您可能只想存储该节点的字符串表示形式(例如,将其转换为字符串)。
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();
}