1. Go to this page and download the library: Download memeoirs/paymill-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
memeoirs / paymill-bundle example snippets
// app/AppKernel.php
$bundles = array(
// ...
new JMS\Payment\CoreBundle\JMSPaymentCoreBundle(),
new Memeoirs\PaymillBundle\MemeoirsPaymillBundle(),
// ...
);
namespace Acme\DemoBundle\Controller;
use Acme\DemoBundle\Entity\Order;
use Memeoirs\PaymillBundle\Controller\PaymillController;
class OrdersController extends PaymillController
{
public function checkoutAction ()
{
$em = $this->getDoctrine()->getManager();
// In a real world app, instead of instantiating an Order, you will
// probably retrieve it from the database
$order = new Order;
$order->setAmount(50);
$order->setCurrency('EUR');
$form = $this->getPaymillForm($order->getAmount(), $order->getCurrency());
return $this->render('AcmeDemoBundle::checkout.html.twig', array(
'form' => $form->createView(),
'order' => $order,
));
}
}
// Acme\DemoBundle\Controller\OrdersController
public function checkoutAction ()
{
// (...)
if ('POST' === $this->getRequest()->getMethod()) {
$form->bind($this->getRequest());
if ($form->isValid()) {
$instruction = $this->createPaymentInstruction($form);
$order->setPaymentInstruction($instruction);
$em->persist($order);
$em->flush($order);
// completePayment triggers a call to Paymill's API that creates the
// the payment. It returns a JSON response that indicates success or
// error. In the case of a successful operation the user will be
// redirected (in javascript) to 'orders_thankyou'.
return $this->completePayment($instruction, 'orders_thankyou', array(
'id' => $order->getId()
));
}
}
return $this->render('AcmeDemoBundle:::checkout.html.twig', array(
'form' => $form->createView(),
'order' => $order,
));
}