Download the PHP package sermepa/sermepa without Composer

On this page you can find all versions of the php package sermepa/sermepa. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sermepa

Redsys

Latest Version on Packagist Total Downloads Run Tests


Visual Studio Code This project is friendly supported by Visual Studio Code!


Historia

Esta clase nace porque no encontraba una clase de pasarela de pagos (TPV) que se pueda integrar directamente en una web. Existen muchas pero para varios CMS y no me servían, solo quería montar algo fácil que pueda usar. Los ejemplos que vienen en la documentación oficial eran muy simples así que decidi realizar esta clase y ahora lo comparto con todos.

Válido para Sermepa y Redsys.

Introducción

La clase sermepa actualmente Redsys sirve para generar el formulario que se comunicará con la pasarela de pagos que usan muchos bancos, como Santander, Sabadell, Lacaixa, etc.

Es una versión que irá creciendo y actualizándose poco a poco y mejorándolo. Si lo usas en algún proyecto y te ayudo en algo no dudes en decírmelo

Requerimientos mínimos

PHP 5 >= 5.3.0, PHP 7.1, 8.0

Créditos

Clase creada por Eduardo Diaz, Madrid 2012 Twitter: @eduardo_dx

Actualización

Instalación

Si usas composer tienes 2 opciones

1.- Por línea de comandos

2.- Creas o agregas a tu archivo composer.json la siguiente dependencia:

Luego ejecutas:

composer update

Si en caso contrario no usas composer, bastará con clonar el repositorio

¿Cómo usar la clase?

Ejemplo:

Con esto generamos el form para la comunicación con la pasarela de pagos.

Nota

Con la integración del pago con referencia, ahora el importe puede ser 0. Según la documentación, si se quiere generar dicho identificador, se puede pasar el importe a 0 para obtener dicho valor, si en caso contrario no se utiliza el pago con referencia y se pasa el importe en 0, el banco nos mostrará un error.

Enviar datos de la tarjeta

Si queremos enviar los datos de la tarjeta para que no nos lo solicite la pasarela de pagos, podemos hacerlo de la siguiente forma.

Pago con referencia

Esta operativa nos permite guardar los datos de la tarjeta. SIS almacena la tarjeta y devuelve la referencia que deberá ser almacenada por el comercio.

Imaginemos que en el ejemplo anterior, queremos guardar los datos de la tarjeta, solo bastará con agregar el método setIdentifier(). Cuando se haga el llamado a la url de notificación, éste nos devolverá Ds_Merchant_Identifier y Ds_ExpiryDate.

Ahora bien, si queremos realizar otro cobro sin que nos pidan los datos de la tarjeta para ese mismo usuario, bastará con pasar el Ds_Merchant_Identifier anterior en el método setIdentifier().

Cada banco tiene un sistema de seguridad a través de un código de SMS, tarjeta de coordenadas, etc. que se mostrará para completar la transacción.

Si no queremos que nos muestre ninguna pantalla y directamente realice el pago debemos hacer uso del método setMerchantDirectPayment():

También podemos hacer los cobros recurrentes a traves de Rest.

Redirección automática

Podemos forzar la redirección sin pasar por el método createForm() (gracias a la colaboración de jaumecornado)

Este método llamaría a createForm() y lanzaría el submit por javascript.

Comprobación de Pago

Podemos comprobar si se ha realizado el pago correctamente (gracias a la colaboración de markitosgv). Para ello necesitamos setear la clave del banco y pasar la variable $_POST que nos devuelve en la URL de notificación o de retorno. Tener en cuenta que debemos realizar esta comprobación en la url de notificación. Por ejemplo, en el fichero que es llamado por la URL de retorno:

Nota

Por defecto se conecta por la pasarela de pruebas. Para cambiar a un entorno real, usar el método setEnvironment('live'), con esto ya estará activo.

Métodos útiles

Asignar parámetros

Este método recibe un array asociativo con los nuevos valores a asignar.

Ejemplo:

Asignar nombre a id y name del formulario

Cambiar el idioma de la pasarela de pago

Códigos de idiomas disponibles:

Asignar nombre, id, value y style (css) al botón submit

Si usáis redirección podéis ocultar el botón con display:none

Generar formulario

Obtener un array con todos los datos asignados

Por ejemplo, esto nos devuelve:

Array
(
    [DS_MERCHANT_AMOUNT] => 1700
    [DS_MERCHANT_ORDER] => 160224230429
    [DS_MERCHANT_MERCHANTCODE] => XXXXXX
    [DS_MERCHANT_CURRENCY] => 978
    [DS_MERCHANT_TRANSACTIONTYPE] => 0
    [DS_MERCHANT_TERMINAL] => 1
    [DS_MERCHANT_PAYMETHODS] => C
    [DS_MERCHANT_MERCHANTURL] => http://demo.com/notificacion.php
    [DS_MERCHANT_URLOK] => http://demo.com/accept
    [DS_MERCHANT_URLKO] => http://demo.com/cancel
    [DS_MERCHANT_MERCHANTNAME] => Tu empresa
    [DS_MERCHANT_TITULAR] => Usuario
    [DS_MERCHANT_PRODUCTDESCRIPTION] => Tu descripción
)

Obtener un array de los datos devueltos por Ds_MerchantParameters

Esto nos devuelve:

[Ds_Date] => 12/11/2015
[Ds_Hour] => 14:04
[Ds_SecurePayment] => 1
[Ds_Card_Number] => 454881******0004
[Ds_Card_Country] => 724
[Ds_Amount] => 7300
[Ds_Currency] => 978
[Ds_Order] => 1447333990
[Ds_MerchantCode] => 999008881
[Ds_Terminal] => 001
[Ds_Response] => 0000
[Ds_MerchantData] =>
[Ds_TransactionType] => 0
[Ds_ConsumerLanguage] => 1
[Ds_AuthorisationCode] => 906611

Obtener Versión

Devuelve el valor asignado en setVersion(), por ejemplo: HMAC_SHA256_V1;

Obtener MerchantSignature

Devuelve el valor asignado en setMerchantSignature(), por ejemplo: Cia90trhTPGxtJDmK6WDhqXzU+98LbuKZKAKYHMjtMs=

Change log

Please see CHANGELOG for more information about what has changed recently.

Licencia

The MIT License (MIT). Please see License File for more information.

Donación

¿Te gustaría apoyarme? ¿Aprecias mi trabajo? ¿Lo usas en proyectos comerciales?

¡Siéntete libre de hacer una pequeña donación! :wink:

paypal


All versions of sermepa with dependencies

PHP Build Version
Package Version
Requires php Version ^7.1.3|^7.2.5|^8.0|^8.1|^8.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sermepa/sermepa contains the following files

Loading the files please wait ....