Settings
API key. Created in Skinloop under API Keys & Webhooks. It needs thecheckout:create and checkout:read scopes. The games allowed on the key decide what buyers can pay with on your shop.
Webhook signing secret. Starts with whsec_. Skinloop shows it once, when you add the webhook.
Checkout redirect origin. Shown on the SellAuth payment method page for you to copy. It’s https://api.sellauth.com for every shop, so changing your shop’s domain later doesn’t affect it.
Webhook URL. Shown on the SellAuth payment method page for you to copy. It’s unique to your shop.
Connect your account
1
Create the API key
In Skinloop, open API Keys & Webhooks and click Create API Key. Name it
SellAuth, tick checkout:create and checkout:read, and leave the other scopes off. Under Allowed games, keep the games you want to accept. Copy the key, since Skinloop only shows it once.2
Approve the redirect origin
On the same page, add
https://api.sellauth.com under Checkout Redirect Origins. Buyers return through this address after paying. You can leave Checkout Redirect Defaults empty, because SellAuth sends the return URLs with every checkout.3
Add the webhook
In SellAuth, create a Skinloop payment method and copy its Webhook URL. In Skinloop, click Add Webhook under Webhooks, paste the URL into Endpoint URL and save. Make sure it receives the payment pending, completed and reverted events. Copy the signing secret, since Skinloop only shows it once.
4
Paste both values and save
Put the API key and the signing secret on the SellAuth payment method page and save.
When you save a new API key, SellAuth tests it with a $1.00 Skinloop checkout that nobody can pay and that expires in five minutes. If Skinloop refuses it, the error tells you what to fix and nothing is saved. You may see this checkout in your Skinloop dashboard.
Test it
Skinloop has no test mode, so testing means a real trade. Buy something cheap from your own shop and pay with a Rust skin, since Rust has no trade hold and you’ll see the result right away. Check that the invoice completes and delivers once. Then start a second order and cancel it on Skinloop’s page. Nothing should be delivered.How payments work
- The buyer picks Skinloop. SellAuth creates a checkout with your API key and sends the buyer to Skinloop’s page.
- The buyer chooses skins worth at least the order total and completes the Steam trade.
- The invoice shows Confirming while the trade is verified.
- Once Skinloop confirms the payment, SellAuth marks the invoice paid and delivers the order.
CS2 trade holds
Steam can hold a CS2 trade for up to 8 days, and Skinloop only completes the payment once the hold clears. The invoice stays Confirming until then, and the buyer sees a note explaining the wait. Rust payments usually finish in minutes. You don’t need to change anything for this. An invoice with a trade in progress doesn’t expire. Stock isn’t reserved during a hold. If the last unit sells to someone else in the meantime, the item is marked out of stock when the hold clears, and you can restock it or refund the buyer. To avoid holds entirely, allow only Rust on your API key.Fees and limits
All of the shared method settings apply, including a percentage or fixed fee or discount for choosing Skinloop. Skinloop charges in US dollars. If your shop or a product uses another currency, SellAuth converts the total to USD when the checkout opens. Skinloop charges no transaction fee. Payouts from your Skinloop balance are paid in USDT on Ethereum, with a 4% payout fee, a $2.00 network fee and a $10.00 minimum, after a manual review. Check Skinloop’s payout terms for current details. A buyer may pick skins worth more than the order total. The order is delivered as normal, and the extra value stays with you in Skinloop. SellAuth doesn’t refund it or credit it to the buyer. Subscriptions can’t be paid with Skinloop.Reversals
If Skinloop reverses a payment during a hold, the invoice fails and nothing is delivered. If it reverses a payment after delivery, the invoice moves to Charged back and the reversal appears under disputes, where your dispute automations apply. There’s no evidence to submit, because Skinloop has already made the decision. Contact Skinloop support if you think it’s wrong.Troubleshooting
Saving says the redirect origin was refused. Addhttps://api.sellauth.com under Checkout Redirect Origins in Skinloop, exactly as written, then save again.
Saving says the API key was rejected. The key was copied incompletely or has been revoked. Skinloop only shows a key once, so create a new one if needed.
Saving says the key can’t create or read checkouts. Give the key both checkout:create and checkout:read and allow at least one game. Skinloop doesn’t add access to an existing key, so create a new key and paste it in.
Buyers can’t open the Skinloop page. Your shop gets a notification with Skinloop’s reason. The usual causes are a revoked key, a removed redirect origin, or onboarding not being finished.
Payments complete but orders stay in Confirming or Pending. The webhook isn’t reaching SellAuth. Check that the endpoint in Skinloop uses your Webhook URL and that the signing secret in SellAuth matches. SellAuth also checks open invoices with Skinloop every few minutes, so orders normally catch up, but reversals are only reported through the webhook, so fix it even if orders seem fine.
A CS2 order has been in Confirming for days. This is the Steam trade hold, and it clears on its own within 8 days.
You get a notification that Skinloop needs review. Skinloop couldn’t determine the outcome of the trade. Contact Skinloop support and don’t take another payment for that order. The invoice stays in Confirming until it’s resolved.
Next steps
Supported payment methods
Everything else you can enable.
How checkout works
What buyers see once Skinloop is live.