📄️ Introduction
Splitit's Installments API version 4 is the primary Splitit tool for establishing and maintaining installment plans. Establishing a plan with v4 follows a simple flow with two steps:
📄️ Authenticate
To authenticate to any v4 endpoint, you need to add both a bearer token and a API key as headers:
📄️ Card Validity
**Card Validity** checks whether any shopper card information you have is valid. You can use it to check a shopper's card data from previous transactions, or to check data as it is entered field by field. **Card Validity** is an extra safety check: To actually start the installment plan process, you have to officially pass card data again to **Get Offers**.
📄️ Get Offers
**Get Offers** is the important first step in establishing an installment plan. You call it, passing all available shopper information, in order to get a list of plans available to your shopper. The available plans are based on your shopper's location, their credit card's BIN, the amount they are spending, and their currency, among other factors (e.g., merchant location).
📄️ Authorize
**Authorize** creates a plan based on an offer that a shopper has selected. When calling it, you critically: provide the accepted *OfferId*, specify that the shopper accepted terms and conditions, and set *AutoCapture* to true or false (i.e., whether to capture the plan's first payment immediately or wait until an item is shipped). You can also set a *soft descriptor* and manage 3DS.
📄️ Update Offers
**Update Offers** lets you change details and get new offers for a plan number you created by calling **Get Offers**. Using it, you can change everything but plan amount or plan currency.
📄️ Get Checkout Link
Use **Get Checkout Link** is used if you want your shopper to checkout using a Splitit form, instead of the **Get Offers**/**Authorize** flow. Once your shopper is returned from the Splitit form, you will want to call **Get Installment Plan** to verify that they checked out successfully.
📄️ Get Installment Plan
**Get Installment Plan** lets you fetch full information for a single plan by searching its number. You can also call it to double check that a plan was successfully created on the Splitit servers after you redirected your shopper to a payment form using **Get Checkout Link**.
📄️ Search Plans
**Search Plans** lets you search for multiple plans at once using plan numbers and/or *MerchantOrderReferenceIds* (simultaneously). Note that unlike Splitit API v3, requests now go in the body.
📄️ Update Order
**Update Order** can only be called after **Authorization** has been called. Its primary use case is to update shipping status on a plan, which also captures a payment if `AutoCapture` was set to *false* when you called **Authorize**. **Update Order** also lets you update metadata and tracking numbers for plans.
📄️ Refund Plans
**Refund Plans** lets you partially or fully refund an installment plan.