-
-
Save joseconti/029ac40446f1f3303c7305c5c10ed2fc to your computer and use it in GitHub Desktop.
<?php | |
add_filter( 'redsys_modify_data_to_send', 'datos_modificados_pasarela_pago_en_redsys' ); // Filtro para «Redsys redirección (por Jose Conti)» | |
add_filter( 'bizum_modify_data_to_send', 'datos_modificados_pasarela_pago_en_redsys' ); // Filtro para «Bizum (por Jose Conti)» | |
function datos_modificados_pasarela_pago_en_redsys( $redsys_data_send ) { | |
$order_total_sign = $redsys_data_send['order_total_sign']; // Precio total | |
$terminal = $redsys_data_send['DSMerchantTerminal']; // Número de terminal | |
$currency = $redsys_data_send['currency']; // Moneda (código internacional numérico) | |
$transaction_id2 = $redsys_data_send['transaction_id2']; // Número de pedido | |
$transaction_type = $redsys_data_send['transaction_type']; // Tipo de transacción (código numérico Redsys) | |
$final_notify_url = $redsys_data_send['final_notify_url']; // URL de notificación de Redsys | |
$returnfromredsys = $redsys_data_send['returnfromredsys']; // Dónde debe volver el usaurio a la tienda desde Redsys | |
$gatewaylanguage = $redsys_data_send['gatewaylanguage']; // Idioma de Redsys | |
$secretsha256 = $redsys_data_send['secretsha256']; // SHA256 | |
$customer = $redsys_data_send['customer']; // FUC | |
$url_ok = $redsys_data_send['url_ok']; // Dirección dónde se enviará al cliente si la transacción en correcta (Thankyou Page) | |
$product_description = $redsys_data_send['product_description']; // Descripción del producto | |
$merchant_name = $redsys_data_send['merchant_name']; // Nombre del comercio | |
if ( $lo_que_sea ) { | |
// Aquí la magia y donde modificaremos los datos | |
} | |
$redsys_data_send['order_total_sign'] = $order_total_sign; | |
$redsys_data_send['DSMerchantTerminal'] = $terminal; | |
$redsys_data_send['currency'] = $currency; | |
$redsys_data_send['transaction_id2'] = $transaction_id2; | |
$redsys_data_send['transaction_type'] = $transaction_type; | |
$redsys_data_send['final_notify_url'] = $final_notify_url; | |
$redsys_data_send['returnfromredsys'] = $returnfromredsys; | |
$redsys_data_send['gatewaylanguage'] = $gatewaylanguage; | |
$redsys_data_send['secretsha256'] = $secretsha256; | |
$redsys_data_send['customer'] = $customer; | |
$redsys_data_send['url_ok'] = $url_ok; | |
$redsys_data_send['product_description'] = $product_description; | |
$redsys_data_send['merchant_name'] = $merchant_name; | |
return $redsys_data_send; | |
} |
First, you need this plugin https://woocommerce.com/es-es/products/redsys-gateway/
And second, the code has to be added to the theme's functions.php file or in a custom plugin.
Regards
José Conti
Hola. Necesito tener dos tpv diferentes configurados según la categoria de productos. Habia pensado en tener un tpv (cajamar) configurado por defecto, y el otro editarlo con el filtro que propones aquí para usarlo en (santander). Mi pregunta es.... ¿el tema de las devoluciones?, ¿si tengo que hacer una devolución de un pedido, la información del tpv se queda guardada en cada pedido y hara la devolución en el tpv correspondiente...? ¿o en este caso cogerá los datos generales por defecto, en este caso de cajamar?. Gracias.
Hola @daniel89fg,
Hay un bug por el que no se captura el FUC correcto, pero estoy arreglándolo ahora, arreglado este bug, sí, devolverá en el terminal correcto.
Saludos
Genial, eso se publicará en alguna actualización futura o es parte del código descrito en este página?
El código de esta página es correcto. El «problema» es en el endpoint y la llamada para las devoluciones.
El arreglo de lo anterior saldrá en una versión futura, seguramente la v15.2 @daniel89fg
Genial, pues quedo a la espera de ese arreglo :) ya tengo bien mis dos tpvs funcionando. Pero sin ese arreglo es un peligro ponerlo en producción. Gracias. Si puede cuando se lance la actualización, ¿podría comunicarlo por aquí?. Un saludo.
Si conectas la tienda a WooCommerce.com serás avisado y podrás actualizar de forma automática. O puedes apuntarte al grupo de Telegram https://t.me/wooredsys @daniel89fg
ok, gracias.
Hello.
I need add other TPV to my e-commerce in woocommerce and i show your post and yout code. How i can integrate it in my e-commerce¿?? this code should be write in functions.php or what should i do?
Thanks