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;
}
なぜこの回答が下落しましたか? – DEVPROCB