Skip to content

Commit 9a440c2

Browse files
authored
Merge pull request #74 from BitBagCommerce/hotfix/pending-transaction-fix
Fix issue with paying, when transaction already started
2 parents 1ae4462 + ee61a52 commit 9a440c2

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

src/Action/CaptureAction.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ public function execute($request): void
7878
/** @var PaymentInterface $payment */
7979
$payment = $request->getFirstModel();
8080
/** @var OrderInterface $order */
81+
82+
8183
$order = $payment->getOrder();
8284

8385
/** @var TokenInterface $token */
@@ -90,10 +92,19 @@ public function execute($request): void
9092
/** @var mixed $response */
9193
$response = $this->openPayUBridge->retrieve((string) $model['orderId'])->getResponse();
9294
Assert::keyExists($response->orders, 0);
95+
96+
if ($response && OpenPayUBridgeInterface::PENDING_API_STATUS === $response->orders[0]->status) {
97+
$resultResponse = $result->getResponse();
98+
if (isset($resultResponse->redirectUri)) {
99+
throw new HttpRedirect($resultResponse->redirectUri);
100+
}
101+
}
102+
93103
if (OpenPayUBridgeInterface::SUCCESS_API_STATUS === $response->status->statusCode) {
94104
$model['statusPayU'] = $response->orders[0]->status;
95105
$request->setModel($model);
96106
}
107+
97108
if (OpenPayUBridgeInterface::NEW_API_STATUS !== $response->orders[0]->status) {
98109
return;
99110
}

0 commit comments

Comments
 (0)