如何在没有框架的情况下使用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;
}
我在 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;
}