Хорошие библиотеки PHP authorize.net

Я работаю над проектом PHP и ищу хороший шлюз authorize.net. Я хочу что-то со зрелым кодом, который протестирован. Цель состоит в том, чтобы не писать и тестировать всю вещь самостоятельно на основе api docs authorize.net.

Кто-нибудь знает какие-либо хорошие библиотеки PHP для этого? Я искал Google безрезультатно.

Authorize.net предоставляет собственный SDK для PHP и других языков . Вероятно, нет необходимости искать в другом месте.

Тебе повезло. Это то, что я использую (для SIM-шлюза):

include("../../simdata.php"); ... <!--form action="https://test.authorize.net/gateway/transact.dll" method="POST"--> <FORM action="https://secure.authorize.net/gateway/transact.dll" method="POST"> <? $x_description = "website.com"; $currency = ""; $tstamp = time(); // Seed random number for security and better randomness. srand(time()); $sequence = rand(1, 1000); $data = "$x_loginid^$sequence^$tstamp^$total^$currency"; #echo "data = $data\n"; #echo $x_tran_key; $fingerprint = bin2hex(mhash(MHASH_MD5, $data, $x_tran_key)); # php 5 only $fingerprint = hash_hmac("md5", $data, $x_tran_key); echo ("<input type='hidden' name='x_fp_sequence' value='" . $sequence . "'>\n" ); echo ("<input type='hidden' name='x_fp_timestamp' value='" . $tstamp . "'>\n" ); echo ("<input type='hidden' name='x_fp_hash' value='" . $fingerprint . "'>\n" ); echo ("<input type=\"hidden\" name=\"x_description\" value=\"" . $x_description . "\">\n" ); echo ("<input type=\"hidden\" name=\"x_login\" value=\"$x_loginid\">\n"); echo ("<input type=\"hidden\" name=\"x_amount\" value=\"$total\">\n"); ?> <input type="hidden" name="x_first_name" value="<?=firstName($_SESSION['user']['name'])?>"> <input type="hidden" name="x_last_name" value="<?=lastName($_SESSION['user']['name'])?>"> <input type="hidden" name="x_company" value="<?=$_SESSION['user']['company']?>"> <input type="hidden" name="x_address" value="<?=$_SESSION['user']['address']?>"> <input type="hidden" name="x_city" value="<?=$_SESSION['user']['city']?>"> <input type="hidden" name="x_state" value="<?=$_SESSION['user']['state']?>"> <input type="hidden" name="x_zip" value="<?=$_SESSION['user']['zip']?>"> <input type="hidden" name="x_phone" value="<?=$_SESSION['user']['phone']?>"> <input type="hidden" name="x_email" value="<?=$_SESSION['user']['email']?>"> <input type="hidden" name="x_cust_id" value="<?=$_SESSION['user']['username']?>"> <INPUT TYPE="HIDDEN" name="x_logo_url" VALUE= "http://img.ruphp.com/php/logo_99999.gif"> <INPUT type="hidden" name="x_show_form" value="PAYMENT_FORM"> <!--INPUT type="hidden" name="x_test_request" value="TRUE"--> <!--input type="hidden" name="x_receipt_link_method" value="POST"> <input type="hidden" name="x_receipt_link_text" value="Click for listings"> <input type="hidden" name="x_receipt_link_url" value="http://website.com/confirmation.php"--> <input type="hidden" name="x_relay_response" value="TRUE"> <input type="hidden" name="x_relay_url" value="http://website.com/confirmation.php"> <input type="hidden" name="<?=session_name()?>" value="<?=session_id()?>"> <input type="hidden" name="" value=""> <input type="hidden" name="" value=""> <input type="hidden" name="" value=""> <? if ($total==0) { ?> <a href="account.php">Your Account</a> <? } else { ?> <INPUT type="submit" value="Accept Order"> <? } ?> </form> 

