function commerce_purchase_order_preprocess_commerce_order_receipt in Commerce Purchase Order 8
Implements hook_preprocess_HOOK().
File
- ./
commerce_purchase_order.module, line 53 - Contains commerce_purchase_order.module..
Code
function commerce_purchase_order_preprocess_commerce_order_receipt(&$variables) {
$variables['payment_instructions'] = '';
/** @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);
}
}
}