# WeChat: OAuth app setup and approval
Gated · Partial · updated 27 Oct 2026 · https://oauth-guide.akshatsethi.com/apps/wechat

> Getting to public launch is hard. You must register a company with the WeChat Open Platform (open.weixin.qq.com), pay for developer verification and pass a manual review of your website app, and until that review passes, not even your own account can connect.

- **Your hands-on work:** 2–6 h
- **Waiting on WeChat:** 4–14 days
- **First user can connect:** Only after developer verification and website app review both pass, roughly 1 to 2 weeks according to developer reports
- **Why Gated:** WeChat Login for websites requires paid developer verification that individuals reportedly can't get, plus a manual app review before any account can connect.
- **Using Composio?** WeChat isn't in Composio's managed-auth or bring-your-own lists (checked 2026-10-27), so expect to register your own Open Platform app and use it with whatever OAuth client you choose.

## Path to launch
### Build: Approved website app
- Who can connect: No one until the app is approved. After that, any WeChat user who scans the QR code.
- What users see: Before approval, the QR login page fails with errors (scope or redirect errors). After approval, users see the WeChat QR code login page with your app name.
- Effort: 2–6 h · Wait: 4–14 days
- Next: Once the website app is approved and its WeChat Login interface shows as granted, the same app works for every user. There is no separate launch review.
- _(Community [1, 3, 4, 5], medium confidence)_

### Launch: Public launch
- Who can connect: Any WeChat user
- What users see: The WeChat QR code login (scope snsapi_login), confirmed on their phone
- Effort: None · Wait: None
- _(Inferred [1, 4], medium confidence)_

## Before you start
- [ ] **WeChat Open Platform developer account** (You). Register at open.weixin.qq.com with an email address that isn't used by any other WeChat platform account. _(Community [3, 7], medium confidence)_
- [ ] **Registered company or organization** (You). Developers report that developer verification takes only enterprise, government or organization materials, not individuals. Mainland verification reportedly needs the legal representative's face scan and a corporate bank account. _(Community [4, 5, 6], medium confidence)_
- [ ] **Developer verification fee** (You). Reported as 300 CNY for mainland entities and 99 USD for overseas entities, charged yearly and not refundable. _(Community [6, 7], medium confidence)_
- [ ] **Live website and callback domain** (You). You need a working website and the domain where your redirect URI lives. Your redirect_uri must be on the authorization callback domain you declared during review. _(Docs [1])_
- [ ] **Signed website information registration form** (You). Submit the 微信开放平台网站信息登记表 (website information registration form). The app name on it must match the app name you enter. If the site's operator differs from the verified entity, you also need an authorization letter. _(Community [5], medium confidence)_

## Steps
1. **Register a WeChat Open Platform account** (You, 15–30 min). Sign up at open.weixin.qq.com with an email address and activate the account. Each WeChat platform (Official Accounts, Mini Programs, Open Platform) needs its own email address. _(Community [3, 7], medium confidence)_
   - Go to open.weixin.qq.com and choose to register
   - Use an email address not tied to another WeChat platform account
   - Confirm the activation email and bind an administrator WeChat account
   - Agent: A person has to sign up and scan QR codes with their phone. An agent can fill in profile fields once signed in.
   - Watch out: An email address already used for an Official Account or Mini Program can't be reused here.
2. **Apply for developer verification and pay** (You, 1–2 h). In Account Center, open 开发者资质认证 (developer verification). Accept the agreement, submit your company documents, enter invoice details and pay the fee. _(Community [3, 4, 5, 6], medium confidence)_
   - Account Center > 开发者资质认证
   - Accept the service agreement
   - Upload business license and entity details, then complete the legal representative and corporate bank checks
   - Enter invoice details and pay (reported as 300 CNY, or 99 USD overseas)
   - Agent: An agent can fill in text fields. Payment, identity checks and document uploads need a person.
   - Watch out: Individual-type accounts can't complete this step. The fee is reportedly not refunded if you're rejected.
3. **Wait for verification approval** (Provider, wait 1–7 days). Tencent reviews your verification. Developers report 1 to 3 days, and some report about a week. _(Community [5, 6], medium confidence)_
   - Watch out: Incomplete materials send you back through review. Submit everything the first time.
4. **Create a website app** (You, 30–90 min). In 管理中心 (Management Center) > 网站应用 (website apps), click 创建网站应用 (create website app). Enter the basic info and website info, including app name, logo, website URL and the authorization callback domain, then upload the signed website information registration form. _(Community [3, 4, 5], medium confidence)_
   - Management Center > 网站应用 > 创建网站应用
   - Fill in basic info: app name, description, logo
   - Fill in website info: website URL and authorization callback domain (domain only, e.g. www.example.com, no scheme or path)
   - Upload the signed website information registration form
   - Submit for review
   - Agent: An agent can fill in the form fields and the callback domain. A person should sign the registration form, upload it and submit.
   - Watch out: Enter only the domain for the callback domain. The app name must exactly match the name on the registration form, or the review is rejected.
5. **Wait for website app review** (Provider, wait 3–7 days). Tencent reviews the website app. Developers report up to about 7 days. Some say verification and app creation can run in parallel. _(Community [5, 7], low confidence)_
   - Watch out: A rejection restarts the review clock.
6. **Confirm WeChat Login is granted** (Agent, 5–10 min). Open the approved app. Check that 微信登录 (WeChat Login) shows as granted under 接口信息 (interface info), and note the AppID. _(Community [4], medium confidence)_
   - Open the app from the 网站应用 list
   - Check that 接口信息 > 微信登录 is granted
   - Copy the AppID
   - Agent: An agent can check the status and copy the AppID. A person should reveal the AppSecret and put it in your OAuth client's secret store.
   - Watch out: If WeChat Login isn't granted, authorization fails with a scope error.
7. **Store the AppSecret in your OAuth client** (You, 5–10 min). Generate or reveal the AppSecret. Store it server-side in your OAuth client, since the token exchange at api.weixin.qq.com/sns/oauth2/access_token needs it. _(Docs [1], medium confidence)_
   - Reveal the AppSecret (this needs administrator QR confirmation)
   - Save it in your OAuth client's secret storage
   - Agent: A person handles this step. Don't give the secret to an agent.
   - Watch out: Never put the AppSecret in front-end code.
8. **Configure your OAuth client endpoints** (Agent, 15–30 min). Set the authorize URL to https://open.weixin.qq.com/connect/qrconnect with appid, a URL-encoded redirect_uri, response_type=code, scope=snsapi_login and state. The token URL is https://api.weixin.qq.com/sns/oauth2/access_token, which takes appid, secret, code and grant_type=authorization_code. _(Docs [1])_
   - Authorize URL: https://open.weixin.qq.com/connect/qrconnect
   - Token URL: https://api.weixin.qq.com/sns/oauth2/access_token
   - Scope: snsapi_login
   - Make sure your redirect URI is on the approved callback domain
   - Agent: An agent can enter the endpoints and the redirect URI and run a test login. A person scans the QR code.
   - Watch out: WeChat uses non-standard parameter names (appid and secret instead of client_id and client_secret), so generic OAuth clients often need custom configuration. Codes expire in 10 minutes and access tokens in 2 hours.

## Scopes
Website apps use a single scope. Getting it depends on the app approval, not on a per-scope review.

| Scope | Grants | Level | Consequence |
|---|---|---|---|
| `snsapi_login` | QR code login. Returns the openid (plus a unionid if bound), and the token can be used to fetch basic profile info. | basic | Available only after developer verification and website app approval |

## When you get stuck
- **Developer verification can't be submitted, or is rejected, for an individual account.** Developers report that verification requires enterprise or organization materials. Fix: Verify under a registered company. If the site's operator differs from that company, add an authorization letter. _(Community [4, 5, 7], medium confidence)_
- **"该链接无法访问" (link cannot be accessed) or a redirect_uri parameter error on the QR page.** Your redirect_uri domain doesn't match the authorization callback domain set on the app. Fix: Use a redirect URI on exactly the approved domain, URL-encoded, or update the callback domain in the console. _(Docs [1, 8])_
- **Scope parameter error (scope 参数错误或没有 scope 权限).** The 微信登录 (WeChat Login) interface isn't granted on the app, or you used a scope other than snsapi_login. Fix: Wait for approval, check 接口信息 (interface info), and use scope=snsapi_login. _(Community [4, 1], medium confidence)_
- **Website app review rejected.** The app name doesn't match the registration form, the materials don't match the verified entity, or a signature or seal is missing. Fix: Make the name and entity consistent across all materials and resubmit. _(Community [5], medium confidence)_

## Not confirmed yet
- **Is the verification fee still 300 CNY / 99 USD per year, and is it refundable?** Only community posts state the fee. No official fee page was fetched. To resolve: Check Account Center > 开发者资质认证 on open.weixin.qq.com before paying.
- **Can overseas companies verify, and what documents do they need?** A single community post mentions a 99 USD overseas fee. Requirements weren't confirmed. To resolve: Start verification in the console and choose the overseas entity option, or contact WeChat Open Platform support.
- **Does the website need a Chinese ICP filing to pass app review?** One write-up links the MIIT filing lookup but doesn't say filing is required. To resolve: Check the website app review guidelines in the Open Platform console.
- **Is there a test or sandbox mode for website QR login before approval?** No official sandbox for Open Platform website apps was found. The Official Account test account covers in-WeChat web authorization, not QR login. To resolve: Search the WeChat Open Community (developers.weixin.qq.com/community) or ask support.
- **How long do refresh tokens last?** The fetched docs page doesn't state it. To resolve: Read the token refresh section of the official website login docs.

## Sources
1. [网站应用微信登录开发指南 (Website App WeChat Login guide)](https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html) (WeChat Open Platform docs). Checked 27 Oct 2026
2. [Composio managed auth toolkits](https://docs.composio.dev/toolkits/managed-auth.md) (Composio docs). Checked 27 Oct 2026
3. [当你使用网页端微信应用进行开发](https://docs.authing.cn/v2/guides/wechat-ecosystem/wechat-web-app.html) (Authing docs). Checked 27 Oct 2026
4. [微信开放平台登录](https://www.justauth.cn/guide/oauth/wechat_open/) (JustAuth). Checked 27 Oct 2026
5. [【微信开放平台】下绑定【微信公众号】、并创建【网站应用】的操作指南](https://www.cnblogs.com/johnnyzen/p/17336600.html) (博客园 (cnblogs)). Checked 27 Oct 2026
6. [Tencent Cloud developer community post on Open Platform verification](https://cloud.tencent.com/developer/article/1782440) (Tencent Cloud Developer). Not yet checked
7. [V2EX discussion on WeChat platform verification fees](https://v2ex.com/t/1188059) (V2EX). Not yet checked
8. [微信开放平台 网站应用 回调地址导致的错误如何解决](https://blog.csdn.net/lu12077/article/details/102719925) (CSDN). Not yet checked

Wrong or out of date? POST https://oauth-guide.akshatsethi.com/api/reports with {"app": "wechat", "step": 2, "message": "what you saw"} (step is optional), or call the report_problem MCP tool. The next research run checks it.
Followed it? Say how it went: POST https://oauth-guide.akshatsethi.com/api/reports with {"app": "wechat", "outcome": "worked" | "waiting" | "stuck", "step": 3, "message": "what happened"}, or call the report_setup MCP tool.
