agentsclimarketplace

Merchant setup

Skill xsolla/xsolla-ai-kit/skills/merchant-setup

Guide for setting up a new Xsolla merchant account and obtaining API credentials. Use this skill whenever a user needs to create an Xsolla Publisher Account, get API keys, understand the difference between merchant-level and project-level API keys, set up sandbox mode for testing, or asks how to start integrating with Xsolla Pay Station. Also trigger when a user says they want to accept payments via Xsolla, start an Xsolla integration, or test Xsolla payments. Claude Code cannot create the account on behalf of the user — this skill provides the exact steps the user must complete manually before integration can begin.From its SKILL.md

Install
npx -y skills add xsolla/xsolla-ai-kit --skill merchant-setup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.1 KB, as published. Nobody here has run it

Merchant Setup

AI Agent cannot create an Xsolla account automatically. The user must complete the registration steps manually.

Step 0: Check for Existing Credentials

Before anything else, check for a .env file in the project root:

# Check if .env exists and contains Xsolla variables
cat .env 2>/dev/null | grep -E "XSOLLA_MERCHANT_ID|XSOLLA_PROJECT_ID|XSOLLA_PROJECT_API_KEY"

If all three variables are present and non-empty — credentials are already configured. Report them to the user (show names and values, except mask the API key as ****) and proceed directly with the integration. Skip all steps below.

✅ Found in .env:
   XSOLLA_MERCHANT_ID=887981
   XSOLLA_PROJECT_ID=308077
   XSOLLA_PROJECT_API_KEY=****  (set)

If the file is missing or any variable is absent — walk the user through the steps below, then write the credentials to .env at the end (Step 5).


Step 1: Create a Publisher Account

Direct the user to: https://publisher.xsolla.com/signup

Individual vs. Company account

IndividualCompany
When to useJust testing, evaluating Xsolla, quick sandbox setupCommitted to going live, need a contract
RegistrationSimple — email, Google, or social loginRequires company details for the licensing agreement
ContractStill needed for live payments, but can skip for sandboxSubmit from the Agreements tab once ready

For pure exploration and sandbox testing, an individual account is the fastest path. The user can always add company details later when submitting the licensing agreement.

Publisher Account uses two-factor authentication. Confirmation code is sent to the registered email.


Step 2: Extract IDs from a Publisher Account URL

The user doesn't need to hunt for IDs — they're embedded in every Publisher Account URL. Parse them directly if the user shares a link.

URL pattern:

https://publisher.xsolla.com/{merchant_id}/projects/{project_id}/...

Examples:

  • https://publisher.xsolla.com/887981/settings/api_key → merchant_id = 887981
  • https://publisher.xsolla.com/887981/projects/308077/edit/api_key → merchant_id = 887981, project_id = 308077

If the user doesn't share a URL, tell them:

  • Merchant ID: visible in the URL on any Publisher Account page, or under Company settings → Company
  • Project ID: visible in the sidebar next to the project name, or in the URL when inside a project

Step 3: Generate a Project-Level API Key

⚠️ Critical: The API key is shown only once at creation time. It is never sent by email. The user must copy and save it immediately — it cannot be recovered.

For standard integration, the project-level key is sufficient.

  • Location: Project settings → API key
  • Direct URL: https://publisher.xsolla.com/{merchant_id}/projects/{project_id}/edit/api_key
  • Scope: this project only
  • Auth format: Authorization: Basic Base64({project_id}:{api_key})

To generate:

  1. Open the URL above (with the real IDs)
  2. Click Create
  3. Copy and store the value immediately

Merchant-level API key (optional)

Only needed for Xsolla CLI or API calls where the endpoint URL has no project_id path parameter.

  • Location: Company settings → API keys → https://publisher.xsolla.com/{merchant_id}/settings/api_key
  • Auth format: Authorization: Basic Base64({merchant_id}:{api_key})

Rule of thumb: if the API endpoint URL contains {project_id}, use the project-level key. If it doesn't, use the merchant-level key.


Step 4: Sandbox Mode — No Contract Needed

ℹ️ Development can start immediately after account creation — no signed contract required.

A project-level API key is all that's needed to run a full sandbox integration: create tokens, test the payment UI, configure the catalog.

When going live, the only change needed is switching the mode from sandbox to production in the integration. Everything else stays the same.

What requires a signed licensing agreement (submit from the Agreements tab in Publisher Account):

  • Accepting real payments from end users
  • Completing the Tax Interview (W-8 for non-US / W-9 for US)

Contract review typically takes a few business days — submit it well before the planned launch date. Full go-live checklist (utils probe, flip sandbox flags, deploy, live payment tests): production.


Quick Reference

ResourceURL
Sign uphttps://publisher.xsolla.com/signup
Publisher Accounthttps://publisher.xsolla.com
API Referencehttps://developers.xsolla.com/api
Getting started guidehttps://developers.xsolla.com/get-started/work-in-pa/create-first-project/
FAQ — API keyshttps://developers.xsolla.com/dev-resources/faq/general/#faq_project_settings

Step 5: Write Credentials to .env

Once all credentials are confirmed, write them to .env in the project root. Use the XSOLLA_* variable names — other skills depend on these exact names.

If .env already exists, append or update only the Xsolla variables without touching existing content:

# Remove any existing XSOLLA_* lines, then append fresh values
sed -i.bak '/^XSOLLA_/d' .env && rm .env.bak
cat >> .env << EOF

# Xsolla credentials
XSOLLA_MERCHANT_ID={merchant_id}
XSOLLA_PROJECT_ID={project_id}
XSOLLA_PROJECT_API_KEY={api_key}
EOF

If .env does not exist, create it:

cat > .env << EOF
# Xsolla credentials
XSOLLA_MERCHANT_ID={merchant_id}
XSOLLA_PROJECT_ID={project_id}
XSOLLA_PROJECT_API_KEY={api_key}
EOF

After writing, confirm to the user:

✅ Written to .env:
   XSOLLA_MERCHANT_ID={merchant_id}
   XSOLLA_PROJECT_ID={project_id}
   XSOLLA_PROJECT_API_KEY=****

⚠️ Remind the user to add .env to .gitignore if it isn't there already — the API key must not be committed to version control.

grep -q "^\.env" .gitignore 2>/dev/null || echo ".env" >> .gitignore

Checklist

  • .env checked for existing credentials (Step 0)
  • Publisher Account created (individual or company)
  • Merchant ID known
  • Project ID known
  • Project-level API key generated and saved securely
  • Credentials written to .env
  • .env added to .gitignore
  • (Optional) Merchant-level API key saved — only needed for CLI or cross-project API calls

Once credentials are in .env, proceed with the integration.

Keep looking

Skills are one crate of 628,971. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.