Download the PHP package jihel/spreedly-bridge without Composer
On this page you can find all versions of the php package jihel/spreedly-bridge. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download jihel/spreedly-bridge
More information about jihel/spreedly-bridge
Files in jihel/spreedly-bridge
Download jihel/spreedly-bridge
More information about jihel/spreedly-bridge
Files in jihel/spreedly-bridge
Vendor jihel
Package spreedly-bridge
Short Description Viking pay receiver for JihelOmnipaySpreedlyBridge
License MIT
Package spreedly-bridge
Short Description Viking pay receiver for JihelOmnipaySpreedlyBridge
License MIT
Please rate this library. Is it a good library?
Informations about the package spreedly-bridge
OmnipaySpreedlyBridge
SpreedlyBridge for Omnipay
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
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)
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
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
All versions of spreedly-bridge with dependencies
PHP Build Version
Package Version
The package jihel/spreedly-bridge contains the following files
Loading the files please wait ....