Include item titles and SKUs in Stripe metadata
https://www.drupal.org/node/2840526
This commit is contained in:
@ -323,6 +323,20 @@ function uc_stripe_settings_form() {
|
||||
'#default_value' => variable_get('uc_stripe_poweredby', FALSE),
|
||||
);
|
||||
|
||||
$form['uc_stripe_settings']['uc_stripe_metadata_titles'] = array(
|
||||
'#type' => 'checkbox',
|
||||
'#title' => t('Metadata: Title'),
|
||||
'#description' => t('Include order item title(s) in Stripe metadata.'),
|
||||
'#default_value' => variable_get('uc_stripe_metadata_titles', FALSE),
|
||||
);
|
||||
|
||||
$form['uc_stripe_settings']['uc_stripe_metadata_models'] = array(
|
||||
'#type' => 'checkbox',
|
||||
'#title' => t('Metadata: Model'),
|
||||
'#description' => t('Include item model(s) (SKU(s)) in Stripe metadata.'),
|
||||
'#default_value' => variable_get('uc_stripe_metadata_models', FALSE),
|
||||
);
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
@ -539,7 +553,6 @@ function uc_stripe_charge($order_id, $amount, $data) {
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
// Charge the customer
|
||||
try {
|
||||
|
||||
@ -548,11 +561,32 @@ function uc_stripe_charge($order_id, $amount, $data) {
|
||||
throw new Exception('No customer ID found');
|
||||
}
|
||||
|
||||
// Set up titles and SKUs
|
||||
$titles = array();
|
||||
$models = array();
|
||||
foreach($order->products as $item){
|
||||
$titles[] = $item->title;
|
||||
$models[] = $item->model;
|
||||
}
|
||||
|
||||
if (variable_get('uc_stripe_metadata_titles',FALSE)==1 && variable_get('uc_stripe_metadata_models',FALSE)==1) {
|
||||
$metadata = array("titles" => implode(";", $titles),"models" => implode(";", $models));
|
||||
} elseif (variable_get('uc_stripe_metadata_titles',FALSE)==1 && variable_get('uc_stripe_metadata_models',FALSE)==0) {
|
||||
$metadata = array("titles" => implode(";", $titles));
|
||||
} elseif (variable_get('uc_stripe_metadata_titles',FALSE)==0 && variable_get('uc_stripe_metadata_models',FALSE)==1) {
|
||||
$metadata = array("models" => implode(";", $models));
|
||||
}
|
||||
|
||||
dpm($metadata,$name="metadata");
|
||||
dpm($titles,$name="titles");
|
||||
dpm($models,$name="models");
|
||||
|
||||
$params = array(
|
||||
"amount" => $amount,
|
||||
"currency" => strtolower($order->currency),
|
||||
"customer" => $stripe_customer_id,
|
||||
"description" => t("Order #@order_id", array("@order_id" => $order_id)),
|
||||
"metadata" => $metadata,
|
||||
);
|
||||
if (!empty($shipping_info)) {
|
||||
$params['shipping'] = $shipping_info;
|
||||
|
Reference in New Issue
Block a user