Importe 0 sin asignar
Closed this issue · 3 comments
Buenas tardes,
Estoy intentando implementar el pago con redsys en una pequeña aplicación hecha con Laravel, pero incluso con el entorno de TEST estoy teniendo problemas, al intentar hacer el pago, me aparece importe 0 sin asignar:
Esta es la llamada a su clase:
$key = config('redsys.key');
$display = false;
Redsys::setAmount(11.0);
Redsys::setOrder(time());
Redsys::setMerchantcode(config('redsys.merchantcode'));
Redsys::setCurrency('978');
Redsys::setTransactiontype('0');
Redsys::setTerminal('1');
Redsys::setMethod('T'); //Solo pago con tarjeta, no mostramos iupay
Redsys::setNotification(config('redsys.url_notification')); //Url de notificacion
Redsys::setUrlOk(config('redsys.url_ok')); //Url OK
Redsys::setUrlKo(config('redsys.url_ko')); //Url KO
Redsys::setVersion('HMAC_SHA256_V1');
Redsys::setTradeName(config('redsys.tradename'));
Redsys::setTitular(config('redsys.titular'));
Redsys::setProductDescription('Transfers');
Redsys::setEnviroment(config('redsys.environment')); //Entorno test
$signature = Redsys::generateMerchantSignature($key);
Redsys::setMerchantSignature($signature);
Redsys::setAttributesSubmit('btn_submit', 'btn_id', 'Enviar', 'display:none');
return Redsys::executeRedirection();
El archivo de configuración lo tengo así:
'key' => env('REDSYS_KEY', 'sq7HjrUOBfKmC576ILgskDsrU870gJ7'),
'url_notification' => env('REDSYS_URL_NOTIFICATION', 'http://example.com/redsys/notification'),
'url_ok' => env('REDSYS_URL_OK', 'http://example.com/redsys/notification'),
'url_ko' => env('REDSYS_URL_KO', 'http://example.com/redsys/notification'),
'merchantcode' => env('REDSYS_MERCHANT_CODE', '337001XXX'),
'terminal' => env('REDSYS_TERMINAL', '1'),
'environment' => env('REDSYS_ENVIROMENT', 'test'),
'tradename' => env('REDSYS_TRADENAME', 'Mi SL'),
'titular' => env('REDSYS_TITULAR', 'RAMON'),
Del método getParameters() obtengo:
array:13 [▼
"DS_MERCHANT_AMOUNT" => 1100
"DS_MERCHANT_ORDER" => "1548527841"
"DS_MERCHANT_MERCHANTCODE" => "337001XXX"
"DS_MERCHANT_CURRENCY" => "978"
"DS_MERCHANT_TRANSACTIONTYPE" => "0"
"DS_MERCHANT_TERMINAL" => "1"
"DS_MERCHANT_PAYMETHODS" => "T"
"DS_MERCHANT_MERCHANTURL" => "http://example.com/redsys/notification"
"DS_MERCHANT_URLOK" => "http://example.com/redsys/notification"
"DS_MERCHANT_URLKO" => "http://example.com/redsys/notification"
"DS_MERCHANT_MERCHANTNAME" => "Mi SL"
"DS_MERCHANT_TITULAR" => "RAMON"
"DS_MERCHANT_PRODUCTDESCRIPTION" => "Transfers"
]
He comprobado que en la variable $key está la clave de cifrado correcto.
Por si sirve de algo mi versión de PHP es:
php -v
PHP 7.2.13 (cli) (built: Dec 5 2018 07:34:22) ( ZTS MSVC15 (Visual C++ 2017) x86 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.7.0beta1, Copyright (c) 2002-2018, by Derick Rethans
Estoy haciendo algo mal?
Hola, parece ser que hay un error pero en el fuc, el banco ahora solicita un fuc real.
Mira aquí tratamos el tema: ssheduardo/sermepa#63
Que rápidez! 💯
Es extraño porque estoy usando el FUC que me proporcionó el cliente, lo revisaré con el a ver si me lo facilitó mal.
Sabes si el FUC de test es distinto que el de PRO para un cliente?
Muchas gracias
Confirmado con los datos de producción funciona, muchas gracias