Last active
March 10, 2025 17:09
-
-
Save joseconti/f381d9fd2fcd1e975d80ebc6ab64d0d0 to your computer and use it in GitHub Desktop.
Cambiar terminal dependiendo de la moneda.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_filter( 'redsys_modify_data_to_send', 'datos_modificados_por_moneda_en_redsys' ); | |
/** | |
* Modifica los datos enviados a Redsys dependiendo de la moneda del pedido. | |
* | |
* @param array $redsys_data_send Datos que se enviarán a Redsys. | |
* @return array Datos modificados según la moneda de la orden. | |
*/ | |
function datos_modificados_por_moneda_en_redsys( $redsys_data_send ) { | |
// Obtener la moneda de la orden en código numérico de Redsys | |
$currency = $redsys_data_send['currency']; | |
// Configuración de terminales según la moneda | |
$terminales = array( | |
'484' => array( // COP - Peso Colombiano | |
'customer' => 'XXXXXXXXXXXXX', | |
'DSMerchantTerminal' => 'X', | |
'secretsha256' => 'XXXXXXXXXXXXXXXXXXXXXXX', | |
), | |
'840' => array( // USD - Dólar Americano | |
'customer' => 'YYYYYYYYYYYYY', | |
'DSMerchantTerminal' => 'Y', | |
'secretsha256' => 'YYYYYYYYYYYYYYYYYYYYYYY', | |
), | |
'978' => array( // EUR - Euro | |
'customer' => 'ZZZZZZZZZZZZZ', | |
'DSMerchantTerminal' => 'Z', | |
'secretsha256' => 'ZZZZZZZZZZZZZZZZZZZZZZZ', | |
), | |
); | |
// Asignar los datos según la moneda | |
if ( isset( $terminales[ $currency ] ) ) { | |
$redsys_data_send['customer'] = $terminales[ $currency ]['customer']; | |
$redsys_data_send['DSMerchantTerminal'] = $terminales[ $currency ]['DSMerchantTerminal']; | |
$redsys_data_send['secretsha256'] = $terminales[ $currency ]['secretsha256']; | |
} | |
return $redsys_data_send; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment