Skip to content

Instantly share code, notes, and snippets.

@joseconti
Last active August 5, 2022 08:33
Show Gist options
  • Save joseconti/bb7d104128659a08dbf7be07d70fe059 to your computer and use it in GitHub Desktop.
Save joseconti/bb7d104128659a08dbf7be07d70fe059 to your computer and use it in GitHub Desktop.
Cambiar de terminal dependiendo de la categoría del producto en WooCommerce Redsys Gateway
<?php
// Filtro que solo funciona en el plugin premium WooCommerce Redsys Gateway https://woocommerce.com/products/redsys-gateway
add_filter( 'redsys_modify_data_to_send', 'datos_modificados_pasarela_pago_en_redsys' ); // Filtro para «Redsys redirección (por Jose Conti)»
function datos_modificados_pasarela_pago_en_redsys( $redsys_data_send ) {
$order_id = WCRed()->clean_order_number( $redsys_data_send['transaction_id2'] );
$order = new WC_Order( $order_id );
$items = $order->get_items();
foreach ( $items as $key => $item ) {
$product_id = $item['product_id'];
$terms = get_the_terms( $product_id, 'product_cat' );
foreach ( $terms as $term ) {
// Categories por slug
$product_cat_slug = $term->slug;
if ( 'categoria' === $product_cat_slug ) {
$redsys_data_send['customer'] = 'XXXXXXXXXXXXX';
$redsys_data_send['DSMerchantTerminal'] = 'X';
$redsys_data_send['secretsha256'] = 'XXXXXXXXXXXXXXXXXXXXXXX';
return $redsys_data_send;
}
if ( 'categoria-2' === $product_cat_slug ) {
$redsys_data_send['customer'] = 'XXXXXXXXXXXXX';
$redsys_data_send['DSMerchantTerminal'] = 'X';
$redsys_data_send['secretsha256'] = 'XXXXXXXXXXXXXXXXXXXXXXX';
return $redsys_data_send;
}
}
}
return $redsys_data_send;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment