In drupal commerce, using the commerce payment payment module, I would like to display the amount paid and order balance in paid order like on the example below.
Subtotal ————- 20
TAX ——————— 3
Total —————— 23
Amount paid —– 23
Order balance —- 0
How could I achieve this ?
I’m close to get what I want. I created a module
I still have an issue : I don’t know how to get the order_ID ?
<?php /** * @file * Commerce Order Total and Balance Module. */ // implement hook_commerce_price_formatted_components_alter() function commerce_order_total_and_balance_commerce_price_formatted_components_alter(&$component_types) { // TO DO : retreive the order ID (or the order object) $order_id = 142; // load the order $order = commerce_order_load($order_id); // get the balance $balance = commerce_payment_order_balance($order); // rename and reorder component_type $component_types['base_price']['title'] = 'Total HT'; $component_types['base_price']['weight'] = -90; // rename and reorder component_type $component_types['tax|20_vat']['weight'] = -80; // rename and reorder component_type $component_types['commerce_price_formatted_amount']['title'] = 'Total TTC'; $component_types['commerce_price_formatted_amount']['weight'] = -50; if ($balance['amount'] <= 0) { // we display total payments and order balance only if order balance is zero or less // add component_type "total_paid" $component_types['total_paid']['title'] = 'Montant payé'; $component_types['total_paid']['weight'] = -40; $component_types['total_paid']['price']['currency_code'] = $component_types['commerce_price_formatted_amount']['price']['currency_code']; $component_types['total_paid']['price']['amount'] = $component_types['commerce_price_formatted_amount']['price']['amount']-$balance['amount']; // add component_type "order_balance" $component_types['order_balance']['title'] = 'Solde'; $component_types['order_balance']['weight'] = -30; $component_types['order_balance']['price'] = $balance; } }
Sponsored by SupremePR