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