function payment_rules_action_payment_line_item_add in Payment 7
Implements Rules action callback: add a line item.
Parameters
Payment $payment:
string $name: The line item's unique machine name.
string $description:
float $tax_rate: The tax rate that applies to the amount. Should be a float between 0 and 1.
integer $quantity:
integer|string $amount: The amount of money, either as an integer or string that contains placeholders or a Ctools math expression.
File
- ./
payment.rules.inc, line 392  - Rules integration.
 
Code
function payment_rules_action_payment_line_item_add(Payment $payment, $name, $description, $tax_rate, $quantity, $amount) {
  if (!is_numeric($amount)) {
    // Replace placeholders.
    $amount = token_replace($amount, array(
      'payment' => $payment,
    ));
    // Evaluate Ctools math expression.
    if (module_exists('ctools')) {
      $math = new ctools_math_expr();
      $amount = $math
        ->evaluate($amount);
    }
  }
  if (is_numeric($amount)) {
    $payment
      ->setLineItem(new PaymentLineItem(array(
      'name' => $name,
      'amount' => $amount,
      'description' => $description,
      'tax_rate' => $tax_rate,
      'quantity' => $quantity,
    )));
  }
}