Skip to content

Instantly share code, notes, and snippets.

@nanasess
Created June 17, 2015 07:34
Show Gist options
  • Save nanasess/eeee5d4b9f8149191066 to your computer and use it in GitHub Desktop.
Save nanasess/eeee5d4b9f8149191066 to your computer and use it in GitHub Desktop.
EC-CUBE3の決済連携はこんな感じがいいんじゃない?
--- a/src/Eccube/Controller/ShoppingController.php
+++ b/src/Eccube/Controller/ShoppingController.php
@@ -134,6 +134,7 @@ class ShoppingController extends AbstractController
$cartService = $app['eccube.service.cart'];
$orderService = $app['eccube.service.order'];
$orderRepository = $app['eccube.repository.order'];
+ $paymentService = $app['eccube.service.payment'];
// カートチェック
if (!$cartService->isLocked()) {
@@ -189,7 +190,15 @@ class ShoppingController extends AbstractController
$orderService->setOrderUpdate($em, $Order, $formData);
// 在庫情報を更新
$orderService->setStockUpdate($em, $Order);
-
+ // 支払実行
+ $paymentMethod = $app['payment.method'];
+ $paymentMethod->setPayment($Order->getPayment());
+ $orderResult = $paymentService->doCheckout($paymentMethod);
+ if (!$orderResult->isSuccess()) {
+ $em->getConnection()->rollback();
+ $em->close();
+ return $app->redirect($app->url('shopping_error'));
+ }
if ($this->isGranted($app)) {
// 会員の場合、購入金額を更新
$orderService->setCustomerUpdate($em, $Order, $this->getUser($app));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment