Skip to content

Sylius/PayumStripeBundle

Repository files navigation

Latest Version on Packagist Software License Build Status Quality Score

Payum Stripe checkout session gateway bundle

This bundle is design to add a new gateway to Payum to support Stripe checkout session and Stripe JS gateways over symfony bundle

See https://stripe.com/docs/payments/checkout for more information.

Installation

Install using Composer :

composer require flux-se/payum-stripe-bundle

Choose one of php-http/client-implementation, the most used is php-http/guzzle6-adapter

composer require  php-http/guzzle6-adapter

Configuration

API keys

Get your publishable_key and your secret_key on your Stripe account :

https://dashboard.stripe.com/test/apikeys

Webhook key

Then get a webhook_secret_key configured with at least two events :

  • payment_intent.canceled
  • checkout.session.completed

The URL to fill is the route named payum_notify_do_unsafe, here is an example :

https://localhost/payment/notify/unsafe/stripe_checkout_session

https://dashboard.stripe.com/test/webhooks

Test or dev environment

Webhooks are triggered by Stripe on their server to your server. If the server is into a private network, Stripe won't be allowed to reach your server.

Stripe provide an alternate way to catch those webhook events, you can use Stripe cli : https://stripe.com/docs/stripe-cli Follow the link and install Stripe cli, then use those command line to get your webhook key :

First login to your Stripe account (needed every 90 days) :

stripe login

Then start to listen for the 2 required events, forwarding request to you local server :

stripe listen \
    --events checkout.session.completed,payment_intent.canceled \
    --forward-to https://localhost/payment/notify/unsafe/stripe_checkout_session

Replace the --forward-to argument value with the right one you need.

Payum

# config/packages/payum.yaml

payum:
  gateways:
    stripe_checkout_session:
      factory: stripe_checkout_session
      publishable_key: sk_test_secretkey
      secret_key: pk_test_publishablekey
      webhook_secret_keys:
        - whsec_test_webhookkey
    stripe_js:
      factory: stripe_js
      publishable_key: sk_test_secretkey
      secret_key: pk_test_publishablekey
      webhook_secret_keys:
        - whsec_test_webhookkey

To set payment-methods you can add payment_method_types to the gateway-config. This array can contain multiple gateways you want to support. For a full list see here. By default the payment_method_types is ['card'].

Usage

See documentation here : https://github.com/FLUX-SE/PayumStripe/blob/master/README.md

More

The Sylius plugin:

https://github.com/Sylius/PayumStripePlugin

Authors

This bundle was originally created by:

Harman Professional, Inc.    Flux:: Sound and Picture Development

Kudos to Prometee and all contributors 🙏

License

This bundle is released under the MIT License.

About

Payum Stripe Checkout Session payment gateway bundle (with SCA support)

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages