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

Paypal Laravel Package

puntodev/paypal

A Laravel package that wraps PayPal payment APIs, letting you add checkout flows, payment processing, and transaction handling to your application through a simple, framework-friendly integration.

View on GitHub
Deep Wiki
Context7

API to talk to PayPal

Frequently asked questions about Paypal
Which Laravel versions does puntodev/paypal support?
The package is a standard Laravel integration that registers a service provider, publishes a config file, and exposes a facade-style API, so its framework support is defined by the illuminate/support constraint in its composer.json. Version 7 targets Laravel 12/13-era stacks that ship alongside PHP 8.5. The 7.0.0 release notes do not document any change to the framework constraint, so confirm the exact requirement in the repository before promising an upgrade date to your team.
What PHP version does puntodev/paypal v7 require, and can I install it on PHP 8.3 or 8.4?
Version 7.0.0 raises the runtime floor to PHP 8.5, and that is the only functional change in the release. On PHP 8.3 or 8.4 Composer does not fail, it silently resolves to the 6.x line instead, which means you can believe you are current while sitting on the previous major. If your infrastructure is not yet on 8.5, pin ^6.0 explicitly in composer.json so no environment drifts by accident.
How do I install and configure puntodev/paypal in a Laravel application?
Install it with Composer, then publish the package config so credentials are read from environment variables rather than hard-coded. You supply your PayPal client ID, client secret, and a mode flag that switches between sandbox and live. Keep separate credential sets for local, staging, and production so a sandbox key can never reach a live checkout, and cache-clear after changing env values.
How do I create and capture a PayPal order with this package?
The typical flow is to create an order server-side, redirect or hand the buyer the approval link, then capture the order once PayPal returns the buyer to your callback. Keep this logic in a dedicated service or action class rather than in the controller, and record the order ID before redirecting so you can reconcile if the user never returns. Treat capture as the authoritative moment for marking an order paid, and store PayPal's capture response alongside your own transaction record.
How does webhook handling and signature verification work in puntodev/paypal?
The package wraps PayPal's webhook verification so you can confirm an incoming event genuinely came from PayPal before acting on it. Exclude the webhook route from CSRF protection, verify the signature first, and only then dispatch your own job to process events such as order approvals or completed captures. Make handlers idempotent because PayPal may retry deliveries, and return a 2xx quickly so retries do not pile up.
How can I test PayPal payments without moving real money?
Use the sandbox mode and sandbox credentials, which let you run the full create, approve, and capture cycle against PayPal's test environment with buyer and business sandbox accounts. PayPal's developer dashboard also provides a webhook simulator, which is useful for exercising your verification and event-handling code without a real checkout. Run your checkout, capture, refund, and webhook paths against the sandbox before any change reaches live credentials.
Is upgrading from puntodev/paypal v6 to v7 safe for an existing Laravel application?
The code risk is close to zero because 7.0.0 contains no documented logic changes, only a higher PHP requirement; the risk is environmental. Upgrade your PHP platform in development and CI first while staying on 6.x, run sandbox regression tests, then move to staging with realistic webhooks, and only afterwards bump the package constraint. The release notes do not confirm whether the PayPal REST API version, config keys, or published DTOs changed, so verify those yourself rather than assuming nothing moved.
What happens if some servers run PHP 8.4 and others run PHP 8.5 in the same fleet?
Composer resolves the package per environment, so a partial platform upgrade can leave your web nodes on 6.x while queue workers or the scheduler pull 7.x, with no loud failure anywhere. That silent version skew is the main operational hazard of this release. Pin a single explicit constraint across every runtime, and inventory PHP versions in CI, local tooling, staging, production web, workers, and any serverless functions before rolling out.
Is puntodev/paypal actively maintained, and what is the support policy for the 6.x line?
The 7.0.0 release is mostly release-notes tooling and weekly Dependabot hygiene, so maintenance activity is present but the only functional delta is the PHP 8.5 floor. The decision-driving unknown is whether 6.x keeps receiving fixes once 7.x is published; a payment integration pinned to an end-of-life branch inherits unpatched security risk. Ask the maintainer directly whether 6.x is security-fixes-only or fully maintained, and until when.
What are good alternatives to puntodev/paypal for Laravel payment integrations?
srmklive/paypal is the most commonly cited Laravel wrapper for PayPal's REST and Express Checkout APIs, and using PayPal's official REST SDK directly is also viable if you want no framework layer at all. Laravel Cashier covers subscriptions but not PayPal, so it is not a drop-in substitute. Compare candidates on Laravel version constraints, PHP floor, webhook verification support, and how recently each shipped a release.
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.
abbasudo/artisan-route
mirvan/ippanel
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
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package