Интеграция JMS payment-core и payment-paypal в Symfony2

Я установил эти пакеты для интеграции PayPal в моем проекте Symfony2.3.

«jms / payment-core-bundle»: «1.0. * @ dev» «jms / payment-paypal-bundle»: «dev-master»

Я перешел по этой ссылке http://jmsyst.com/bundles/JMSPaymentPaypalBundle для конфигурации. У меня есть сущность и база данных, но я не могу получить формы и представления.

У меня вопрос, как я могу получить страницу оплаты с этими пакетами?
Есть ли формы для этого? Если так, как я мог получить это?

0

Решение

Вам нужно действие оплаты, чтобы визуализировать форму с чем-то вроде этого:

 * @Route("/{id}", name="paiement")
* @Template()
*/
public function paymentAction($id=0) // this is a personnal ID i pass to the controler to identify the previous shopping cart
{
$form = $this->getFormFactory()->create('jms_choose_payment_method', null, array(
'amount'   => $order->getPrice(),
'currency' => 'EUR',
'default_method' => 'payment_paypal', // Optional
'predefined_data' => array()
));

if ('POST' === $this->request->getMethod()) {
$form->bindRequest($this->request);
$order = new Order();
$this->em->persist( $order);
$this->em->flush( $order);

$form = $this->getFormFactory()->create('jms_choose_payment_method', null, array(
'amount'   => $order->getPrice(),
'currency' => 'EUR',
'default_method' => 'payment_paypal', // Optional
'predefined_data' => array(
'paypal_express_checkout' => array(
'return_url' => $this->router->generate('payment_complete', array(
'id' =>$order->getId()
), true),
'cancel_url' => $this->router->generate('payment_cancel', array(
'id' => $order->getId()
), true)
),
),
));

$form->bindRequest($this->request);

// Once the Form is validate, you update the order with payment instruction
if ($form->isValid()) {
$instruction = $form->getData();
$this->ppc->createPaymentInstruction($instruction);
$order->setPaymentInstruction($instruction);
$this->em->persist($order);
$this->em->flush($order);
// now, let's redirect to payment_complete with the order id
return new RedirectResponse($this->router->generate('payment_complete', array('id' => $order->getId() )));
}
}
return $this->render('YourBundle:Paiement:paymentChooseTemplate.html.twig',array('form' => $form->createView() , 'id' => $id));
}

Важной частью в этом коде является создание формы, которая показывает выбор PayPal. Вы можете вставить эту форму на свою платежную страницу, отобразив ее, а затем в действии платежного действия проверить ее действительность и перейти к коду.

Я делаю это по-другому на нашем текущем веб-сайте без использования формы по умолчанию, это также возможно.

дать вам ссылку, где вы можете получить больше информации:

http://symfony2.ylly.fr/how-to-set-up-jmspayment-bundle-and-add-the-paypal-plugin-sebastien/

http://jmsyst.com/bundles/JMSPaymentCoreBundle/master/usage

Печально, что официальный сайт JMS оставляет документацию об этом … но все еще легко понять, как это работает, поэтому я думаю, что именно поэтому они не беспокоились.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]