| 81 | } |
| 82 | |
| 83 | fn init_stripe_client(db: Db, config: &WebConfig) -> Option<stripe_premium::Client> { |
| 84 | match ( |
| 85 | &config.stripe_private_key, |
| 86 | &config.stripe_premium_product_id, |
| 87 | &config.stripe_premium_price_id, |
| 88 | &config.stripe_lite_product_id, |
| 89 | &config.stripe_lite_price_id, |
| 90 | ) { |
| 91 | ( |
| 92 | Some(stripe_private_key), |
| 93 | Some(stripe_premium_product_id), |
| 94 | Some(stripe_premium_price_id), |
| 95 | Some(stripe_lite_product_id), |
| 96 | Some(stripe_lite_price_id), |
| 97 | ) => { |
| 98 | info!("Stripe client created"); |
| 99 | Some(stripe_premium::Client::new( |
| 100 | db, |
| 101 | stripe_private_key.to_owned(), |
| 102 | stripe_lite_product_id.to_owned(), |
| 103 | stripe_lite_price_id.to_owned(), |
| 104 | stripe_premium_product_id.to_owned(), |
| 105 | stripe_premium_price_id.to_owned(), |
| 106 | )) |
| 107 | } |
| 108 | _ => { |
| 109 | warn!("One or more stripe settings not provided"); |
| 110 | None |
| 111 | } |
| 112 | } |
| 113 | } |