我在让authorize.net工作时遇到问题。我觉得我错过了什么,但不确定它是什么。我在网站上按照本指南进行操作:http://developer.authorize.net/hello_world/我相信我的作曲家设置正确,但是当我运行示例代码时出现错误
致命错误:在/ home / admin / web / ***** / public_html / pricing / vendor / authorizenet / authorizenet / lib / net /中找不到类'Goetas \ Xsd \ XsdToPhp \ Jms \ Handler \ BaseTypesHandler'在第82行授权/ api / controller / base / ApiOperationBase.php
注意:“/ web /”之后的位置中的星标是为了隐藏出于安全原因列出的域名。
我有什么方法可以让它发挥作用?
有没有人有分步指南将authorize.net集成到自定义构建的平台?我们只是试图发送充值卡所需的基本信息并收到回复。
答案 0 :(得分:-1)
对于试图将authorize.net快速集成到付费系统或网站时遇到问题的任何人。下面是我用来构建/定制的代码,以使其工作。除非您要创建一个完全集成的系统,否则不需要该框架,该系统未在网站上明确指出。您显然将不得不进一步扩展此代码,但这应该是任何人需要快速集成到授权中。
$params = array(
'x_invoice_num' => 'test',
'x_amount' => '5',
'x_exp_date' => '1202',
'x_address' => 'test',
'x_zip' => '12345',
'x_first_name' => 'test',
'x_last_name' => 'test',
'x_relay_response' => false,
'x_type' => 'AUTH_CAPTURE',
'x_method' => 'CC',
'x_login' => 'yourlogin code goes here',
'x_tran_key' => 'your trans key goes here',
'x_card_num' => '4111111111111111',
'x_card_code' => '143',
'x_delim_data' => true,
'x_delim_char' => '|',
'x_relay_response' => false
);
$postString = '';
foreach ($params as $key => $value)
$postString .= $key.'='.urlencode($value).'&';
$postString = trim($postString, '&');
$url = 'https://secure.authorize.net/gateway/transact.dll';
$request = curl_init($url);
curl_setopt($request, CURLOPT_HEADER, 0);
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($request, CURLOPT_POSTFIELDS, $postString);
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($request, CURLOPT_SSL_VERIFYHOST, false);
$postResponse = curl_exec($request);
curl_close($request);
print_r($postResponse);
$response = explode('|', $postResponse);
if (!isset($response[7]) || !isset($response[3]) || !isset($response[9]))
{
$msg = 'Authorize.net returned a malformed response for cart';
if (isset($response[7]))
$msg .= ' '.(int)$response[7];
die('Authorize.net returned a malformed response, aborted.');
}
$message = $response[3];
switch ($response[0]) // Response code
{
case 1: // Payment accepted
print_r($response[1]);
break ;
case 4: // Hold for review
print_r($response[4]);
break ;
default:
echo $message;
exit;
}