PHPackages                             pimcore/payment-provider-paypal-smart-payment-button - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. pimcore/payment-provider-paypal-smart-payment-button

ActivePimcore-bundle[Payment Processing](/categories/payments)

pimcore/payment-provider-paypal-smart-payment-button
====================================================

Pimcore Payment Provider - Paypal Smart Payment Button

v3.0.0(1y ago)0102.3k—9.5%31proprietaryPHPPHP ~8.3.0 || ~8.4.0CI passing

Since Jan 28Pushed 1mo ago6 watchersCompare

[ Source](https://github.com/pimcore/payment-provider-paypal-smart-payment-button)[ Packagist](https://packagist.org/packages/pimcore/payment-provider-paypal-smart-payment-button)[ RSS](/packages/pimcore-payment-provider-paypal-smart-payment-button/feed)WikiDiscussions 2026.x Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (26)Used By (1)

Pimcore E-Commerce Framework Payment Provider - PayPal Smart Payment Buttons
============================================================================

[](#pimcore-e-commerce-framework-payment-provider---paypal-smart-payment-buttons)

Installation
------------

[](#installation)

Install latest version with Composer:

```
composer require pimcore/payment-provider-paypal-smart-payment-button
```

Enable bundle via console or extensions manager in Pimcore backend:

```
php bin/console pimcore:bundle:enable PimcorePaymentProviderPayPalSmartPaymentButtonBundle
php bin/console pimcore:bundle:install PimcorePaymentProviderPayPalSmartPaymentButtonBundle
```

For configuration details see further below. For additional information of PayPal API credentials see [API Docs](https://developer.paypal.com/docs/api/overview/)

Configuration
-------------

[](#configuration)

The Payment Manager is responsible for implementation of different Payment Provider to integrate them into the framework.

For more information about Payment Manager, see [Payment Manager Docs](https://github.com/pimcore/pimcore/blob/master/doc/Development_Documentation/10_E-Commerce_Framework/13_Checkout_Manager/07_Integrating_Payment.md).

Configure payment provider in the `pimcore_ecommerce_config.payment_manager` config section:

```
pimcore_ecommerce_framework:
    payment_manager:
        payment_manager_id: Pimcore\Bundle\EcommerceFrameworkBundle\PaymentManager\PaymentManager

        providers:
            paypal:
                provider_id: Pimcore\Bundle\EcommerceFrameworkBundle\PaymentManager\Payment\PayPalSmartPaymentButton
                profile: sandbox
                profiles:
                    sandbox:
                        client_id:
                        client_secret:

                        # defines, if payment caputure should take place automatic or manual, default is automatic
                        capture_strategy: automatic

                        # defines mode of PayPal API, default value is sandbox
                        mode: sandbox

                        # defines PayPal application context for shipping, default value is NO_SHIPPING
                        # see https://developer.paypal.com/docs/api/orders/v2/#definition-application_context
                        shipping_preference: NO_SHIPPING

                        # defines PayPal application context for user action, default value is PAY_NOW
                        # see https://developer.paypal.com/docs/api/orders/v2/#definition-application_context
                        user_action: PAY_NOW

                    live:
                        client_id:
                        client_secret:
                        mode: live
```

Implementation
--------------

[](#implementation)

Integrate the PayPal payment button to your view template

Integrate PayPal payment button and overwrite a few methods like in the sample. At least `createOrder` and `onApprove` need to be overwritten.

```