И это то, что я использую для confirm.php

 include("../../simdata.php"); #print_r($_POST); // verify transaction comes from authorize.net and save user details $responseCode = $_POST['x_response_code']; if ( $responseCode == 1) { // approved $md5 = $_POST['x_MD5_Hash']; $transId = $_POST['x_trans_id']; $amount = $_POST['x_amount']; $myMD5 = strtoupper(md5("$x_tran_key$x_loginid$transId$amount")); #echo $myMD5; #print_r ($_POST); #print_r ($_SESSION['user']); if ($myMD5 == $md5) { // authenticated response from authorize.net ... } else { $error = "Unauthenticated response."; } } else if (isset($_POST['x_response_code'])) { // error $error = $_POST['x_response_reason_text'].", #".$_POST['x_response_code'].'.'.$_POST['x_response_subcode']. '.'.$_POST['x_response_reason_code']; } в include("../../simdata.php"); #print_r($_POST); // verify transaction comes from authorize.net and save user details $responseCode = $_POST['x_response_code']; if ( $responseCode == 1) { // approved $md5 = $_POST['x_MD5_Hash']; $transId = $_POST['x_trans_id']; $amount = $_POST['x_amount']; $myMD5 = strtoupper(md5("$x_tran_key$x_loginid$transId$amount")); #echo $myMD5; #print_r ($_POST); #print_r ($_SESSION['user']); if ($myMD5 == $md5) { // authenticated response from authorize.net ... } else { $error = "Unauthenticated response."; } } else if (isset($_POST['x_response_code'])) { // error $error = $_POST['x_response_reason_text'].", #".$_POST['x_response_code'].'.'.$_POST['x_response_subcode']. '.'.$_POST['x_response_reason_code']; } . include("../../simdata.php"); #print_r($_POST); // verify transaction comes from authorize.net and save user details $responseCode = $_POST['x_response_code']; if ( $responseCode == 1) { // approved $md5 = $_POST['x_MD5_Hash']; $transId = $_POST['x_trans_id']; $amount = $_POST['x_amount']; $myMD5 = strtoupper(md5("$x_tran_key$x_loginid$transId$amount")); #echo $myMD5; #print_r ($_POST); #print_r ($_SESSION['user']); if ($myMD5 == $md5) { // authenticated response from authorize.net ... } else { $error = "Unauthenticated response."; } } else if (isset($_POST['x_response_code'])) { // error $error = $_POST['x_response_reason_text'].", #".$_POST['x_response_code'].'.'.$_POST['x_response_subcode']. '.'.$_POST['x_response_reason_code']; } 

Метод формы – это небезопасный способ передачи этой информации. Лучшая ставка – использование метода API AIM.

Большой учебник можно найти здесь: http://www.johnconde.net/blog/tutorial-integrating-the-authorizenet-aim-api-with-php

Magento поддерживает Authorize.Net. Извлеките код, который вам нужен, так как Magento хорошо протестирован и содержит качественный код.

Я думаю, что simdata.php просто содержит данные транзакции … как сумма, имя человека и т. Д.

Джеймс Гиффорд создал некоторый код Authorize.net для codeigniter. Скачать здесь…

http://jamesgifford.com/programming/codeigniter-authorize-net-library/

Я использую php sdk, я получил прямо с сайта Authorize.nets dev …

http://developer.authorize.net/downloads/

это достойная библиотека для использования в CodeIgniter, но она может использоваться автономно:

http://code.google.com/p/authorizenetlib/downloads/detail?name=Authorize_net-1.0.php

кредит: james gifford для кода.

Я использовал модуль оплаты, включенный в Kohana 2.3.x, со встроенным драйвером Authorize.Net. http://docs.kohanaphp.com/addons/payment

http://www.micahcarrick.com/04-19-2005/php-authorizenet-aim-interfacing-class.html

Это класс, который я использую. Довольно простой в использовании. Вам все равно придется копаться в API, хотя, чтобы выяснить, какие переменные вы хотите отправить, а какие – нет.