Изменить ключ транзакции authorize.net динамически?

В настоящее время я создаю сайт электронной коммерции, который используется для 5 отдельных компаний, использующих woocommerce и authorize.net для оплаты.

Пока авторизация работает отлично для одного поставщика, проблема заключается в том, что как только я выбрал поставщика по местоположению, мне нужно изменить api_transaction_key а также api_login_id правильному поставщику до обработки платежа.

Я искал файлы в течение нескольких часов и не могу найти, где установлены ключ и идентификатор.

Может кто-нибудь помочь мне найти, где я могу перезаписать значения ключа и идентификатора на то, что мне нужно?
или было бы лучше создать новый платежный шлюз для каждого из поставщиков и скопировать все authorize.net информация о шлюзе кроме ключа и идентификатора?

-1

Решение

Этот ответ здесь, если кому-то интересно, как я смог сделать эту работу.
в платежном шлюзе Authorize.net вы найдете файл с именем

класс-туалет-авторизированный-нетто-МГК-api.php

и именно в функции построения этого файла ваш хук должен быть размещен.

public function __construct( $api_user_id, $api_transaction_key, $environment ) {
// File default code
}

Для этого необходимо поместить следующие три строки кода ДО кода файла по умолчанию

$custom_auth_info = apply_filters('get_custom_auth', $custom_auth_info );
$api_user_id = $custom_auth_info['api_user_id'];
$api_transaction_key = $custom_auth_info['api_transaction_key'];

Apply_filters ссылается на следующую функцию, которая находится в моем плагине

add_filter('get_custom_auth', 'select_distributor_by_state');

function select_distributor_by_state($custom_auth_info = []) {
global $wpdb;

//Your Query is here to select the proper distributor from the DB
//and retrieve their custom Authorize.net ID and Transaction Key

$custom_auth_info['api_user_id'] = $your_query[0]['api_loginid'];
$custom_auth_info['api_transaction_key'] = $your_query[0]['api_transactionkey'];
$_SESSION['dealer'] = $vendor[0]['id'];
return $custom_auth_info;
}

Этот фильтр позволяет вам подключиться, получить нужные данные, затем вернуть их и применить непосредственно в коде до обработки платежа.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector