kalicr/sinpe-movil (1.0.0)

Published 2026-07-27 15:53:16 +00:00 by kalicr-packages

Installation

{
	"repositories": [{
			"type": "composer",
			"url": ""
		}
	]
}
composer require kalicr/sinpe-movil:1.0.0

About this package

Magento 2 payment method integrating SINPE Móvil (BCCR) — authorizes and captures orders by matching and linking bank payments via the SINPE Móvil API, with split-payment support and reconciliation logging.

KaliCR Logo

Module Kalicr_SinpeMovil

Magento 2 payment method integrating SINPE Móvil (Banco Central de Costa Rica). Authorizes and captures orders by matching the checkout total against one or more bank payments reported by the SINPE Móvil API, linking each matched payment to the order.

This module is developed by Kal-i CR Development Team.

Features

  • Payment method kalicr_sinpe_movil_online: gateway-style method (authorize/capture) grouped under the kalicr payment group.
  • Split-payment matching: Model\PaymentMatcher finds the exact combination of reported bank payments whose sum matches the order total, supporting customers who send SINPE Móvil in more than one transfer.
  • Retry on transient errors: linking a matched payment (VincularPago) retries automatically when the bank reports a transient error (codRespuesta 99), up to SinpeMovil::VINCULAR_MAX_RETRIES attempts.
  • Reconciliation logging: if some payments were successfully linked at the bank but the overall capture still fails, the already-linked references are recorded to a dedicated log (var/log/sinpe_reconciliacion.log) instead of being silently lost, since the order rolls back and can't hold a comment.
  • Checkout field validation: Plugin\ValidateRequiredFields enforces the ID type/number fields before QuoteManagement::submit when this method is selected.
  • Order data persistence: adds a sinpe_information column to sales_order (etc/db_schema.xml) and stores the raw transaction details reported by the bank via Observer\SaveTransactionInfo.
  • Payment info breakdown: Block\Info\SinpeMovil renders one entry per linked payment on the order/invoice view and PDF, reading from the transaction's RAW_DETAILS.

Admin Configuration

Stores → Configuration → Payment Methods → SINPE Móvil

Field Description
Activo Enables/disables the payment method
Título Title shown to the customer at checkout
Número de Teléfono Phone number instructions shown at checkout (HTML allowed)
Instrucciones Additional payment instructions (HTML allowed)
Estado del Pedido Order status assigned on creation
Acción Payment action: Authorize, or Authorize & Capture
Países Permitidos Countries where the method is offered
API URL Base URL of the SINPE Móvil integration API
Usuario / Contraseña Integration credentials
ID Caja / ID Cajero Cash register / cashier identifiers required by the bank API
Modo Debug Enables verbose logging
Orden Sort order among payment methods

Installation

Via Composer

composer require kalicr/sinpe-movil
bin/magento module:enable Kalicr_SinpeMovil
bin/magento setup:upgrade
bin/magento cache:clean

Manual installation

  1. Copy the module into app/code/Kalicr/SinpeMovil.
  2. Run:
bin/magento module:enable Kalicr_SinpeMovil
bin/magento setup:upgrade
bin/magento cache:clean

Dependencies

  • PHP: ^8.1 || ^8.2 || ^8.3
  • Composer packages:
    • magento/framework
    • magento/module-checkout
    • magento/module-config
    • magento/module-directory
    • magento/module-payment
    • magento/module-quote
    • magento/module-sales
    • magento/module-store

Compatibility

  • Adobe Commerce / Magento Open Source: 2.4.6, 2.4.7, 2.4.8
  • PHP: ^8.1 || ^8.2 || ^8.3

Technical notes

  • Payment model: Kalicr\SinpeMovil\Model\SinpeMovil — extends Magento\Payment\Model\Method\AbstractMethod
  • API client: Kalicr\SinpeMovil\Helper\Api — token retrieval, payment lookup (ConsultaPago), and linking (VincularPago) against the bank API
  • Matching logic: Kalicr\SinpeMovil\Model\PaymentMatcher
  • Checkout plugin: Kalicr\SinpeMovil\Plugin\ValidateRequiredFields on Magento\Quote\Model\QuoteManagement::submit
  • Observers: Observer\OrderPaymentSaveBefore (checkout_submit_all_after), Observer\SaveTransactionInfo
  • Reconciliation logger: Logger\ReconciliationHandler, wired as a virtual type in etc/di.xml (sinpe_reconciliacion.log)
  • Config paths are rooted at payment/kalicr_sinpe_movil_online/*

Changelog

Release notes are maintained in CHANGELOG.md.

Support

If you need help with this module, contact Kal-i CR Development Team:

  • Email: contacto@kalicr.com

License

This package is distributed under the proprietary KaliCR commercial license. See LICENSE.md.

Release workflow

This repository publishes the package through Forgejo Composer Registry.

Dependencies

Dependencies

ID Version
magento/framework >=103.0
magento/module-checkout >=100.4
magento/module-config >=101.2
magento/module-directory >=100.4
magento/module-payment >=100.4
magento/module-quote >=101.2
magento/module-sales >=103.0
magento/module-store >=101.1
php ^8.1 || ^8.2 || ^8.3
Details
Composer
2026-07-27 15:53:16 +00:00
2
Kal-i CR Development Team
proprietary
38 KiB
Assets (1)
Versions (1) View all
1.0.0 2026-07-27