如何在没有框架的情况下使用authorize.net

How to use authorize.net without framework

我在 authorize.net 工作时遇到问题。我觉得我错过了什么,但不确定是什么。我在网站上遵循此指南:http://developer.authorize.net/hello_world/ 我相信我已经正确设置了作曲家,但是当我 运行 示例代码时我收到错误

Fatal error: Class 'Goetas\Xsd\XsdToPhp\Jms\Handler\BaseTypesHandler' not found in /home/admin/web/*****/public_html/pricing/vendor/authorizenet/authorizenet/lib/net/authorize/api/controller/base/ApiOperationBase.php on line 82

注意:出于安全原因,“/web/”后位置的星号用于隐藏列出的域。

知道如何让它工作吗?

有没有人有将 authorize.net 集成到定制构建平台的分步指南?我们只是尝试发送充值卡所需的基本信息并接收回复。

任何 运行 遇到问题的人 试图快速将 authorize.net 集成到他们的支付系统或网站中。下面是我用来 built/customized 来让它工作的代码。除非您正在创建一个完全集成的系统,否则不需要该框架,这在站点上没有明确说明。您显然必须进一步扩展此代码,但这应该是任何人都需要快速集成到授权中的内容。

$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;
}