=== CatCode Installments with Splitit for WooCommerce ===
Contributors: catcodestudio
Tags: splitit, installments, buy now pay later, credit card, woocommerce
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Let buyers split the order into monthly installments on the credit card they already have, through the hosted Splitit payment form.

== Description ==

Adds Splitit as a payment method to WooCommerce. Splitit splits the order total into monthly payments on the buyer's existing credit card — no new loan and no new application. At the checkout the buyer is sent to the hosted Splitit form, chooses the number of installments and enters the card there, so card details never touch your shop. You use your own Splitit merchant account.

* **Hosted Splitit form** — each order becomes a Splitit installment plan with the order total, the currency of the order, its number and the billing details, so the buyer does not type them again.
* **Verified before paid** — when the buyer comes back, the plan is checked with Splitit (Verify Authorization) and its amount and currency are compared with the order. Only then is the order paid; a different amount puts it on hold with a note.
* **Plain results** — a failed card returns the buyer to the checkout with the cart intact and the order marked failed; leaving the form keeps the order pending and the cart in place.
* **Check payment status** — a button on the order screen asks Splitit about the plan, for a buyer who closed the tab after paying, and shows how many installments are charged.
* **Refund from WooCommerce** — refunding the whole remaining amount of an order sends the refund to Splitit.
* **Installment line under the price** — Splitit's "Pay with Splitit $25.00/month" line on the product page (Splitit On-Site Messaging), following the chosen variation.
* **Your choices** — sandbox or live, the numbers of installments offered, 3-D Secure, an order total range.
* **Check credentials** and **Create a test plan** — the second makes a plan on your terminal and shows its form, so you can pay it with a Splitit test card in the sandbox.
* Works with the classic and the block checkout, HPOS. The client secret is stored encrypted.

= Pro =

The Pro version is sold on [catcode.com.ua](https://catcode.com.ua/modules/catcode-installments-with-splitit-for-woocommerce/), with a 7-day trial that never starts by itself:

* **Webhooks** — every plan reports its approval to the shop, so the order is paid even when the buyer never comes back from the form; pasted in the Merchant Hub, the same address brings cancellations, refunds, failed installment charges and disputes into the order notes.
* **Background check** — every 15 minutes the plans of pending orders are asked once more.
* **Charge when shipped** — the card is authorized at checkout and the plan is captured when the order becomes Completed or by a button on the order, with the tracking number.
* **Partial refunds** — any part of an order, with the Splitit refund strategy of your choice; refunds made in the Merchant Hub are recorded on the order.
* **Terminals per currency** — a separate Splitit terminal for each currency of a multi-currency shop.
* **More installment lines** — shop and category pages, the cart, and the Splitit strip on the home page.
* **Journal and CSV report** — the last Splitit events and a report of Splitit orders for reconciling with Splitit's settlement reports.
* Updates from catcode.com.ua.

The licence runs for 1-5 years and includes updates and support for that term; a purchased licence keeps its Pro features after the term ends. One key covers two sites: the shop and its test copy.

Splitit is a trademark of Splitit. This plugin is an independent integration made by CatCode; it is not an official plugin of Splitit and is not affiliated with or endorsed by it. You need your own Splitit merchant account; live payments need an account approved by Splitit.

Splitit's messaging rules: describe it as installments on the buyer's own existing card; "no additional interest*" / "no additional fees*" need the note "*Standard credit card T&Cs apply."

== External services ==

The plugin connects to Splitit (Splitit, [splitit.com](https://www.splitit.com/), documentation at [developers.splitit.com](https://developers.splitit.com/)), and only after you enter your credentials.

* Splitit API — `id.splitit.com` / `id.sandbox.splitit.com` for the access token, `web-api-v3.splitit.com` / `web-api-v3.sandbox.splitit.com` for the plans.
  * When you press "Check credentials", create a test plan, and whenever a token is needed: the client ID and the client secret.
  * When the buyer pays: the order total and currency, the terminal ID, the order number and order ID, the buyer's name, e-mail, phone and billing address, the language of the site, and the addresses Splitit returns the buyer to.
  * When the buyer comes back or you press "Check payment status": the plan number.
  * On a refund: the plan number and the amount.
  * Pro: the address of the shop's webhook with the plan, the tracking number on capture, and the refund strategy on a partial refund.
* Splitit form — the buyer is sent to the Splitit form (the address Splitit returns for the plan), where Splitit collects the card.
* Splitit On-Site Messaging — on the product page the browser loads Splitit's script from `web-components.splitit.com` with your terminal ID and the language of the site, and Splitit draws the installment line for the price shown.

[Splitit terms (USA)](https://www.splitit.com/legals/platform-agreement/usa-legal-terms/) · [Splitit privacy policy](https://www.splitit.com/legals/splitit-privacy-policy)

== Installation ==

1. Upload the plugin and activate it. WooCommerce must be active.
2. In the Splitit Merchant Hub find your client ID and client secret (Merchants Management → your merchant → Credentials; "Generate a new password" gives the secret) and the terminal ID (the API Key on the Details tab of the merchant).
3. In WooCommerce → **Splitit** choose sandbox or live, paste them, press "Check credentials" and save. Press "Create a test plan" to check the terminal.
4. WooCommerce → Settings → Payments: enable "Splitit" and place a test order (in the sandbox with the Splitit test card 4111 1111 1111 1111, any future date and any CVV).

== Frequently Asked Questions ==

= Do I need a Splitit account? =

Yes. A sandbox account is for testing; live payments need a merchant account approved by Splitit. The plugin does not do the onboarding.

= Who sets the minimum and maximum order total? =

Splitit sets the range of your terminal. Enter the same range on the plugin screen, so the method is not offered for orders outside it.

= The buyer paid but the order is still pending. =

The buyer closed the Splitit page before coming back to the shop. Press "Check payment status" on the order: the plugin asks Splitit and pays the order if the plan is approved.

= Can I refund a part of an order? =

A refund of the whole remaining amount goes from WooCommerce to Splitit. A part of an order can be refunded in the Splitit Merchant Hub.
Pro sends partial refunds from WooCommerce as well.

== Changelog ==

= 1.0.0 =
* First release.
