动态更改 authorize.net 交易密钥?
Alter authorize.net transaction key dynamically?
我目前正在建立一个电子商务网站,供 5 个使用 woocommerce 的独立公司使用,authorize.net
用于付款。
到目前为止,授权对单个供应商来说效果很好,问题是一旦我按位置选择了供应商,我需要将 api_transaction_key
和 api_login_id
更改为正确的处理付款之前的供应商。
我已经搜索文件几个小时了,找不到设置密钥和 ID 的位置。
有人可以帮我找到可以将键值和 ID 值覆盖为我需要的值的地方吗?
或者为每个供应商创建一个新的支付网关并复制除密钥和 ID 之外的所有 authorize.net
网关信息会更好吗?
如果有人对我是如何做到这一点感到好奇的,这个答案就在这里。
在 Authorize.net woocommerce 支付网关中,您会找到一个名为
class-wc-authorize-net-cim-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;
}
此过滤器允许您挂钩,获取您需要的数据,然后 return 它并在处理付款之前将其直接应用到代码中。
我目前正在建立一个电子商务网站,供 5 个使用 woocommerce 的独立公司使用,authorize.net
用于付款。
到目前为止,授权对单个供应商来说效果很好,问题是一旦我按位置选择了供应商,我需要将 api_transaction_key
和 api_login_id
更改为正确的处理付款之前的供应商。
我已经搜索文件几个小时了,找不到设置密钥和 ID 的位置。
有人可以帮我找到可以将键值和 ID 值覆盖为我需要的值的地方吗?
或者为每个供应商创建一个新的支付网关并复制除密钥和 ID 之外的所有 authorize.net
网关信息会更好吗?
如果有人对我是如何做到这一点感到好奇的,这个答案就在这里。
在 Authorize.net woocommerce 支付网关中,您会找到一个名为
class-wc-authorize-net-cim-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;
}
此过滤器允许您挂钩,获取您需要的数据,然后 return 它并在处理付款之前将其直接应用到代码中。