function commerce_payment_preprocess_commerce_checkout_completion_message in Commerce Core 8.2
Implements hook_preprocess_commerce_checkout_completion_message().
File
- modules/
payment/ commerce_payment.module, line 129 - Provides payment functionality.
Code
function commerce_payment_preprocess_commerce_checkout_completion_message(&$variables) {
/** @var Drupal\commerce_order\Entity\OrderInterface $order */
$order = $variables['order_entity'];
if ($order
->get('payment_gateway')
->isEmpty()) {
return;
}
/** @var \Drupal\commerce_payment\Entity\PaymentGatewayInterface $payment_gateway */
$payment_gateway = $order
->get('payment_gateway')->entity;
/** @var \Drupal\commerce_payment\Plugin\Commerce\PaymentGateway\HasPaymentInstructionsInterface $payment_gateway_plugin */
$payment_gateway_plugin = $payment_gateway
->getPlugin();
if ($payment_gateway_plugin instanceof HasPaymentInstructionsInterface) {
$payment_storage = \Drupal::entityTypeManager()
->getStorage('commerce_payment');
$payments = $payment_storage
->loadMultipleByOrder($order);
$payments = array_filter($payments, function ($payment) use ($payment_gateway) {
return $payment
->getPaymentGatewayId() == $payment_gateway
->id();
});
$payment = reset($payments);
if ($payment) {
$variables['payment_instructions'] = $payment_gateway_plugin
->buildPaymentInstructions($payment);
}
}
}