#![allow(unused_imports)]
use recurly::RecurlyClient;
use recurly::model::*;
#[tokio::main]
async fn main() {
let client = RecurlyClient::from_env();
let plan_id = "your plan id";
let response = client
.update_plan(plan_id)
.id("your id")
.code("your code")
.name("your name")
.description("your description")
.accounting_code("your accounting code")
.trial_unit("your trial unit")
.trial_length(1)
.trial_requires_billing_info(true)
.total_billing_cycles(1)
.auto_renew(true)
.ramp_intervals(
vec![
PlanRampInterval { currencies : Some(vec![PlanRampPricing { unit_amount :
1.0, currency : "your currency".to_owned() }]), starting_billing_cycle :
Some(1) }
],
)
.custom_fields(
CustomFields(
vec![
CustomField { name : "your name".to_owned(), value : "your value"
.to_owned() }
],
),
)
.revenue_schedule_type("your revenue schedule type")
.setup_fee_revenue_schedule_type("your setup fee revenue schedule type")
.setup_fee_accounting_code("your setup fee accounting code")
.avalara_transaction_type(1)
.avalara_service_type(1)
.tax_code("your tax code")
.tax_exempt(true)
.currencies(
vec![
PlanPricing { setup_fee : Some(1.0), tax_inclusive : Some(true), currency
: Some("your currency".to_owned()), unit_amount : Some(1.0) }
],
)
.hosted_pages(PlanHostedPages {
cancel_url: Some("your cancel url".to_owned()),
bypass_confirmation: Some(true),
success_url: Some("your success url".to_owned()),
display_quantity: Some(true),
})
.allow_any_item_on_subscriptions(true)
.dunning_campaign_id("your dunning campaign id")
.send()
.await
.unwrap();
println!("{:#?}", response);
}