recurly 48.0.0

Recurly client, generated from the OpenAPI spec.
Documentation
#![allow(unused_imports)]
use recurly::RecurlyClient;
use recurly::model::*;
#[tokio::main]
async fn main() {
    let client = RecurlyClient::from_env();
    let plan_code = "your plan code";
    let account = AccountCreate {
        acquisition: AccountAcquisitionUpdate {
            cost: Some(::serde_json::json!({})),
            channel: Some("your channel".to_owned()),
            campaign: Some("your campaign".to_owned()),
            subchannel: Some("your subchannel".to_owned()),
        },
        shipping_addresses: vec![
            ShippingAddressCreate { company : Some("your company".to_owned()), region :
            Some("your region".to_owned()), postal_code : "your postal code".to_owned(),
            country : "your country".to_owned(), street2 : Some("your street 2"
            .to_owned()), email : Some("your email".to_owned()), nickname :
            Some("your nickname".to_owned()), vat_number : Some("your vat number"
            .to_owned()), city : "your city".to_owned(), last_name : "your last name"
            .to_owned(), street1 : "your street 1".to_owned(), phone : Some("your phone"
            .to_owned()), first_name : "your first name".to_owned() }
        ],
        code: "your code".to_owned(),
        account_update: AccountUpdate {
            last_name: Some("your last name".to_owned()),
            bill_to: Some("your bill to".to_owned()),
            preferred_locale: Some("your preferred locale".to_owned()),
            username: Some("your username".to_owned()),
            transaction_type: Some("your transaction type".to_owned()),
            dunning_campaign_id: Some("your dunning campaign id".to_owned()),
            address: Some(Address {
                city: Some("your city".to_owned()),
                region: Some("your region".to_owned()),
                phone: Some("your phone".to_owned()),
                street2: Some("your street 2".to_owned()),
                postal_code: Some("your postal code".to_owned()),
                country: Some("your country".to_owned()),
                street1: Some("your street 1".to_owned()),
            }),
            exemption_certificate: Some("your exemption certificate".to_owned()),
            first_name: Some("your first name".to_owned()),
            email: Some("your email".to_owned()),
            cc_emails: Some("your cc emails".to_owned()),
            tax_exempt: Some(true),
            vat_number: Some("your vat number".to_owned()),
            parent_account_code: Some("your parent account code".to_owned()),
            invoice_template_id: Some("your invoice template id".to_owned()),
            billing_info: Some(BillingInfoCreate {
                vat_number: Some("your vat number".to_owned()),
                three_d_secure_action_result_token_id: Some(
                    "your three d secure action result token id".to_owned(),
                ),
                card_type: Some("your card type".to_owned()),
                fraud_session_id: Some("your fraud session id".to_owned()),
                primary_payment_method: Some(true),
                online_banking_payment_type: Some(
                    "your online banking payment type".to_owned(),
                ),
                last_name: Some("your last name".to_owned()),
                account_type: Some("your account type".to_owned()),
                name_on_account: Some("your name on account".to_owned()),
                gateway_token: Some("your gateway token".to_owned()),
                amazon_billing_agreement_id: Some(
                    "your amazon billing agreement id".to_owned(),
                ),
                tax_identifier_type: Some("your tax identifier type".to_owned()),
                number: Some("your number".to_owned()),
                address: Some(Address {
                    city: Some("your city".to_owned()),
                    region: Some("your region".to_owned()),
                    phone: Some("your phone".to_owned()),
                    street2: Some("your street 2".to_owned()),
                    postal_code: Some("your postal code".to_owned()),
                    country: Some("your country".to_owned()),
                    street1: Some("your street 1".to_owned()),
                }),
                ip_address: Some("your ip address".to_owned()),
                tax_identifier: Some("your tax identifier".to_owned()),
                backup_payment_method: Some(true),
                company: Some("your company".to_owned()),
                token_id: Some("your token id".to_owned()),
                gateway_code: Some("your gateway code".to_owned()),
                paypal_billing_agreement_id: Some(
                    "your paypal billing agreement id".to_owned(),
                ),
                account_number: Some("your account number".to_owned()),
                first_name: Some("your first name".to_owned()),
                sort_code: Some("your sort code".to_owned()),
                cvv: Some("your cvv".to_owned()),
                month: Some("your month".to_owned()),
                iban: Some("your iban".to_owned()),
                routing_number: Some("your routing number".to_owned()),
                type_: Some("your type".to_owned()),
                external_hpp_type: Some("your external hpp type".to_owned()),
                transaction_type: Some("your transaction type".to_owned()),
                year: Some("your year".to_owned()),
            }),
            parent_account_id: Some("your parent account id".to_owned()),
            custom_fields: Some(
                CustomFields(
                    vec![
                        CustomField { name : "your name".to_owned(), value : "your value"
                        .to_owned() }
                    ],
                ),
            ),
            company: Some("your company".to_owned()),
        },
    };
    let currency = "your currency";
    let response = client
        .create_subscription(plan_code, account, currency)
        .plan_id("your plan id")
        .billing_info_id("your billing info id")
        .shipping(SubscriptionShippingCreate {
            address: Some(ShippingAddressCreate {
                company: Some("your company".to_owned()),
                region: Some("your region".to_owned()),
                postal_code: "your postal code".to_owned(),
                country: "your country".to_owned(),
                street2: Some("your street 2".to_owned()),
                email: Some("your email".to_owned()),
                nickname: Some("your nickname".to_owned()),
                vat_number: Some("your vat number".to_owned()),
                city: "your city".to_owned(),
                last_name: "your last name".to_owned(),
                street1: "your street 1".to_owned(),
                phone: Some("your phone".to_owned()),
                first_name: "your first name".to_owned(),
            }),
            method_id: Some("your method id".to_owned()),
            method_code: Some("your method code".to_owned()),
            amount: Some(1.0),
            address_id: Some("your address id".to_owned()),
        })
        .collection_method("your collection method")
        .unit_amount(1.0)
        .tax_inclusive(true)
        .quantity(1)
        .add_ons(
            vec![
                SubscriptionAddOnCreate { code : "your code".to_owned(), add_on_source :
                Some("your add on source".to_owned()), unit_amount_decimal :
                Some("your unit amount decimal".to_owned()), tiers :
                Some(vec![SubscriptionAddOnTier { unit_amount : Some(1.0),
                ending_quantity : Some(1), unit_amount_decimal :
                Some("your unit amount decimal".to_owned()), usage_percentage :
                Some("your usage percentage".to_owned()) }]), percentage_tiers :
                Some(vec![SubscriptionAddOnPercentageTier { ending_amount : Some(1.0),
                usage_percentage : Some("your usage percentage".to_owned()) }]),
                usage_percentage : Some(1.0), quantity : Some(1), revenue_schedule_type :
                Some("your revenue schedule type".to_owned()), unit_amount : Some(1.0) }
            ],
        )
        .coupon_codes(&["your coupon codes"])
        .custom_fields(
            CustomFields(
                vec![
                    CustomField { name : "your name".to_owned(), value : "your value"
                    .to_owned() }
                ],
            ),
        )
        .trial_ends_at("your trial ends at")
        .starts_at("your starts at")
        .next_bill_date("your next bill date")
        .total_billing_cycles(1)
        .renewal_billing_cycles(1)
        .auto_renew(true)
        .ramp_intervals(
            vec![
                SubscriptionRampInterval { unit_amount : Some(1), starting_billing_cycle
                : Some(1) }
            ],
        )
        .revenue_schedule_type("your revenue schedule type")
        .terms_and_conditions("your terms and conditions")
        .customer_notes("your customer notes")
        .credit_customer_notes("your credit customer notes")
        .po_number("your po number")
        .net_terms(1)
        .transaction_type("your transaction type")
        .send()
        .await
        .unwrap();
    println!("{:#?}", response);
}