Skip to content

docs: document China's AliPay and WeChat Pay payout rails - #841

Merged
pengying merged 1 commit into
mainfrom
08-18-china-alipay-wechat-pay-rails
Aug 18, 2026
Merged

docs: document China's AliPay and WeChat Pay payout rails#841
pengying merged 1 commit into
mainfrom
08-18-china-alipay-wechat-pay-rails

Conversation

@ls-bolt

@ls-bolt ls-bolt Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary

The country table listed China as Bank Transfer only. That was wrong in both directions: it omitted the AliPay / WeChat Pay wallet rail that consumer payouts actually use, and it implied the bank rail works for paying individuals when that rail is business-to-business only.

What changed

  • China's rails row now reads AliPay WeChat Pay Bank Transfer, with a note that the wallets serve individual beneficiaries and the bank rail is B2B-only.
  • The China external-account example used "bankName": "Alipay" and an INDIVIDUAL beneficiary on the bank-transfer payload. The wallet name is now the exact spelling the payer lookup matches, and the bank-transfer example uses a BUSINESS beneficiary (legalName + registrationNumber) to match the rail.
  • CnyAccountInfoBase description spells out the per-rail constraint rather than just listing required fields.

UnionPay is deliberately left out — it is not an enabled payout rail for this corridor today, so documenting it would promise something the API cannot route.

Verified against live configuration

The claims above were checked against the live payout configuration rather than assumed:

  • The two wallets are registered as AliPay and WechatPay — one word, no space. A wallet is selected by matching the payee bankName against that registered name, so a caller sending "WeChat Pay" would not resolve. That is why the note pins the accepted spellings.
  • CNY is configured with both a wallet rail and a bank rail, and the bank rail requires business registration details on the beneficiary — a business payee is rejected on the wallet rail, and an individual payee is unusable on the bank rail.

Changes: 5 files

  • mintlify/snippets/country-support.mdx — China rails row + rail/beneficiary note
  • mintlify/snippets/external-accounts.mdx — China tab: wallet spelling, B2B bank example, expanded note
  • openapi/components/schemas/common/CnyAccountInfoBase.yaml — per-rail description
  • openapi.yaml, mintlify/openapi.yaml — regenerated via make build

Test plan

  • make lint0 errors, and the warning/info counts are byte-identical to main (662 problems both before and after), so this adds no new lint debt.
  • Compiled all three touched MDX files through the repo's own @mdx-js/mdx — all three parse, confirming the added <Note> doesn't break the page.
  • Parsed both China curl payloads as JSON and asserted each one's rail-required fields line up with the schema (bank → accountNumber + BUSINESS; wallet → phoneNumber + AliPay).
  • bolt-adversarial-review → no P0/P1/P2 findings.

Public

Documents China's AliPay and WeChat Pay payout rails and clarifies that the CNY bank rail is business-to-business.

@mintlify

mintlify Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Grid 🟢 Ready View Preview Aug 18, 2026, 5:25 PM

@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
grid-flow-builder Ignored Ignored Preview Aug 18, 2026 5:27pm
grid-wallet-demo Ignored Ignored Preview Aug 18, 2026 5:27pm

Request Review

@ls-bolt ls-bolt Bot added the bolt label Aug 18, 2026

Copy link
Copy Markdown

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions

github-actions Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds for grid

This PR will update the grid SDKs with the following commit messages.

cli

chore(internal): regenerate SDK with no functional changes

go

docs(types): expand CNY account payment rails documentation

kotlin

docs(api): clarify CNY account requirements across external account models

openapi

docs(api): clarify BANK_TRANSFER and MOBILE_MONEY field requirements

php

docs(types): clarify payment rails requirements in CnyAccount

python

docs(types): clarify CNY account payment rails requirements

ruby

docs(api): clarify CNY_ACCOUNT payment rails requirements

typescript

docs(api): clarify CNY_ACCOUNT payment rails requirements
⚠️ grid-openapi studio · code

Your SDK build had at least one "warning" diagnostic.
generate ⚠️

grid-ruby studio · code

Your SDK build had at least one "note" diagnostic.
generate ✅build ✅lint ✅test ✅

⚠️ grid-go studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ✅build ✅lint ❗test ❗

go get github.com/stainless-sdks/grid-go@3a59d1f936e4bcfb38bc234b3947ff5cb6db05e6
⚠️ grid-kotlin studio · code

Your SDK build had a failure in the test CI job, which is a regression from the base state.
generate ⚠️build ✅lint ✅test ❗

grid-typescript studio · conflict

Your SDK build had at least one note diagnostic.

⚠️ grid-python studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ✅build ✅lint ❗test ❗

pip install https://pkg.stainless.com/s/grid-python/95871ebee62f6d38f2d2d3e3605c3abefcff174e/grid-0.0.1-py3-none-any.whl
grid-php studio · code

Your SDK build had at least one "note" diagnostic.
generate ✅lint ✅test ✅

⚠️ grid-cli studio · code

Your SDK build had a failure in the test CI job, which is a regression from the base state.
generate ⚠️build ⏭️lint ⏭️test ❗


This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push.
If you push custom code to the preview branch, re-run this workflow to update the comment.
Last updated: 2026-08-18 17:38:39 UTC

Co-Authored-By: pengying <pengying@users.noreply.github.com>
Co-Authored-By: Jason Wang <jason@lightspark.com>
Co-Authored-By: Dan Bonato <dan@lightspark.com>
@ls-bolt
ls-bolt Bot force-pushed the 08-18-china-alipay-wechat-pay-rails branch from 9e08d7f to b8c6296 Compare August 18, 2026 17:27
@pengying
pengying marked this pull request as ready for review August 18, 2026 17:30
@pengying
pengying merged commit fa3d824 into main Aug 18, 2026
10 of 11 checks passed
@pengying
pengying deleted the 08-18-china-alipay-wechat-pay-rails branch August 18, 2026 17:31
@greptile-apps

greptile-apps Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR documents the distinct wallet and bank-transfer payout options available for China and aligns the CNY examples with their beneficiary requirements.

  • Adds AliPay and WeChat Pay to China’s supported-rails table while identifying bank transfer as business-only.
  • Updates CNY external-account examples with the exact AliPay identifier and a business bank beneficiary.
  • Expands the source OpenAPI description and regenerates both committed bundles.

Confidence Score: 5/5

The PR appears safe to merge, with the documentation, examples, source schema description, and generated bundles aligned.

No concrete changed-code defect remains; the exact wallet identifier is explicitly documented, the examples match the described beneficiary constraints, and the generated OpenAPI artifacts mirror the source change.

Important Files Changed

Filename Overview
mintlify/snippets/country-support.mdx Adds China’s consumer wallet rails and clearly distinguishes their beneficiary scope from business-only bank transfers.
mintlify/snippets/external-accounts.mdx Corrects the AliPay identifier, changes the bank example to a business beneficiary, and documents exact wallet-selection values.
openapi/components/schemas/common/CnyAccountInfoBase.yaml Clarifies the rail-specific fields and beneficiary constraints without changing the serialized schema shape.
openapi.yaml Correctly reflects the regenerated CNY account-description change from the modular source.
mintlify/openapi.yaml Remains synchronized with the regenerated root OpenAPI bundle.

Reviews (1): Last reviewed commit: "docs: document China's AliPay and WeChat..." | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants