Sandbox Redsys para integradores
Gera o Ds_MerchantParameters do teu pedido, verifica que os campos cumprem o formato exigido pela Redsys e tem à mão os cartões do ambiente de testes. Tudo no navegador: não enviamos nada para nenhum servidor.
Parâmetros do pedido
Em euros. A Redsys espera cêntimos; a conversão fazemo-la nós.
Entre 4 e 12 caracteres. Os 4 primeiros têm de ser numéricos.
Parâmetros válidos
JSON antes de codificar
{
"DS_MERCHANT_AMOUNT": "1000",
"DS_MERCHANT_ORDER": "1234TEST",
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_TRANSACTIONTYPE": "0",
"DS_MERCHANT_TERMINAL": "1",
"DS_MERCHANT_MERCHANTURL": "https://ejemplo.com/api/redsys/notificacion",
"DS_MERCHANT_URLOK": "https://ejemplo.com/pago/ok",
"DS_MERCHANT_URLKO": "https://ejemplo.com/pago/ko"
}Ds_MerchantParameters
eyJEU19NRVJDSEFOVF9BTU9VTlQiOiIxMDAwIiwiRFNfTUVSQ0hBTlRfT1JERVIiOiIxMjM0VEVTVCIsIkRTX01FUkNIQU5UX01FUkNIQU5UQ09ERSI6Ijk5OTAwODg4MSIsIkRTX01FUkNIQU5UX0NVUlJFTkNZIjoiOTc4IiwiRFNfTUVSQ0hBTlRfVFJBTlNBQ1RJT05UWVBFIjoiMCIsIkRTX01FUkNIQU5UX1RFUk1JTkFMIjoiMSIsIkRTX01FUkNIQU5UX01FUkNIQU5UVVJMIjoiaHR0cHM6Ly9lamVtcGxvLmNvbS9hcGkvcmVkc3lzL25vdGlmaWNhY2lvbiIsIkRTX01FUkNIQU5UX1VSTE9LIjoiaHR0cHM6Ly9lamVtcGxvLmNvbS9wYWdvL29rIiwiRFNfTUVSQ0hBTlRfVVJMS08iOiJodHRwczovL2VqZW1wbG8uY29tL3BhZ28va28ifQ==A assinatura calcula-se no servidor
Esta ferramenta gera apenas Ds_MerchantParameters, que é JSON codificado em Base64 e não leva segredos. O Ds_Signature calcula-se derivando uma chave por pedido (3DES sobre o número do pedido com a sua chave de comerciante) e assinando com HMAC-SHA256. Essa chave nunca deve chegar ao navegador: se a incluir no frontend, qualquer pessoa pode assinar pagamentos em seu nome. Faça sempre esse passo no backend.
Cartões do ambiente de testes
| Número | Validade | CVV | CIP (3DS) | Nota |
|---|---|---|---|---|
| 4548 8120 4940 0004 | 12/34 | 123 | 123456 | Cartão padrão autenticado com 3DS |
Como se usa
Preenche os dados do pedido
Montante, número do pedido, código de comerciante e terminal. A ferramenta valida o formato enquanto escreves: o número do pedido, por exemplo, tem de começar por quatro dígitos e não passar de doze caracteres.
Copia o Ds_MerchantParameters
É o JSON da operação codificado em Base64. Esse valor vai tal como está no formulário que envias para o TPV virtual.
Calcula a assinatura no teu backend
O Ds_Signature precisa da tua chave de comerciante e nunca deve ser calculado no navegador. Deriva a chave do pedido com 3DES e assina com HMAC-SHA256 a partir do teu servidor.
Testa com os cartões de teste
Usa o cartão do ambiente de testes contra o endpoint sis-t.redsys.es antes de mexer em produção.
Perguntas frequentes
Esta ferramenta envia os meus dados para algum lado?
Não. Todo o cálculo acontece no teu navegador. Não há pedidos a servidores nem armazenamento do que escreves.
Porque não calcula o Ds_Signature?
Porque para assinar é precisa a chave secreta do teu comércio. Se essa chave chegasse ao navegador, qualquer pessoa poderia inspecioná-la e assinar pagamentos em teu nome. A assinatura calcula-se sempre no backend.
Qual é o cartão de teste da Redsys?
O mais habitual do ambiente de teste é o 4548 8120 4940 0004, com qualquer data de validade futura, CVV 123 e código de autenticação 123456 quando o fluxo pede 3D Secure. A lista atual e completa está no portal de programadores da Redsys.
O montante vai em euros ou em cêntimos?
A Redsys espera o montante em cêntimos e sem separadores. Aqui escreve-lo em euros e a ferramenta faz a conversão ao gerar os parâmetros.
Também te pode interessar
Estás a integrar pagamentos e a complicar-se?
Já integrámos Redsys, Stripe e Adyen em ecommerce e marketplaces com casuísticas difíceis: pagamentos recorrentes, split de pagamentos, reconciliação e devoluções parciais. Se ficaste preso, conta-nos.