Todos los cambios notables a este proyecto serán documentados en este archivo.
El formato está basado en Keep a Changelog y este proyecto adhiere a Semantic Versioning.
- Se hace el downgrade a la versión del API 1.2
- Se eliminan los métodos 'increaseAmount', 'increaseAuthorizationDate', 'reversePreAuthorizedAmount', 'deferredCaptureHistory' a las versiones diferidas de WebpayPlus, WebpayPlus Mall, Oneclick Mall, Transaccion Completa y Transaccion Completa Mall
- Se elimina el campo 'captureExpirationDate'
- Se agrega un párametro al constructor de la clase
WebpayRequestException
- Se corrige el namespace en la clase
InscriptionStartException
- Se migra el API desde la versión 1.2 a la versión 1.3
- Se agrega los métodos 'increaseAmount', 'increaseAuthorizationDate', 'reversePreAuthorizedAmount', 'deferredCaptureHistory' a las versiones diferidas de WebpayPlus, WebpayPlus Mall, Oneclick Mall, Transaccion Completa y Transaccion Completa Mall
- Ahora los métodos status y commit de las versiones diferidas de WebpayPlus, WebpayPlus Mall, Transaccion Completa y Transaccion Completa Mall retornan el campo 'captureExpirationDate'. Para Oneclick Mall este campo también se agrega en los detalles de la autorización
- Se actualiza por seguridad las versiones minimas de la libreria 'guzzle' hacia '^5.3.1|^6.5.8|^7.4.5'
- Se arregla retorno de método isApproved cuando la respuesta de la API es null
- Se arregla retorno de método success en respuesta de reembolso en Webpay Plus
- Se arreglan llamadas a Guzzle en versión 5. PR #222
- Si no se puede obtener la versión instalada del paquete a través de composer, el proceso ya no lanza una excepción. PR #218
- Se arregla trailing comma al final de un método de Oneclick que provocaba problemas de compatibilidad con PHP 7.0 PR #216
- Se agrega validación al parámetro de los métodos
Webpay/WebpayPlus/Transaction::commit($token)
yWebpay/WebpayPlus/MallTransaction::commit($token)
para evitar que lleguen token nulos, vacíos o distintos a string, en caso de no cumplir lanza la excepciónInvalidArgumentException
.
- Se corrige parámetro de redirección
Webpay/Oneclick/Responses/InscriptionStartResponse::getRedirectUrl()
- Se reordena el código en la clase
Onepay/BaseRequest
, declarando los atributos "$apiKey" y "$appKey" como privados y se elimina el atributo "$generateOttQrCode" que ya existe en su clase hijaOnepay/BaseResponse
. - Se reordena el código de la clase
Onepay/BaseResponse
, declarando los atributos "$responseCode" y "$description" como privados. - Se reordena el código de la clase
Onepay/TransactionCreateRequest
, declarando los atributos "$issuedAt" y "$widthHeight" como privados. - Se corrige el nombramiento del constructor
TransbankException
y la invocación del constructor del padre. - Se corrige la invocación del constructor padre en las clases
Onepay/Exceptions/SignException
,Onepay/Exceptions/TransactionCommitException
,Onepay/Exceptions/TransactionCreateException
. - Se elimina la coma sobrante en los arrays y se corrige el uso de la función
join
en el tratamiento de errores de la claseOnepay/OnepayBase
. - Se corrige comentarios en la clase
Utils/HasTransactionStatus
- Se corrige el trait ConfiguresEnvironment
- Se arreglan URL de Transacción Completa con un
/
extra.
- Se arregla error cuando la clase 'InstalledVersion' de composer no existe
- Cambia self:: por static:: para mejorar extensión de clases a través de herencia.
- Se agrega campo CVV a creación de transacción completa mall
- Se mejora respuesta de Commit y Success de Transacción Completa
- Se define PHP 7.0 como versión mínima en composer.json
- Se elimina el uso de métodos estáticos, en reemplazo del manejo de instancias de cada clase, para mejorar el testing e implementar un mejor patrón de diseño del código. Más detalles aquí
- Se separa clase de Webpay Plus Mall. Ahora existe
WebpayPlus\Transaction
yWebpayPlus\MallTransaction
- Se mejoran los tests internos del código.
- Al no usar clases estáticas, permite mejorar la implementación de tests dentro del código donde se use, simulando el API de Transbank sin realizar las llamadas realmente (Mock)
- Todos los métodos apuntan a la versión 1.2 del API de Transbank, por lo que ahora las redirecciones de vuelta en el returnUrl serán por GET en vez de POST.
- Se mejoran los namespaces de las clases de respuesta que devuelven los métodos.
- Se optimiza y ordena mejor el código internamente.
- Se aplica coding style de StyleCI en todo el repositorio.
- Se eliminan y dependencias relacionadas a la API SOAP de Transbank.
- Se añade soporte para el producto "Webpay Modal".
- Los productos que devuelven transacciones del tipo Mall, ahora cada detalle es un objeto
TransactionDetail
en vez de un array. - Se crea interfaz que permite cambiar la implementación del HttpClient, en caso de no querer utilizar Guzzle.
- Se renombra en todos lados de
getStatus
a solostatus
en los métodos de los productos. - Ahora cada método si falla, llama a su propia excepción. Todas las excepciones relacionadas con unn falló en algún método y que el API responda con un error, heredan de la clase
WebpayRequestException
. - Ahora las excepciones contienen el detalle del request que se envió para poder "debugear" de mejor forma.
- Ahora cada excepción devuelve el mensaje de error más ordenado, con el detalle de la respuesta del API de Transbank.
- Se añade imagen al readme del proyecto PR 184
- Se deja de dar soporte a PHP 5.6.
- Se elimina el uso de métodos estáticos, en reemplazo de el manejo de instancias de cada clase, para mejorar el testing e implementar un mejor patrón de diseño del código. Más detalles aquí
- Se separa clase de Webpay Plus Mall. Ahora existe
WebpayPlus\Transaction
yWebpayPlus\MallTransaction
- Se mejoran los tests internos del código.
- El no uso de clases estáticas ahora permite mejorar la implementación de tests dentro del código donde se use, simulando el API de Transbank sin realizar las llamadas realmente (Mock)
- Todos los métodos apuntan a la versión 1.2 del API de Transbank, por lo que ahora las redirecciones de vuelta en el returnUrl serán por GET en vez de POST.
- Se mejoran los namespaces de las clases de Respuesta que devuelen los métodos.
- Se optimiza y ordena mejor el código internamente.
- Se aplica coding style de StyleCI en todo el respositorio.
- Se eliminan y dependencias relacionadas al API SOAP de Transbank.
- Se añade soporte para el producto "Webpay Modal".
- Los productos que devuelven transaciones del tipo Mall, ahora cada detalle es un objeto
TransactionDetail
en vez de un array. - Se crea interfaz que permite cambiar la implementación del HttpClient, en caso de no querer utilizar Guzzle.
- Se renombra en todos lados de
getStatus
a solostatus
en los métodos de los productos. - Ahora cada método si falla, llama a su propia excepción. Todas las exepciones relacionadas con unn falló en algún método y que el API responda con un error, heredan de la clase
WebpayRequestException
. - Ahora las excepciones contienen el detalle del request que se envió para poder "debugear" de mejor forma.
- Ahora cada excepción devuelve el mensaje de error más ordenado, con el detalle de la respuesta del API de Transbank.
- Se añade imagen al readme del proyecto PR 184
- Se deja de dar soporte a PHP 5.6.
- Se soluciona error de syntax en algunos archivos
- Se añade
TransaccionCompleta::configureMallForTesting()
- Se agrega soporte para Oneclick Mall Captura Diferida
- Se agrega helper para pasar a produccion Oneclick
Oneclick::configureForProduction($commerceCode, $apiKeySecret)
- El response code de la respuesta de una reversa en Oneclick ya no es ignorado por el SDK.
- Se agrega método helper
WebpayPlus::configureForProduction($commerceCode, $apiKeySecret)
PR #153 - Se añade travis para automatizar release en github - Se agrega método helper
WebpayPlus::configureForProduction($commerceCode, $apiKeySecret)
PR #147
- Se mejora el formato del código (PSR-2) PR #156
- Se mejora orden de archivos y carpetas para ser compatible con PSR-4 y evitar problema al instalar SDK usando composer2 PR #157
- Se resuelve error con parámetro
installments_number
que venía vacío al hacer uncommit
en Webpay Plus - Se agrega método helperWebpayPlus::configureForProduction($commerceCode, $apiKeySecret)
PR #150
- Ahora el SDK soporta tres versiones de Guzzle, para evitar conflictos de versiones: Guzzle 5.X, 6.X y 7.X. PR #144
- Se resuelve error de autoloading en clase TransaccionCompleta PR #142
- Se publican clases y métodos para integrar nueva API REST.
- Soluciona error que producía que la clase Oneclick (REST) no se encontrara PR #132
- Se actualizan dependencias PR #133
- Arreglo error que se ocasionaba al tratar de leer el serial number de un certificado usando PHP 5.6 PR #130
- Se arregló llamada a método de clase que había sido previamente eliminada
- Se arregló error de opciones por defecto en Oneclick Mall REST PR #123
- Se arregló forma en que se retornan los errores en Oneclick Mall REST PR #124
- Importante: se arregla error "For input string 0xAB" al user certificados generados con OpenSSL 1.1 PR #125
- Se agregaron validaciones numéricas y de decimales a Webpay Plus
init Transaction
PR #122
- Se agrega soporte a las versiones de guzzle superiores a >= 6 y < 7 [TransbankDevelopers#113].
- Se sube el soporte de la versión de php a 7.4 [TransbankDevelopers#117].
- Se crea el archivo security.md [TransbankDevelopers#115].
- La extensión SOAP de PHP es requerida [TransbankDevelopers#99].
- Se agrega soporte para Oneclick Mall y Transacción Completa en sus versiones REST.
- Se corrige utilización de puerto 80 en las peticiones SOAP.
- Se corrige asignación de certificado de Webpay cuando no es asignado en la configuración, se asigna automáticamente en base al entorno.
- Se elimina la condición de
VCI == "TSY" || VCI == ""
para evaluar la respuesta degetTransactionResult
debido a que esto podría traer problemas con transacciones usando tarjetas internacionales.
- Se agrega soporte para poder configurar
$commerceLogoUrl
y$qrWidthHeight
. El primero entrega soporte para que el app de onepay pueda mostrar el logo de comercio, mientras que el segundo entrega la posibilidad de pedir que la imagen QR venga en un tamaño especifico (útil para la modalidad de QR directo.)
- Se corrige un problema con los nombres de archivos de varias clases que provocaba errores principalmente en Linux. Esto corrige además el problema reportado con Larabel.
- Se actualiza certificado de producción requerido para que webpay funcione correctamente.
- Soporte PHP 7+ para Webpay.
- Se estaba usando buy order como monto y monto como buy order en webpay mall normal.
- Se corrige carga de extensiones en Onepay, no requiere tener extensiones que usa Webpay SOAP.
- Incorpora soporte Webpay SOAP en PHP 5.x (No soporta PHP 7 aún)
- El carro de compras soporta agregar items con valores negativos. Útil en caso de necesitar incluir descuentos.
- Se corrige el orden de clases cargadas en el archivo init.php para ser usado sin problemas cuando no se usa composer.
OnepayRequestBuilder::buildOptions
no setea el appKey correcto en caso que se entregue como base unoptions
nulo. Se corrige este error seteando en el constructor deoptions
el appKey correcto en vez de dejarlo null.
- Configuración de las credenciales de integración por defecto. Ya no será necesario que configures API_KEY o SHARED_SECRET si quieres trabajar en ambiente TEST.
- Apunta entornos a los servidores oficiales para
TEST
yLIVE
. De ahora en adelante, el SDK puede ser usado para validaciones oficiales y será interoperable con las herramientas provistas por Transbank para ayudar esa integración y validación (como el dashboard para simular transacciones).