Download the PHP package 3neti/emi-paynamics without Composer
On this page you can find all versions of the php package 3neti/emi-paynamics. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download 3neti/emi-paynamics
More information about 3neti/emi-paynamics
Files in 3neti/emi-paynamics
Package emi-paynamics
Short Description Paynamics Constellation adapter for EMI core
License proprietary
Informations about the package emi-paynamics
lbhurtado/emi-paynamics-constellation
Concrete Paynamics Constellation adapter for lbhurtado/emi-core. Implements wallet management, fund transfers, cash-in/out, OTP verification, phantom wallets, and value-added services against the Constellation v1.42 API.
Requirements
- PHP 8.3+
- Laravel 12 or 13
lbhurtado/emi-core
Installation
The package auto-discovers its service provider. Publish the config:
Configuration
Add to your .env:
API Coverage
All actions use the Laravel Actions pattern (Lorisleiva\Actions) and can be called via Action::run(...).
Wallet Management
AddMerchantWallet::run($data)— create merchant walletAddCustomerWallet::run($data)— create customer walletAddPhantomWallet::run($data)— create phantom walletEditWallet::run($walletId, $data)— PATCH semantics, only sends provided fieldsGetWalletDetails::run($walletIdOrExternalUid)— fetch wallet detailsGetWalletBalance::run($walletId)— fetch balance + limit fieldsGenerateKycKybLink::run($data)— generate KYC/KYB capture link
Fund Transfers (staged lifecycle)
PreTransfer::run($data)— reserve/withhold fundsSettleTransfer::run($data)— commit withheld transferCancelTransfer::run($data)— release withheld transfer
Cash In
CreateCashIn::run($data)— initiate cash-in with payment method/channel
Cash Out
CreateCashOut::run($data)— initiate cash-out to registered bankCreateCashOutOtp::run($data)— request OTP for cash-outVerifyTransaction::run($data)— verify with PIN/OTP
Bank Accounts
AddBankAccount::run($data)— register a bank account
Phantom Wallets & Withheld Funds
GetWithheldByWalletId::run($walletId)GetWithheldByPhantomWalletId::run($phantomWalletId)
Value Added Services
AirtimeLoad::run($data)— airtime/load purchaseBillsPayment::run($data)— bills payment
Transaction Queries
GetTransactionByRequestId::run($requestId)GetTransactionByWalletId::run($walletId)
Webhooks
HandleConstellationWebhook::run($payload)— idempotent postback handler with signature verification
Signature Handling
All signed requests use SHA512 hex-encoded signatures. The ConstellationSigner concatenates specific fields per endpoint + the merchant key. The ConstellationSignatureVerifier validates postback signatures using code + message + advise + timestamp + merchant_key.
Who Uses What
| Actor | Role | Command | Volume |
|---|---|---|---|
| Platform Operator | Runs x-change (creates Settlement + Revenue wallets) | constellation:setup |
Once |
| Issuer (B2B) | Merchant subscribing to x-change to generate Pay Codes | constellation:create-merchant |
Low (per client) |
| Customer (End User) | Subscriber who wants to hold a balance | constellation:create-customer |
Optional |
| Redeemer | Receives Pay Code, redeems to bank account | None — just bank details | N/A |
constellation:setupcreates the infrastructure wallets (Settlement + Revenue) that the platform itself uses for escrow settlement and fee collection. Run once during system deployment.constellation:create-merchantonboards a B2B issuer — a company that tops up their wallet and generates Pay Codes for distribution.constellation:create-customeronboards an end-user subscriber who wants to hold a balance. Optional — not needed for basic Pay Code redemption.- Redeemers don't need a Constellation wallet. They just provide bank details (account number + bank code) and cash-out goes directly from the platform's settlement wallet to their bank via InstaPay/PesoNet.
Artisan Commands
The package ships with 48 artisan commands (hub + setup + 46 endpoint commands), auto-registered via the ServiceProvider. All commands support a --fake flag for offline testing and include structured audit logging.
Interactive Hub
Onboarding & Wallet Lifecycle
Cash In
Fund Transfer
Cash Out
Transactions & Withheld
Value Added Services
The --fake Flag
Every command supports --fake to run without hitting the live Paynamics API:
Fake mode uses realistic fixture responses matching the Constellation v1.42 API format. Commands display a warning when running in fake mode.
Audit Logging
All commands log structured JSON to storage/logs/constellation/constellation-YYYY-MM-DD.log:
Sensitive fields (password, pin, otp, signature) are automatically redacted in logs. The log channel is configurable via CONSTELLATION_LOG_CHANNEL in .env.
Architecture
Testing
All action tests use Http::fake() — no live API calls during testing.
License
Proprietary — Lester Hurtado
All versions of emi-paynamics with dependencies
3neti/emi-core Version ^2.0
illuminate/support Version ^12.0 || ^13.0
illuminate/http Version ^12.0 || ^13.0
lorisleiva/laravel-actions Version ^2.9
spatie/laravel-data Version ^4.0