As long as client email is required for any operation:
http://apps.cybersource.com/library/documentation/sbc/api_guide/html/cre...

and email is not set in anonymous orders:

/* File uc_order.module */
function uc_order_new($uid = 0, $state = 'in_checkout') {
  $order = new stdClass();

  if ($uid > 0) {
    $user = user_load(array('uid' => $uid));
    $email = $user->mail;
  }
  ........
  $order->primary_email = $email;
  ........
}

/* File uc_cybersource.module*/
function _uc_cybersource_soap_charge($order, $amount, $data, $cc_type, $country) {
    ................
    $billTo->email = $order->primary_email;
    $billTo->customerID = $order->uid;
    $request->billTo = $billTo;
    ..............
}

it is not possible to purchase anonymously with CyberSource gateway.

I think the best choice is to add an email field to the billing form, but it will require some database changes.

Comments

jherencia’s picture

Category: task » bug
jherencia’s picture

Status: Active » Closed (fixed)

It works if you activate the "Customer information" checkout pane.