> For the complete documentation index, see [llms.txt](https://docs.flycode.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flycode.com/docs/integrations/how-to-install-flycode-on-skio.md).

# Skio integration guide: install FlyCode on Skio

Install FlyCode on Skio for Shopify subscriptions: sign up, invite FlyCode as a Shopify collaborator, activate in Skio's marketplace, launch and troubleshoot.

{% hint style="info" %}
**TL;DR:** Sign up for FlyCode, invite FlyCode as a collaborator on your Shopify store with access to Skio, and FlyCode activates its app in Skio's marketplace and agrees a launch date with you. No code. From launch, FlyCode recovers failed Skio charges with machine-learning retry timing and coordinated messaging, and Skio stays your subscription system of record.
{% endhint %}

## Who this is for

Shopify merchants running subscriptions on Skio who want higher failed payment recovery than Skio's built-in retries and dunning. FlyCode works alongside Skio's cancellation flows, skip and swap features and passwordless portal; it takes over only the failed payment recovery.

## Prerequisites

* A Shopify store with Skio installed and active subscriptions.
* Shopify store owner or staff permission to invite collaborators.
* A FlyCode account (created in Step 1).

## Setup

{% stepper %}
{% step %}

### Sign up for FlyCode

Go to [flycode.com/get-started](https://www.flycode.com/get-started) and click Get Started. You will be asked for your store and subscription platform (Skio).

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FbzNWZNSUHMXokaoS0p8A%2FScreenshot%202025-06-25%20at%2014.52.49.png?alt=media&#x26;token=bed03654-9980-4e67-ad44-213ad6104bd0" alt=""><figcaption><p>Get started</p></figcaption></figure>
{% endstep %}

{% step %}

### Invite FlyCode as a collaborator in Shopify with access to Skio

In Shopify admin, go to Settings, Users and permissions, and add FlyCode as a collaborator using the email provided during sign-up, with access to Apps (Skio). This lets FlyCode's team complete the Skio activation for you.
{% endstep %}

{% step %}

### FlyCode activates the app in Skio's marketplace

FlyCode enables its integration in Skio's app marketplace on your store and confirms the connection is receiving charge and subscription events.

<figure><img src="https://857825088-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FedoXR9BFShbgporwvi7n%2Fuploads%2FD4X2P1YSnKPqg7mg23OA%2FScreen%20Shot%202023-12-05%20at%209.43.59%20PM.png?alt=media&#x26;token=ae807dd2-cbc2-4fd8-bd8e-87d4c035e718" alt=""><figcaption><p>FlyCode in the Skio marketplace</p></figcaption></figure>
{% endstep %}

{% step %}

### Set the launch date and go live

Agree a launch date. On activation FlyCode loads every existing charge in an error state and backfills the error details, so recovery starts on your current failed charges as well as new ones. Backfilling also runs whenever FlyCode receives a webhook for a charge it has not seen before. Decide whether FlyCode or Skio owns failed-payment emails so customers are not messaged twice.
{% endstep %}
{% endstepper %}

## How FlyCode behaves on Skio

* Acts on all existing and new charges in an error state.
* Retries soft declines with model-driven timing; does not retry hard declines, which go to backup payment methods or outreach.
* Writes recovered charges and status updates back to Skio and Shopify.
* Coordinates recovery emails with retries when FlyCode owns messaging.

## Go-live checklist

* [ ] FlyCode account created
* [ ] FlyCode added as a Shopify collaborator with Skio access
* [ ] FlyCode app activated in Skio's marketplace
* [ ] Skio's own failed-payment retries and emails aligned so only one engine acts on each charge
* [ ] Launch date agreed

## Troubleshooting

**FlyCode cannot activate the Skio app.** The collaborator invite has not been accepted or does not include Apps access. Re-check the invite under Settings, Users and permissions.

**Customers received duplicate emails.** Both Skio and FlyCode are sending failed-payment messages. Choose one owner.

**Recovery rate looks flat in the first weeks.** The per-merchant model needs 6 to 8 weeks to optimize; compare against your baseline in FlyCode's dashboard.

## FAQ

**Do I need a developer?** No. Setup is a collaborator invite and an app activation handled by FlyCode.

**Can I keep my existing Skio dunning flows?** Yes, but only one system should retry and email. Most merchants let FlyCode own recovery and keep Skio's cancellation and portal features unchanged. See [Can I use FlyCode if I already have dunning flows set up in Recharge or Skio?](https://help.flycode.com/flycode-and-shopify/compatibility-and-app-support)

**Does anything change in my Shopify checkout?** No.

## Related

* [FlyCode & Shopify](https://help.flycode.com/flycode-and-shopify) in the Help Center
* [Step-by-step: integrate FlyCode with Recharge](https://docs.flycode.com/docs/integrations/step-by-step-integrate-flycode-with-recharge)
* [Free churn analysis for Shopify subscriptions](https://www.flycode.com/churn-audit-failed-payments)
* [How FlyCode handles Shopify subscription failed payments](https://docs.flycode.com/docs/integrations/how-flycode-handles-shopify-subscription-failed-payments)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.flycode.com/docs/integrations/how-to-install-flycode-on-skio.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
