PHPackages                             jihel/spreedly-bridge - 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. jihel/spreedly-bridge

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

jihel/spreedly-bridge
=====================

Viking pay receiver for JihelOmnipaySpreedlyBridge

1.0.2(7y ago)0411MITPHP &gt;=7.0

Since Feb 13Compare

[ Source](https://github.com/Jihell/spreedly-bridge)[ Packagist](https://packagist.org/packages/jihel/spreedly-bridge)[ RSS](/packages/jihel-spreedly-bridge/feed)WikiDiscussions Synced yesterday

READMEChangelogDependencies (1)Versions (4)Used By (1)

OmnipaySpreedlyBridge
=====================

[](#omnipayspreedlybridge)

SpreedlyBridge for Omnipay

1- Install
----------

[](#1--install)

Choose a receiver bridge then add the packages Add plugin to your composer.json require:

```
{
    "require": {
        "jihel/spreedly-bridge": "1.0",
        "jihel/spreedly-[brand]-receiver": "1.0",
    }
}

```

or

```
php composer.phar require jihel/spreedly-[brand]-receiver

```

Add bundle to your AppKernel.php

```
public function registerBundles()
{
    $bundles = array(
        ...
        new Jihel\OmnipaySpreedlyBridgeBundle\JihelOmnipaySpreedlyBridgeBundle(),
    );
}

```

2- Configure
------------

[](#2--configure)

config.yml

```
[bridge]:
    accounts:
        default:
            password: %viking_pass%
            userId: %viking_user%
            entityId: %viking_entity_id%

omnipay:
    default_gateway: SpreedlyBridge
    methods:
        SpreedlyBridge:
            user: %spreedly_user%
            secret: %spreedly_secret%
            testMode: "%kernel.debug%"

```

routing.yml

```
JihelOmnipaySpreedlyBridgeBundle:
    resource: '@JihelOmnipaySpreedlyBridgeBundle/Resources/config/routing.yaml'
    prefix: /_jihel/omnipay

```

Generate entities

```
php bin/console doctrine:schema:update --force

```

3- Usage (Viking pay exemple)
-----------------------------

[](#3--usage-viking-pay-exemple)

Create a new receiver on /\_jihel/omnipay/

The payment method is Omnipay standard BUT you do have to setup the receiver

/form-submit

```
use Omnipay\SpreedlyBridge\Gateway;

// ...

/** @var ReceiverManager $receiverManager */
$receiverManager = $this->get('jihel.omnipay.manager.receiver');
/** @var TransactionManager $transactionManager */
$transactionManager = $this->get('jihel.omnipay.manager.transaction');

// Works with float, not cents
$initialAmount /= 100;
$gatewayName = Gateway::NAME;

$paymentRequest = new \Jihel\OmnipaySpreedlyBridgeBundle\Model\PaymentRequest();
$paymentRequest
    ->setAmount($initialAmount)
    ->setCurrency($order->getConfig()->getCurrency())
;

$receiver = $receiverManager->findByDomain($domain->getName());

$transaction = $transactionManager->create($paymentRequest, $receiver);
$order->setTransaction($transaction);
$m->persist($order->getTransaction());
$m->persist($order);
$m->flush();

// Redirect to /create

```

/create

```
// Finish to setup the gateway
$gateway->setReceiver($payment->getTransaction()->getReceiver());
$response = $gateway->purchase([
    'landingUrl' => $this->generateUrl('FrontTransactionBundle_payment_finish', [
        'uuid' => $order->getUuid(),
        'id' => $payment->getId(),
    ], UrlGeneratorInterface::ABSOLUTE_URL),
    'bin' => $payment->getTransaction()->getCreditCard()->getFirstSixDigits(),
    'currency' => $payment->getTransaction()->getCurrency(),
    'amount' => $payment->getTransaction()->getAmount(),
    'cardReference' => $payment->getTransaction()->getCreditCard()->getToken(),
])->send();

if ($response->isRedirect()) {
    $transactionManager->pendingPayment($payment);

    $response->redirect();
    die;
} elseif (!$response->isSuccessful()) {
    $transactionManager->failPayment($payment);
    $this->addFlash('danger', $response->getMessage());

    // Redirect to form
}

// Else it's success
$transactionManager->depositPayment($payment, $response);

// Redirect to after payment page

```

/3ds

```
$gateway->setReceiver($payment->getTransaction()->getReceiver());
$response = $gateway->completePurchase([
    '3ds' => $request->query->get('id'),
])->send();

Then handle as standard omnipay response

```

4- Thanks
---------

[](#4--thanks)

Thanks to my cat to keep meowing me. Thanks to me for giving my free time doing class for lazy developers. You can access read CV [here](http://www.joseph-lemoine.fr)

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

2693d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1798787?v=4)[Jihel](/maintainers/Jihel)[@jihel](https://github.com/jihel)

---

Top Contributors

[![Jihell](https://avatars.githubusercontent.com/u/3269035?v=4)](https://github.com/Jihell "Jihell (3 commits)")

### Embed Badge

![Health badge](/badges/jihel-spreedly-bridge/health.svg)

```
[![Health](https://phpackages.com/badges/jihel-spreedly-bridge/health.svg)](https://phpackages.com/packages/jihel-spreedly-bridge)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
