Skip to content

Commit fde3fd7

Browse files
committed
Set correct parent transaction ID for Payflow delayed capture
1 parent f8dd0b5 commit fde3fd7

File tree

1 file changed

+6
-18
lines changed

1 file changed

+6
-18
lines changed

app/code/Magento/Paypal/Model/Payflow/Transparent.php

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,9 @@ public function authorize(InfoInterface $payment, $amount)
203203
$payPalCart = $this->payPalCartFactory->create(['salesModel' => $order]);
204204
$payPalCart->getAmounts();
205205

206-
$parentTransactionId = $vaultPaymentToken ? $vaultPaymentToken->getGatewayToken() : $zeroAmountAuthorizationId;
206+
$token = $payment->getAdditionalInformation(self::PNREF);
207207
$request->setData('trxtype', self::TRXTYPE_AUTH_ONLY);
208-
$request->setData('origid', $parentTransactionId);
208+
$request->setData('origid', $token);
209209
$request->setData('amt', $this->formatPrice($amount));
210210
$request->setData('currency', $order->getBaseCurrencyCode());
211211
$request->setData('itemamt', $this->formatPrice($payPalCart->getSubtotal()));
@@ -226,11 +226,7 @@ public function authorize(InfoInterface $payment, $amount)
226226

227227
$this->setTransStatus($payment, $response);
228228

229-
if ($vaultPaymentToken) {
230-
$payment->setParentTransactionId($vaultPaymentToken->getGatewayToken());
231-
} else {
232-
$this->createPaymentToken($payment, $zeroAmountAuthorizationId);
233-
}
229+
$this->createPaymentToken($payment, $token);
234230

235231
$payment->unsAdditionalInformation(self::CC_DETAILS);
236232
$payment->unsAdditionalInformation(self::PNREF);
@@ -328,19 +324,11 @@ public function capture(InfoInterface $payment, $amount)
328324
}
329325

330326
/** @var Payment $payment */
331-
$zeroAmountAuthorizationId = $this->getZeroAmountAuthorizationId($payment);
332-
/** @var PaymentTokenInterface $vaultPaymentToken */
333-
$vaultPaymentToken = $payment->getExtensionAttributes()->getVaultPaymentToken();
334-
if ($vaultPaymentToken && empty($zeroAmountAuthorizationId)) {
335-
$payment->setAdditionalInformation(self::PNREF, $vaultPaymentToken->getGatewayToken());
336-
if (!$payment->getParentTransactionId()) {
337-
$payment->setParentTransactionId($vaultPaymentToken->getGatewayToken());
338-
}
339-
}
327+
$token = $payment->getAdditionalInformation(self::PNREF);
340328
parent::capture($payment, $amount);
341329

342-
if ($zeroAmountAuthorizationId && $vaultPaymentToken === null) {
343-
$this->createPaymentToken($payment, $zeroAmountAuthorizationId);
330+
if ($token && !$payment->getAuthorizationTransaction()) {
331+
$this->createPaymentToken($payment, $token);
344332
}
345333

346334
return $this;

0 commit comments

Comments
 (0)