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

Xendit Php Laravel Package

xendit/xendit-php

Official Xendit PHP SDK for integrating payments, invoices, disbursements, virtual accounts, e-wallets, and other Xendit APIs into PHP applications. Includes simple client setup, API wrappers, and examples for common payment flows.

Deep Wiki
Context7

Technical Evaluation

Architecture fit: xendit/xendit-php is a Composer-installable REST API client, not a Laravel-native package. It can fit a Laravel monolith, modular monolith, or dedicated payments service, but should be isolated behind an internal payment gateway interface rather than called directly from controllers. Its breadth—Cards, Virtual Accounts, Invoices, Disbursements, Recurring Payments, Payouts, EWallet, Balance, Retail Outlets, xenPlatforms—makes it viable for a multi-method payment layer, but the lack of Laravel service providers/facades means the application team owns configuration, binding, and lifecycle management.

Integration feasibility: High for basic collections such as invoices and virtual accounts; medium for disbursements, payouts, recurring payments, and platform flows because those require stronger idempotency, webhook handling, reconciliation, and operational controls. Integration is conventional: composer require, API key configuration via environment/secrets, a webhook endpoint, and service-layer wrappers. MIT license and recent release cadence are positive signals, though 192 stars indicate limited community gravity relative to larger SDKs—so vendor documentation and internal ownership matter more than community support.

Technical risk: The main risks are dependency conflicts around PHP/Guzzle versions, API/SDK version drift, missing or underused idempotency in money-movement flows, weak webhook verification/replay handling, and direct coupling of domain code to SDK classes. Card-related flows may reduce PCI surface but do not eliminate compliance obligations; PAN and sensitive data must never be logged. TPM should also validate sandbox parity, error taxonomy, rate-limit behavior, and multi-account/xenPlatform support before committing to broad rollout.

Key questions: Which Xendit services are in scope at launch versus later? Is this SDK officially supported with an SLA, and what is the maintainer escalation path? Which PHP, Laravel, and Guzzle versions are supported? Does the SDK expose idempotency keys, webhook signature verification, and callback replay semantics? What are the API rate limits and retry expectations? How are sandbox/test data, multi-currency, payout approval, KYC, and reconciliation handled? What is the migration path from the incumbent gateway, and can we run both in parallel?

Integration Approach

Stack fit: Use Composer to install the SDK pinned to a tested version. Add config/xendit.php, environment-driven secrets, and a Laravel service provider that binds a configured client or, preferably, an internal PaymentGateway adapter. Controllers and jobs should depend on the adapter and application DTOs, not on Xendit\* classes. Webhooks should have a dedicated route excluded from CSRF, signature/token validation, idempotent event handling, and queued downstream processing.

Migration path: Inventory current payment methods and map them to Xendit equivalents. Build the adapter and sandbox flows first, then migrate one low-risk method such as invoices or virtual accounts. Run parallel reconciliation against the existing provider, use feature flags for cutover, and migrate disbursements/payouts only after idempotency, webhook replay, and reconciliation are proven. Avoid a big-bang migration across all services.

Compatibility: Validate PHP, Laravel, Guzzle, ext-curl, and ext-json constraints in CI before adoption. Pin the SDK and transitive dependencies, run Composer audit, and include Laravel upgrade tests. Confirm the SDK’s API version assumptions and whether Xendit API changes require SDK upgrades or can be handled through configuration.

Sequencing: 1) Add secrets/config and dependency governance; 2) implement the internal payment adapter and error mapping; 3) integrate invoice/virtual-account collections in sandbox; 4) implement webhook verification, idempotency, and replay; 5) add reconciliation and observability; 6) integrate disbursements/payouts behind queueing and approval controls; 7) add recurring, e-wallet, retail outlet, and xenPlatform flows as needed; 8) complete production hardening, runbooks, and cutover.

Operational Impact

Maintenance: The application team owns SDK upgrades, Laravel compatibility, dependency pinning, and adapter tests. Track Xendit API changelogs and SDK releases; because this is not a Laravel package, there is no framework-managed upgrade path. Budget recurring maintenance for webhook security, API deprecations, and reconciliation logic.

Support: Xendit should be the primary support channel for API behavior, account configuration, settlement, and compliance issues. The SDK itself may have community-style support, so internal expertise is required. Establish escalation paths for payment outages, payout failures, and webhook disputes before launch.

Scaling: The SDK is stateless HTTP, so application and queue workers can scale horizontally. Respect Xendit rate limits, set timeouts, use retries with backoff only where safe, and require idempotency keys for charge and money-movement operations. Queue disbursements/payouts and webhook processing; monitor latency, error rates, duplicate attempts, and reconciliation breaks.

Failure modes: Expect API downtime/timeouts, rate limiting, duplicate charges or payouts without idempotency, lost/duplicate/out-of-order webhooks, signature validation failures, secret leakage, insufficient balance, KYC/account restrictions, currency or account mismatches, and dependency conflicts. Card flows add sensitive-data handling risk. Logs must redact tokens, PAN, and personal data.

Ramp-up: Low for invoices and basic collections; medium for virtual accounts, e-wallets, and recurring payments; high for disbursements, payouts, and xenPlatforms. Provide sandbox training, webhook replay tooling, dashboards, reconciliation reports, and on-call runbooks before enabling money-movement features in production.

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.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle