message: Allow customers to be created with Card sources
diff: use error::Error;
  use http;
  -use resources::{Address, Deleted, Discount, Source, Subscription};
  +use resources::{Address, CardParams, Deleted, Discount, Source, Subscription};
  use params::{List, Metadata};
  #[derive(Debug, Deserialize, Serialize)]
  @@ -10,6 +10,13 @@ pub struct CustomerShippingDetails {
  pub phone: String,
  }
  +#[derive(Serialize)]
  +#[serde(untagged)]
  +pub enum CustomerSource {
  + Token(String),
  + Card(CardParams),
  +}
  +
  #[derive(Serialize)]
  pub struct CustomerParams {
  #[serde(skip_serializing_if = "Option::is_none")] pub account_balance: Option<i64>,
  @@ -19,7 +26,7 @@ pub struct CustomerParams {
  #[serde(skip_serializing_if = "Option::is_none")] pub email: Option<String>,
  #[serde(skip_serializing_if = "Option::is_none")] pub metadata: Option<Metadata>,
  #[serde(skip_serializing_if = "Option::is_none")] pub shipping: Option<CustomerShippingDetails>,
  - #[serde(skip_serializing_if = "Option::is_none")] pub source: Option<String>,
  + #[serde(skip_serializing_if = "Option::is_none")] pub source: Option<CustomerSource>,
  }
  #[derive(Debug, Deserialize)]
  