Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Php Iso11649

Php Iso11649 Laravel Package

kmukku/php-iso11649

Lightweight PHP library for ISO 11649 structured creditor references (RF references). Generate, validate, and format RF numbers with mod-97 checksum handling, plus helpers for converting existing references for use in SEPA credit transfers and payment workflows.

Deep Wiki
Context7

A lightweight PHP library for working with ISO 11649 structured creditor references (RF references). It helps generate compliant references from customer data and validate existing RF references, including check-digit verification, making it useful for invoicing and payment workflows.

  • Generate RF creditor references from a customer reference
  • Validate RF references and verify ISO 11649 check digits
  • Simple, framework-agnostic API
  • Composer-installable with no heavy dependencies
Frequently asked questions about Php Iso11649
What is kmukku/php-iso11649 used for in a Laravel application?
It is a single-purpose library for generating and validating ISO 11649 creditor references, the RF references used in SEPA credit transfers. In a Laravel app it fits at two points: creating a reference on outbound payment instructions, and validating references that arrive from mandates, reconciliation files, or pain.001 imports. It has no framework coupling, no service provider, and no configuration, so it belongs behind a thin domain boundary rather than being called from controllers.
How do I install kmukku/php-iso11649 with Composer in Laravel?
Run composer require kmukku/php-iso11649 and instantiate the class directly, or bind it behind your own interface in a service provider. There is no config publish step, migration, or facade to register. Before committing, open the installed composer.json to confirm the declared PHP constraint, since a 2020-era release may declare php ^7.x and be blocked by Composer's platform check on PHP 8.2 or 8.3.
Does kmukku/php-iso11649 work with PHP 8.2 and Laravel 11?
Laravel version is not the issue because the package is framework-agnostic, but PHP version may be. The last release was 2020-04-21, which likely predates PHP 8.1 and 8.2 deprecations, and Composer may refuse to install it on modern runtimes. Verify the actual composer.json constraint and run a short spike on your target PHP version before relying on it.
How does ISO 11649 MOD 97-10 check digit validation actually work?
A creditor reference is RF followed by two check digits and up to 21 alphanumeric characters, capped at 25 characters total. The check is ISO 7064 MOD 97-10: letters are converted to numbers with A=10 through Z=35, the RF prefix and check digits move to the end of the string, and the resulting integer must be congruent to 1 modulo 97. The canonical published test vector is RF18 5390 0754 7034, and any implementation you trust should validate it.
Does the library normalize spaces and lowercase letters before validating?
This is unverified for this package and worth testing first. Banks and users routinely supply references with embedded spaces or mixed case, such as RF18 5390 0754 7034, and a strict validator will reject them as malformed. If the library does not strip internal whitespace and uppercase input itself, wrap it in a normalizer in your own code so the behavior is explicit and testable.
Does it distinguish a malformed reference from a bad check digit?
Not confirmed from the available material, so treat it as a gap until you check the API. Developers usually need two different error messages: one for wrong shape, illegal characters, or over-length input, and one for a correctly shaped reference that fails the MOD 97-10 checksum. If the package returns only a boolean, map the results yourself or implement validation in-house to give users actionable errors.
Should I use this package or implement ISO 11649 myself?
The algorithm is roughly 50 lines of well-specified code, and the main risk is the letter-to-digit conversion, which is easy to get 95 percent right and wrong. Given the package has had no release since 2020 and an unresolved repository URL, an in-house value object with your own unit tests is often the lower total-risk path. A half-day spike comparing both against the canonical vector plus adversarial inputs is enough to decide.
Is kmukku/php-iso11649 maintained and safe to ship in production?
There are real concerns: no release in about five years, a single-maintainer signal, an unknown repository URL, and an unverified license. That is a supply-chain and audit finding rather than a design flaw, so confirm the license before embedding it in a distributed product. If you keep it, isolate it behind an interface and consider vendoring or forking the source into a repository you control.
How do I test creditor reference validation in Laravel with PHPUnit or Pest?
Assert the canonical ISO 11649 example RF18 5390 0754 7034 passes, then add adversarial cases: lowercase input, embedded spaces, a 26-character string, RF00, non-ASCII characters, and an empty string. Also test that a malformed reference and a bad checksum produce distinct outcomes if your wrapper exposes them. Keep these tests on your own interface so you can swap the underlying implementation without rewriting them.
Are there alternatives to kmukku/php-iso11649 for SEPA creditor references?
There is no widely adopted Laravel-specific package for ISO 11649, so most teams either implement the check in a small value object or lean on a broader SEPA or ISO 20022 package that includes reference handling. Generic ISO 7064 MOD 97-10 libraries can also do the checksum math if you add the RF formatting yourself. Whichever route you choose, wrap it behind an interface so the dependency stays swappable.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings