Create Authorization Application
Update Time:2025.01.07This API is used to initiate a web payment authorization request for a sub-merchant, who will be authorized to use web payment with a limit after the request is approved. If NO_LIMIT is selected for transaction_limit_type, a limit removal request will be automatically created for the sub-merchant after the authorization request is created. The limit removal request can be initiated only after the sub-merchant has been authorized to use web payment with an ordinary limit.
|
1. API Intro
Applicable object: Institutional mode Service Provider Mode
API rules:https://apihk.mch.weixin.qq.com/v3/global/merchant/h5/permission/applications
Request method:POST
Path parameter is a path parameter.
Query parameter needs to be passed in the request URL.
Body parameter needs to be passed in the request JSON.
2. Request Parameters
Name | Variable Name | Type | Required | Description |
---|---|---|---|---|
Company profile and business description | business_description | string[1, 500] | No | Body This field is required when NO_LIMIT is selected for transaction_limit_type. |
Limit type | transaction_limit_type | string | No | Body Web payment limit type. Valid values: ② 50000 CNY/day/sub-merchant if touched the transaction limit of the H5 payment, this sub-merchant couldn't recevie money through H5 channel on this day(re-accumulate in the next day)
NORMAL_LIMIT: The payment limit authorized when the information is incomplete. This value is used by default if this field is not specified. NO_LIMIT: No payment limit. Example: UN_LAUNCHED_WEBSITE_LIMIT |
Sub-merchant ID | sub_mchid | string[1, 32] | Yes | Body ID of a sub-merchant under the current institution/service provider. |
Web payment domain | domains | array | Yes | Body The domain that pulls web payment. |
Certificate of incorporation | company_register_cert | string[1, 32] | No | Body This field is required when NO_LIMIT is selected for transaction_limit_type. The value is a media ID, which can be obtained via the image upload API |
Website business page screenshot | website_business_page_pics | array | No | Body This field is required when the website is not launched. The value is a media ID, which can be obtained via the image upload API |
Website homepage screenshot | website_homepage_pics | array | No | Body This field is required when the website is not launched. The value is a media ID, which can be obtained via the image upload API |
Sub-merchant's website status | website_state | string | No | Body The status of the sub-merchant's website. Valid values: |
Sub-merchant's website URL | website_url | string[1, 128] | Yes | Body The URL of the website on which the sub-merchant's business categories, products/services and prices are displayed and users can place orders. |
Callback API provided by merchants to receive review results | notify_url | string[1, 128] | No | Body The HTTPS protocol is required. If the URL cannot be accessed, the merchant will not receive any WeChat notifications. The notification URL must be directly accessible without any parameters. |
Request type | applyment_type | string | No | Body Web payment request type. Valid values: |
Request Example:
JSON
3. Return Parameters
Response for successful request:
Name | Variable Name | Type | Required | Description |
---|---|---|---|---|
Sub-merchant ID | sub_mchid | string[1, 32] | Yes | ID of the sub-merchant under the current institution/service provider. |
Web payment domain | domains | array | Yes | The domain that pulls web payment. |
Company profile and business description | business_description | string[1, 500] | No | This field is required when NO_LIMIT is selected for transaction_limit_type. |
Limit type | transaction_limit_type | string | Yes | Web payment limit type. Valid values: ② 50000 CNY/day/sub-merchant if touched the transaction limit of the H5 payment, this sub-merchant couldn't recevie money through H5 channel on this day(re-accumulate in the next day)
NORMAL_LIMIT: The payment limit authorized when the information is incomplete. This value is used by default if this field is not specified. NO_LIMIT: No payment limit. Example: UN_LAUNCHED_WEBSITE_LIMIT |
Certificate of incorporation | company_register_cert | string[1, 128] | No | This field is required when NO_LIMIT is selected for transaction_limit_type. |
Website business page screenshot | website_business_page_pics | array | No | This field is required when the website is not launched. The value is a media ID, which can be obtained via the image upload API |
Website homepage screenshot | website_homepage_pics | array | No | This field is required when the website is not launched. The value is a media ID, which can be obtained via the image upload API |
Sub-merchant's website status | website_state | string | Yes | The status of the sub-merchant's website. Valid values: |
Sub-merchant's website URL | website_url | string[1, 128] | Yes | The URL of the website on which the sub-merchant's business categories, products/services and prices are displayed and users can place orders. |
Application ID | applyment_id | int | Yes | Unique ID of the H5 authorization application |
Rejection reason | audit_reject_detail | string[1, 500] | No | The reason why the request is rejected. |
Request status | applyment_state | string | Yes | Web payment request status. Valid values: |
Request type | applyment_type | string | Yes | Web payment request type. Valid values: |
Callback API provided by merchants to receive review results | notify_url | string[1, 128] | No | The HTTPS protocol is required. If the URL cannot be accessed, the merchant will not receive any WeChat notifications. The notification URL must be directly accessible without any parameters. |
Response for failed request:
Name | Variable Name | Type | Required | Description | |||
---|---|---|---|---|---|---|---|
Returned status code | code | string[1,32] | Yes | Error code. See the error code list for the enumerated values. | |||
Returned information | message | string[1,256] | Yes | Returned message. It indicates the reason for the error if not empty. | |||
Detailed error description | detail | object | No | It is returned when code is PARAM_ERROR. Details will be described below. | |||
|
Response Example:
SUCCESS
ERROR
4. Error Codes
Error Codes | Error Message | Description | Solution |
---|---|---|---|
500 | SYSTEM_ERROR | System error | Call the API again later with the same parameters. |
429 | FREQUENCY_LIMIT_EXCEED | Frequency limit, please try it later | Frequency limit, please try it later |
400 | INVALID_REQUEST | You have the payment permission already. Do not send a request for the test URL permission again. | You have the payment permission already. Do not send a request for the test URL permission again. |
400 | PARAM_ERROR | When creating a request using this API, the limit type must be "No transaction limited". | The limit type needs to be "No transaction limited" when initiating a request to remove limits. |
400 | PARAM_ERROR | Only sub-merchant H5 website URLs with the status "The website has launched" can request to lift the limit. If website URLs with other statuses need to modify their authorization, they can call the "H5 payment authorization request" API. | Please re-initiate the call after changing the website_state to HAS_LAUNCHED. |
400 | PARAM_ERROR | The website has not launched. Upload the business page screenshot. | Please re-initiate the call after uploading a screenshot of the business website. |
400 | INVALID_REQUEST | There is missing merchant basic information, such as merchant certificate number, contact, and email. Log in to the merchant platform to modify the information and try again. (Institution portal: Institutional Merchant Platform; service provider portal: Service Merchant Platform | Merchant information is missing. Please visit the corresponding link to supplement and resubmit. |
400 | INVALID_REQUEST | Merchant certificate expired. Log in to the merchant platform to update the information and try again. (Institution portal: Institutional Merchant Platform; service provider portal: Service Merchant Platform) | Merchant certificate has expired. Please visit the corresponding link to make the necessary changes and resubmit. |
400 | INVALID_REQUEST | Only sub-merchants with the "Formal authority transaction limited" status can request to lift the limit. If sub-merchants with other statuses need to modify their authorization, they can call the "H5 payment authorization request" API. | Please apply for H5 payment permission with limits first, and then initiate a request to remove the limits. |
400 | INVALID_REQUEST | Action has been taken against the merchant. The merchant is not allowed to request to enable H5 payment authorization. | Merchant payment permission has been penalized. Please contact the operation personnel to lift the penalty first. |
400 | INVALID_REQUEST | The submitted website or H5 payment domain name is at risk. Contact your BD for assistance. | The business website or H5 payment domain is blacklisted. Please contact the operation personnel to apply for an exemption. |
400 | INVALID_REQUEST | The application form in the process has been submitted. Please do not submit it repeatedly. | Please be patient and submit again after the process. |
400 | INVALID_REQUEST | The parent-child relationship is invalid. Check if the sub-merchant belongs to the service provider. | The parent-child merchant relationship cannot be established. Please verify and try again. |
400 | PARAM_ERROR | Upload the Company Registration Certificate, Company Introduction and Description of the Business. | Please upload the company registration certificate, company introduction, and business description and try again. |
400 | INVALID_REQUEST | The website has not launched. You can request only a test limit. | Please select the UN_LAUNCHED_WEBSITE_LIMIT for the limit type and try again. |
400 | INVALID_REQUEST | The current sub-merchant already has "No transaction limited" H5 payment authorization. Do not resubmit requests. | Unlimited payment authorization has already been obtained. Please do not submit the application again. |
403 | NO_AUTH | The Letter of Commitment for H5 Payment (for batch apply) has not been signed. Please log in to the WeChat Pay Open Platform, access the H5 Payment Application page, and click the +Batch Apply button to sign the Letter of Commitment for H5 Payment. | The Letter of Commitment for H5 Payment (for batch apply) has not been signed. Please log in to the WeChat Pay Open Platform, access the H5 Payment Application page, and click the +Batch Apply button to sign the Letter of Commitment for H5 Payment. |