Я пошел по ссылке для оплаты https://github.com/AuthorizeNet/sdk-php , но ответ «Ошибка аутентификации пользователя из-за недопустимых значений аутентификации». Код работает для разработчика, но он не работает для разработчика, но не работает для реальной учетной записи.Оплата с помощью authorize.net дает ошибку Ошибка аутентификации пользователя из-за недопустимых значений аутентификации
require 'authorizesdk/vendor/autoload.php';
use net\authorize\api\contract\v1 as AnetAPI;
use net\authorize\api\controller as AnetController;
define("AUTHORIZENET_LOG_FILE","phplog");
/** Make sure that the WordPress bootstrap has run before continuing. */
require(dirname(__FILE__) . '/wp-load.php');
global $wpdb;
if (is_user_logged_in()) {
$user_ID = get_current_user_id();
}
$creditcardno=$_POST['credit_card_number'];
$expdate=$_POST['year'].'-'.$_POST['month'];
$invoiceno=$_POST['x_invoice_num'];
$description=$_POST['x_description'];
$id=$_POST['x_id'];
$email=$_POST['x_email'];
//$creditcardno='';
//$expdate='16/06';
//$invoiceno=$_POST['x_invoice_num'];
//$description=$_POST['x_description'];
//$id=$_POST['x_id'];
//$email=$_POST['x_email'];
//44Wz7d8Zsr2F5zD6
// Common setup for API credentials
$merchantAuthentication = new AnetAPI\MerchantAuthenticationType();
$merchantAuthentication->setName("5Tb3S44sLp");
$merchantAuthentication->setTransactionKey("****");
$refId = 'ref' . time();
// Create the payment data for a credit card
$creditCard = new AnetAPI\CreditCardType();
$creditCard->setCardNumber($_POST['credit_card_number']);
$creditCard->setExpirationDate($expdate);
$paymentOne = new AnetAPI\PaymentType();
$paymentOne->setCreditCard($creditCard);
// Order info
$order = new AnetAPI\OrderType();
$order->setInvoiceNumber($invoiceno);
$order->setDescription($description);
// Customer info
$customer = new AnetAPI\CustomerDataType();
$customer->setId($id);
$customer->setEmail($mail);
// Bill To
$billto = new AnetAPI\CustomerAddressType();
$billto->setFirstName($_POST['credit_card_fname']);
$billto->setLastName($_POST['credit_card_lname']);
$billto->setCompany($_POST['x_company']);
$billto->setAddress($_POST['x_address']);
$billto->setCity($_POST['x_city']);
$billto->setState($_POST['x_state']);
$billto->setZip($_POST['x_zip']);
$billto->setCountry($_POST['x_country']);
// Create a transaction
$transactionRequestType = new AnetAPI\TransactionRequestType();
$transactionRequestType->setTransactionType("authCaptureTransaction");
// $transactionRequestType->setAmount($_POST['x_amount']);
$transactionRequestType->setAmount($_POST['x_amount']);
$transactionRequestType->setPayment($paymentOne);
$transactionRequestType->setOrder($order);
$transactionRequestType->setCustomer($customer);
$transactionRequestType->setBillTo($billto);
$request = new AnetAPI\CreateTransactionRequest();
$request->setMerchantAuthentication($merchantAuthentication);
$request->setRefId($refId);
$request->setTransactionRequest($transactionRequestType);
$controller = new AnetController\CreateTransactionController($request);
$response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX);
echo '<pre>';
var_dump($response);exit;
Есть ли что-то, что нам нужно для правильной настройки для реальной учетной записи.
Вы пытаетесь использовать учетные данные вашей песочницы на производстве? Если это так, это не сработает. – rhldr
нет нет Я изменил учетные данные для проживания –
Я бы предположил, что у вас есть правильный идентификатор входа в систему и код транзакции для производственной учетной записи. Если вам нужно создать новый ключ транзакции производства, вы должны сделать это в интерфейсе продавца на странице https://account.authorize.net – rhldr