paynecta/paynecta-laravel-sdk
Paynecta Laravel SDK provides a convenient integration layer for the Paynecta payment platform in Laravel applications. It helps developers connect to payment APIs, manage transactions, and streamline payment-related workflows using familiar Laravel conventions.
paynecta.co.ke/api/v1 returns 404 and the X-API-Key/X-User-Email auth scheme no longer exists. Any roadmap item that assumes the current integration works needs to be re-baselined today, and any "keep 1.x alive with a patch" option should be struck from the decision log — there is nothing behind the old endpoints to patch.payment.completed and have an order marked paid and shipped — an unauthenticated route at a fixed default path, validating only field presence. Moving to HMAC-SHA256 over timestamp + raw body, constant-time comparison, and a five-minute replay window converts that from an open door to a verified channel. This is a security decision the PM should record and communicate, not just a library change.mobile_number, the consumer enters and code-verifies their own number on Paynecta's hosted checkout. That removes server-side STK-style prompting from your design surface entirely — ~15,000 unwanted prompts and a flagged shortcode are the cost of the old model. Any product flow, retry logic, or "resend prompt" UX built on server-initiated prompts must be redesigned, and the new flow should be reflected in your checkout funnel metrics and support macros.php artisan paynecta:register closes the "copy this address into the dashboard" step that people skip — the exact failure mode where an app takes payments and receives no confirmations. This removes a recurring class of production incident and makes the integration reproducible across staging, DR, and new environments.checkouts, transactions, tapflows, webhooks, integrations, banks, balance, whoami — covers collection, reconciliation, bank lookup, and account identity. Writing and maintaining that surface in-house, with signed webhooks and replay protection, is not a credible use of a small team's capacity. Buy.balance, banks, and integrations were not part of the 1.x mental model; they unlock payout and reconciliation features (treasury dashboards, settlement reporting, counterparty verification) that were previously assumed to need a separate vendor.Adopt when:
transactions, balance), bank/counterparty data (banks), or merchant identity (whoami) alongside collection.Look elsewhere or re-plan when:
To executives: Our payment integration is currently down, not merely outdated — the upstream API v1 called has been withdrawn entirely, which is why payments have stopped. v2.0.0 is the replacement, and it also closes a serious security hole: our old webhook endpoint accepted unauthenticated posts, so anyone who knew the URL could mark an order paid without paying. Deliveries are now cryptographically signed and time-limited. Separately, the old integration sent payment prompts to phone numbers we supplied — roughly 15,000 unwanted prompts, which got our shortcode flagged. The new flow has the customer enter and confirm their own number, which removes that compliance exposure entirely. This is a remediation with a security and regulatory upside, not a feature upgrade.
To engineering: Breaking change, no shim, no coexistence — cut over cleanly. The surface is small (three documented diffs in the README) and 1.x has nothing worth preserving. Two things to internalise: first, the package fails closed — with no signing secret configured, every webhook is refused, so secret provisioning must land before the first deploy that accepts traffic; second, register the endpoint via php artisan paynecta:register rather than by hand, which eliminates the skipped-dashboard-step failure mode that has bitten us before. Note that vendor/ is no longer committed — CI must run composer install. The webhook suite has eight tests, five of which fail against 1.x behaviour; that is deliberate regression evidence, and it should give us confidence the signature path is actually exercised rather than asserted. Sequence the work as: secret provisioning → endpoint registration → code cutover → verified end-to-end payment in staging → production.
How can I help you explore Laravel packages today?