试图从John Conde Class获取Authorize.net XML

时间:2016-03-20 09:36:11

标签: php xml curl authorize.net

我使用的是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();
}

1 个答案:

答案 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();
}