function _uc_credit_save_cc_data_to_order in Ubercart 7.3
Saves a CC data array to an order's data array.
2 calls to _uc_credit_save_cc_data_to_order()
- uc_credit_terminal_form_submit in payment/
uc_credit/ uc_credit.admin.inc - Submit handler for credit terminal form.
- uc_credit_uc_order in payment/
uc_credit/ uc_credit.module - Implements hook_uc_order().
File
- payment/
uc_credit/ uc_credit.module, line 968 - Defines the credit card payment method and hooks in payment gateways.
Code
function _uc_credit_save_cc_data_to_order($cc_data, $order_id) {
// Save only some limited, PCI compliant data.
$cc_data['cc_number'] = substr($cc_data['cc_number'], -4);
unset($cc_data['cc_cvv']);
// Load up the existing data array.
$data = db_query("SELECT data FROM {uc_orders} WHERE order_id = :id", array(
':id' => $order_id,
))
->fetchField();
$data = unserialize($data);
// Stuff the serialized and encrypted CC details into the array.
$crypt = new UbercartEncryption();
$data['cc_data'] = $crypt
->encrypt(uc_credit_encryption_key(), base64_encode(serialize($cc_data)));
uc_store_encryption_errors($crypt, 'uc_credit');
// Save it again.
db_update('uc_orders')
->fields(array(
'data' => serialize($data),
))
->condition('order_id', $order_id)
->execute();
}