📄️ Introduction
Establishing a plan with Splitit's Installments API v4 follows a simple flow:
📄️ 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 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. To **Get Offers** you must pass at least the following data: postal code and country, credit card number and expiration date, and amount of plan and currency. Note that if you don't pass all necessary shopper info here (e.g., name, full address, etc.), you will need to pass it later using **Update Offers**.
📄️ Authorize
**Authorize** creates a plan based on an offer that a shopper has selected. When calling it, you critically: provide the accepted *OfferId* (if you didn't pass it in **Update Offers**), 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. Use **Update Offers** to pass any shopper information you did not pass in **Get Offers**
📄️ 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.