This commit is contained in:
2026-02-02 15:18:51 +01:00
parent 7a26dd69a5
commit ae0ee002ec
170 changed files with 7446 additions and 1519 deletions

View File

@@ -128,9 +128,16 @@ class PaynowPaymentProcessor
$order->reference
]
);
$idempotency_key = $this->generateIdempotencyKey($external_id);
$idempotency_key = PaynowKeysGenerator::generateIdempotencyKey($external_id);
$payment_request_data = $this->paymentDataBuilder->fromOrder($order);
if ( !PaynowPaymentLockData::checkIsCartLocked($order->id_cart, $order->id) ) {
throw new PaynowPaymentAuthorizeException(
'Cannot create another payment transaction',
$external_id
);
}
return $this->sendPaymentRequest($payment_request_data, $idempotency_key);
}
@@ -146,15 +153,17 @@ class PaynowPaymentProcessor
$external_id
]
);
$idempotency_key = $this->generateIdempotencyKey($external_id);
$idempotency_key = PaynowKeysGenerator::generateIdempotencyKey($external_id);
$payment_request_data = $this->paymentDataBuilder->fromCart($cart, $external_id);
return $this->sendPaymentRequest($payment_request_data, $idempotency_key);
}
if ( !PaynowPaymentLockData::checkIsCartLocked($cart->id) ) {
throw new PaynowPaymentAuthorizeException(
'Cannot create another payment transaction',
$external_id
);
}
private function generateIdempotencyKey($external_id): string
{
return substr(uniqid($external_id . '_', true), 0, 45);
return $this->sendPaymentRequest($payment_request_data, $idempotency_key);
}
/**
@@ -165,11 +174,11 @@ class PaynowPaymentProcessor
if (PaynowConfigurationHelper::CREATE_ORDER_BEFORE_PAYMENT === (int)Configuration::get('PAYNOW_CREATE_ORDER_STATE') && ! empty($this->module->currentOrder)) {
$order = new Order($this->module->currentOrder);
$this->externalId = $order->reference;
$this->externalId = PaynowKeysGenerator::generateExternalIdByOrder($order);
} else {
$cart = $this->context->cart;
$this->externalId = uniqid($cart->id . '_', false);
$this->externalId = PaynowKeysGenerator::generateExternalIdByCart($cart);
}
}