Latest update time:2021.04.01 Release notes
The institution submits the sub-merchant information, and the WeChat Pay system creates a Sub-merchant ID for each sub-merchant.
1. The header of requests of this API should contain the parameter Idempotency-Key, which is a unique key generated by the merchant side. The WeChat server uses this value to identify whether multiple retries are for the same request. The 64-bit field can contain letters and numbers.
Request URL: https://api.mch.weixin.qq.com/hk/v3/merchants
Request method: POST
Applicable object:Institutional mode
API Rules: https://wechatpay-api.gitbook.io/wechatpay-api-v3
path This parameter needs to be set at the request URL
query This parameter needs to be set at the JSON for request body
Name | Variable Name | Type | Required | Description |
---|---|---|---|---|
Official Account ID | sp_appid | string(32) | Yes | query Official Account ID assigned
by WeChat Example:wxd678efh567hg6787 |
Vendor ID | sp_mchid | string(32) | Yes | query Specifies vendor ID assigned by
WeChat Payment Example:1230000109 |
Merchant name | name | string(128) | Yes | query Specifies the complete merchant entity name Example:Fruit Store |
Merchant shortname | shortname | string(64) | Yes | query Specifies the brief merchant name, which will be shown to the consumers Example:FS |
Customer Service Phone Number. | office_phone | string(32) | Yes | query Specifies the customer service phone number, which will be shown in the payment details page for the consumers. Please prefix the phone number. See the appendix for prefixes. Example:+86075586010000 |
+ Contact information | contact | object | Yes | query Contact information object details is listed below |
Business category | business_category | int | Yes | query Specifies the business category, please refer to the business ID list of WeChat payment. see to Business Category Example:101 |
Channel number | channel_id | string(20) | No | query The channel number created by the institution in the WeChat merchant management backend. Fill in the channel number (if any). Example:3200000001 |
Registered Country or Region | merchant_country_code | string(3) | Yes | query The country where the submerchant was registered ,see to CountryCode Example:344 |
Merchant Type | merchant_type | string(10) | Yes | query ENTERPRISE or INDIVIDUAL Example:ENTERPRISE |
Registration Certificate Number | registration_certificate_number | string(50) | Yes/No | query Company registration document No. Required when Merchant Type is ENTERPRISE. Not required when Merchant Type is INDIVIDUAL Example:5555-8888 |
Expiration Date of Registration Certificate | registration_certificate_date | string(10) | Yes/No | query The expiration date of the company registration document. The value should be expire date or “PERMANENT” , “N/A”, the date format should YYYY-MM-DD , such as 2020-10-16. Required when Merchant Type is ENTERPRISE. Not required when Merchant Type is INDIVIDUAL Example:2020-10-16 |
Copy of Registration Certificate | registration_certificate_copy | string(128) | No | query The photocopy of the company registration document. The value should be the media ID returned by Uploading Image API. Example:DsWXok2NqRliv2SDL42QoEmHIPs |
Settlement Bank No. | settlement_bank_number | string(128) | No | query Settlement bank account number (settlement bank information) Example:555588889999 |
+ Business information | business | object | Yes | query Business information, the detail is listed below |
+ Director information | director | object | No | query Director information, Specify this field only when the Merchant Type is ENTERPRISE (Not mandatory) The detail is listed below |
+ Principal information | principal | object | No | query Principal information, Specify this field only when the Merchant Type is INDIVIDUAL (Not mandatory) The detail is listed below |
Note on sensitive field encryption:
For parameters that contain sensitive information, such as contact information, a "field encryption" security mechanism is provided to make sure that the sensitive information can only be seen by the data recipient.
Encryption procedures
1、Obtain the WeChat Pay platform certificate and its serial number. For more information, see 5.7 Downloading Platform Certificate. The platform certificate serial number is required to be passed for "Wechatpay-Serial" of the http header of this API request.
2、Perform the RSA encryption for the parameter values with the public key of the WeChat Pay Platform certificate. Use `RSAES-PKCS1-v1_5` as the filling scheme.
3、The encrypted ciphertext that is encoded with base64 is used as the value of the appropriate parameter in the request.
{
"sp_appid": "wx82ec4jy334ner1",
"sp_mchid": "2422128905",
"name": "testname",
"shortname": "shortname",
"office_phone": "13680534111",
"contact": {
"email": "gP32/1QSaIpKlaFbWgP3hr8W3+YTtiavMRbOJJ6dATymJzxx/b4YPOTKdeRApW6Nt2ZZB9reZ1x45XhIEF/Ztb6mqfFVb6LxpJlHgDL/zpUG51551XQ3Ww+/kVCJcokiIiT1bSwEcCe6tPL2cmdsOEjlTikyrasLc1bG8vaG/i361r0vX9w56O2Mgv3OnJ4fr4xnmxNcVrJnk1f/gBSIiCUWA0163f3LM4KifQelEuz/WtroeKAzRDiI0/pOvXfwrYDK==",
"name": "Vxjsrod2RT2aGxeI5i+Z2C4arXYGXZuwE8IrRf6uYu6S5dy4Igw7kjvYWYCNfsgcdXyfjdA4KVntbgSa3zic+ERsOd5u+SNKkaFSH3SwYtpcCyaUMvICTw/6AOY/qy+He9la/gxObgi4zkxvLJmZTJVualTVJWWCIvcuDArW8Kfqp8rBl+IxDEgCojoEmqE7ymVReslGBXWiaPS1UsZx1QJyez3/ijzBa4AKch3XuPx6d3qvM+J8iMx/b94LAfpTihU/j==",
"phone": "l8JH2dAGLNJ8P5DENoMV0eW4JgIquV2ZO4conHnZp48g/eVpgvIfMj4Ge6LRVENW4eZksErJnYCQB+EOFEGR0lMhA1LexPLu0en08iM2ghkftYWAsOD4JPkvvc36SAfWal29eoZh4maO6kOGW7G4uBua6JoMsEjR6uuw5Gw5DC2eikcdkDBGk9vHSP/oxRs3Qu8a83GikhLgdpAPitXbZX/TEPG5SUg8Fx4BCMCKOfxy8uakq2/EeCtyBMjaiheUePoA=="
},
"business_category": 343,
"merchant_country_code": "344",
"merchant_type": "ENTERPRISE",
"registration_certificate_number": "519723407213085723",
"registration_certificate_date": "2022-06-03",
"settlement_bank_number": "559304578245298347923856",
"business": {
"business_type": "ONLINE",
"mcc": "5344",
"mini_program": "flowerplus"
},
"director": {
"name": "Tom",
"number": "1234567890"
}
}
Name | Variable Name | Type | Required | Description |
---|---|---|---|---|
Returned status code | code | string(32) | Yes | Error code. See the error code list for the enumerated values. Example:INVALID_REQUEST |
Returned message | message | string(256) | Yes | Returned message. It indicates the reason for the error if not empty. Example:Parameter format verification error |
+ Detailed error description | detail | object | No | It is returned when code is PARAM_ERROR. Details will be described below. |
Name | Variable Name | Type | Required | Description |
---|---|---|---|---|
Sub-merchant ID | sub_mchid | string(32) | Yes | Sub-merchant ID assigned by WeChat Pay Note:Only forInstitutional mode Example:1900000109 |
Verification status | verification_status | string(32) | No | Describes verification status Under Review or Approved Example:Approved |
Description | description | string(128) | No | Verification status description:
Example:This merchant takes effect only after being approved. Please check the verification status on WeChat Pay Merchant Platform. |
PARAM_ERROR | Description | Solution |
---|---|---|
PARAM_ERROR | Req paramerror | For the specific parameter format, please see the relevant document. |
SYSTEM_ERROR | System error please try again | System error. Re-initiate with the original parameters. |
INVALID_REQUEST | Invaild request | Check your program according to the detailed description on the error returned by the API. You can view the specific details returned by the detail field. |
INVALID_REQUEST | please add merchant by page | Log in to the merchant management backend to enter the sub-merchant information manually. |
INVALID_REQUEST | business_code already exists | Define a unique identifier for different sub-merchants. |
Customer Service Tel
Business Development
9:00-18:00
Monday-Friday GMT+8
Technical Support
WeChat Pay Global
ICP证