--- title: "Authorize.net B2C - Creating One Time Charge and Subscription Products" slug: "authorize-net-b2c-creating-one-time-charge-subscription-product" updated: 2026-10-16T19:09:34Z published: 2026-10-16T19:08:03Z canonical: "support.lightspeedvt.com/authorize-net-b2c-creating-one-time-charge-subscription-product" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.lightspeedvt.com/llms.txt > Use this file to discover all available pages before exploring further. # Authorize.net B2C - Creating One Time Charge and Subscription Products ## Authorize.net: Creating B2C One-Time and Subscription Products ### Overview You build every Authorize.net product right inside your VT System, so you never have to create products or plans in Authorize.net. Once a product is saved, buyers can check out, pay through your Authorize.net gateway, and get access to their courses automatically. Each product uses one of two billing types: | Billing type | How the buyer pays | Good for | | --- | --- | --- | | One-Time | A single charge at checkout | Individual courses, lifetime access | | Subscription | A recurring charge on a set schedule until it's canceled or ends | Memberships, monthly coaching, ongoing content libraries | Subscriptions can also include an optional setup fee and a trial period. #### Before you begin Have these ready so you can set up each product in one pass: • **A connected Authorize.net account**. If you haven't connected it yet, follow [Authorize.net Integration](/v1/docs/authorize-net-integration) first, including the webhook step. Without the webhook, your VT System can't remove access when a subscription is canceled or a payment is refunded. • **Admin access to your VT System** with permission to open the Super User Dashboard. • T**he content you're selling**, set up as courses with the content roles a buyer should receive. • **Your pricing**: the amount, billing type, and, for subscriptions, the billing interval, any setup fee, and any trial period. Please note: Authorize.net can't create a subscription for $0. If you want a free first period, use a trial period instead of a 100% discount ### Step 1: Enable Individual Purchase Settings in LSVT Authorize.net Integration 1. Sign in to your VT System as an Admin. 2. Open the **Super User Dashboard** and select **110 Authorize.net Integration**. 3. Open **Individual Purchase Settings** and click on **Settings**. 4. Toggle **Enabled** to **Yes**. 5. Choose **Location** or **System** (applied to multiple locations) to create a user account after a successful transaction. 6. Under **System** field choose your system. Specify a location, if **Location** was chosen. 7. In **Content Roles** field you can add Content roles that will be assigned by default to any products created later. ![anet_ind_purchase_settings](https://cdn.document360.io/4b9cf9ed-c1b6-4848-a21b-3a266775c016/Images/Documentation/anet_ind_purchase_settings.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A45%3A46Z&se=2026-10-26T20%3A45%3A46Z&sr=c&sp=r&sig=kqfgh3PWdUr9WSHhXuPpSr8MYT208c72ZA9TOupI9f8%3D) 1. You have an option to configure **Custom JavaScript**, **Pixel Code** and **Terms and Conditions**. 2. Click **Save and Continue** to save your **Individual Purchase Settings**. ![anet_js_pixel_save](https://cdn.document360.io/4b9cf9ed-c1b6-4848-a21b-3a266775c016/Images/Documentation/anet_js_pixel_save.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A45%3A46Z&se=2026-10-26T20%3A45%3A46Z&sr=c&sp=r&sig=kqfgh3PWdUr9WSHhXuPpSr8MYT208c72ZA9TOupI9f8%3D) ### Step 2: Open your products in LSVT Authorize.net Integration 1. Open **Individual Purchase Settings** and click on **Products** section. Any products you've already created are listed here, each with an **Edit** button. 2. Click **+ New Product** to start a new one. Every product starts with the same basic details: • **Product Name**: the name buyers see at checkout, such as Sales Foundations Course. • **Description** (optional): a short summary of what the buyer gets. • **Product Type**: choose **One-time** or **Subscription**. Then continue with Step 3 or Step 4 below. ### Step 3: Create a One-Time Product Use a one-time product when the customer pays once and keeps access. 1. Set **Product Type** to **One-Time**. 2. Enter the **Product Amount** in US dollars, such as `199.99` or `199` 3. Skip to **Step 6** to choose what the customer gets. ![anet_b2c_one_time_product_config1](https://cdn.document360.io/4b9cf9ed-c1b6-4848-a21b-3a266775c016/Images/Documentation/anet_b2c_one_time_product_config1.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A45%3A46Z&se=2026-10-26T20%3A45%3A46Z&sr=c&sp=r&sig=kqfgh3PWdUr9WSHhXuPpSr8MYT208c72ZA9TOupI9f8%3D) The buyer's card is charged in full at checkout. Nothing renews, so there's nothing for the buyer to cancel later. ### Step 4: Create a Subscription Product Use a subscription when the customer pays on a recurring schedule and keeps access only while the subscription is active. Your VT System creates the recurring billing in Authorize.net for you when the customer checks out. 1. Set **Product Type** to **Subscription**. 2. Enter the **Product Amount** in US dollars, such as `49.99` or `49` 3. Set the **Interval Length**, meaning how often the buyer is charged. Authorize.net accepts 1 to 12 months, or 7 to 365 days. For quarterly billing, choose every 3 months. 1. **Optional:** enter a **Setup Fee Amount**, a one-time charge added to the first payment. 2. **Optional:** add a **Trial Period**. Enter the Trial Amount and how many billing cycles it lasts. | Example | Price | Interval | Setup fee | Trial | | --- | --- | --- | --- | --- | | Monthly membership | $49.99 | Every 1 month | None | None | | Coaching program | $199.00 | Every 1 month | $99.00 | None | | Membership, first month free | $49.00 | Every 1 month | None | 1 cycle at $0 | ![anet_b2c_subscr_product_config1](https://cdn.document360.io/4b9cf9ed-c1b6-4848-a21b-3a266775c016/Images/Documentation/anet_b2c_subscr_product_config1.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A45%3A46Z&se=2026-10-26T20%3A45%3A46Z&sr=c&sp=r&sig=kqfgh3PWdUr9WSHhXuPpSr8MYT208c72ZA9TOupI9f8%3D) When a buyer cancels, a payment fails, or the subscription ends, Authorize.net notifies your VT System through the webhook and the customer's access is updated automatically. ![anet_b2c_subscr_product_config3](https://cdn.document360.io/4b9cf9ed-c1b6-4848-a21b-3a266775c016/Images/Documentation/anet_b2c_subscr_product_config3.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A45%3A46Z&se=2026-10-26T20%3A45%3A46Z&sr=c&sp=r&sig=kqfgh3PWdUr9WSHhXuPpSr8MYT208c72ZA9TOupI9f8%3D) 1. Continue to **Step 6** to choose what the buyer gets. ### Step 5: Add coupon codes (optional) Coupons let you run promotions without creating a separate product. 1. Check **Use Coupons** on the product. 2. Add each code on its own line, with no commas. - `SPRING10|10$` is $10 off - `SPRING20|20%` is 20% off - `SPRING50|50$|initial` is $50 off the setup fee only Please note: Codes are case sensitive, so **SPRING10** and **spring10** are different codes. A 100% discount fails on subscriptions because Authorize.net rejects `$0` subscriptions; use a 99% code or a `$0` trial instead. See [Authorize.net Coupon Code Generation](/v1/docs/coupon-code-generation) for more. ### Step 6: Choose what the customer gets This step controls which content unlocks after payment, for one-time and subscription products alike. 1. Choose the **Access Level** for new customers, such as Individual Subscriber [10]. 2. Select **Add Content Roles** the buyer receives on purchase, such as **Course A**. 3. **Optional:** select **Remove Content Roles** to remove on purchase. For example, remove **SELLABLE: Course A** so the customer stops seeing the course as something to buy. ![anet_b2c_subscr_product_config2](https://cdn.document360.io/4b9cf9ed-c1b6-4848-a21b-3a266775c016/Images/Documentation/anet_b2c_subscr_product_config2.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A45%3A46Z&se=2026-10-26T20%3A45%3A46Z&sr=c&sp=r&sig=kqfgh3PWdUr9WSHhXuPpSr8MYT208c72ZA9TOupI9f8%3D) For subscriptions, the roles you add here are removed automatically if the subscription is canceled, expires, or is terminated, or if a payment is refunded or voided. ### Step 7: Code snippet The **Code Snippet** section gives you the embed code that puts your Authorize.net checkout on your website. You can also adjust a few checkout settings here before you copy it. 1. **Location ID** (optional): Enter the ID of the location where buyers’ user accounts should be created. Skip this if you already chose a location in **Individual Purchase Settings**. 2. **Address fields** (optional): Turn these on if you want to collect buyers’ billing or mailing addresses at checkout. 3. **Code Snippet**: Copy the embed code and add it to your front-door site. Buyers can’t purchase until the checkout is live on a page they can reach. The product also lists the assets you’ll need for a sellable course, such as **Widget ID** and **Data ID**. Keep them handy if you plan to build a sellable course in your Training Center later. ![anet_b2c_one-time_product_config3_codesnippet](https://cdn.document360.io/4b9cf9ed-c1b6-4848-a21b-3a266775c016/Images/Documentation/anet_b2c_one-time_product_config3_codesnippet.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A45%3A46Z&se=2026-10-26T20%3A45%3A46Z&sr=c&sp=r&sig=kqfgh3PWdUr9WSHhXuPpSr8MYT208c72ZA9TOupI9f8%3D) ### Step 8: Save, test and share Run one real purchase end to end before you place the checkout on your live front-door site. 1. Create a low-priced test product (for example, $1.00) or apply a 99% coupon to an existing one. 2. Open the product's checkout page in **[Codepen](https://codepen.io/pen?&editors=110)** and buy it with a real card, using a new email address. 3. Confirm the charge appears in Authorize.net under **Transaction Search** or **Unsettled Transactions.** 4. Sign in to your VT System as the new user and confirm the purchased courses are unlocked. 5. Void or refund the test charge in Authorize.net, then deactivate the test user. Once all five checks pass, you're ready to sell. ### Troubleshooting | What you see | Likely cause | What to do | | --- | --- | --- | | Authentication or "invalid credentials" error | Typo or extra space in the API Login ID or Transaction Key | Re-copy both values, check for spaces, and save again | | Connection worked before, now fails | Transaction Key was regenerated in Authorize.net | Paste the new key into 110 Authorize.net Integration | | Charge is declined | Merchant account issue, or the card was declined | Check the decline reason in Authorize.net; contact your merchant provider if it persists | | Payment succeeds but no course access | Product isn't mapped to the right courses or roles | Edit the product in 110 Authorize.net Integration and confirm its content | | A 100% coupon won't check out | Authorize.net doesn't allow $0 subscriptions | Use a 99% coupon, a small charge, or a free trial period | | Coupon code isn't accepted | Codes are case sensitive or the format is off | Match the exact case and use the coupon format shown in Step 2 | ### FAQ **Does LightSpeed VT process my payments?** No. LightSpeed VT connects to Authorize.net, which sends funds to your merchant account. Fees and payouts are between you, Authorize.net, and your merchant provider. **Can I offer trials, tiered pricing, or Apple Pay?** Authorize.net supports simple trial periods and setup fees, but not trial roles, tiered pricing, PayPal, Google Pay, or Apple Pay. For those, consider Stripe or Maxio. **Can I switch to Stripe later?** Yes. Reach out to Client Care and we'll help you plan the move. ### Need help? Our Client Care team is happy to walk through setup with you. Email [support@lightspeedvt.com](http://support@lightspeedvt.com) or call (702) 369-4260. ### Sources • [Which E-Commerce Platform is Right for You?](/v1/docs/which-e-commerce-platform-is-right-for-you) - LightSpeed VT • [Authorize.net Coupon Code Generation](/v1/docs/coupon-code-generation) - LightSpeed VT • [Common setup questions](https://developer.authorize.net/hello_world/common_setup_questions.html) - Authorize.net Developer Center • [API Login ID and Transaction Key](https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271) - Authorize.net Support ## Related - [Authorize.net Integration](/authorize-net-integration.md) - [Authorize.net Coupon Code Generation](/coupon-code-generation.md)