DarvinPaymentBundle
This Omnipay-based bundle provides basic payment logic for Symfony applications., (*1)
Features:
- creating payment
- approving payment before purchase
- standard purchase and purchase with pre-authorise
- refund or canceling payment
- the sending notify emails of every changed payment state
- logging every actions in log and Event entity
- provides the interface for the adding receipt to payment
Payment states
To manage payment state used Symfony Workflow Component., (*2)
Scheme of payment state changes:, (*3)
, (*4)
Installation
composer require darvinstudio/darvin-payment-bundle
How to create Payment
/** @var $paymentFactory \Darvin\PaymentBundle\Payment\Factory\PaymentFactoryInterface */
$payment = $paymentFactory->createPayment(
new PaidOrder(
(string)$order->getId(),
get_class($order),
(string)$order->getNumber()
),
$order->getPrice(),
new Client(
(string)$user->getId(),
get_class($user),
$user->getEmail()
),
'USD'
);
How to get payment's link in twig
{{ payment_purchase_urls(payment) }}
How to get all available payment's links for order
{{ payment_purchase_widget(order) }}