Create Authorization Application

Update Time:2025.01.07

This 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.

Note:

  • Due to product iteration, the H5 payment authorization can be applied for using the Merchant Onboarding interface.

  • For more information, please refer to:

Merchant Onboarding(Introduction)
Merchant Onboarding(Preparation)
Merchant Onboarding(Development Guidelines)
Merchant Onboarding(APIs)


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.
Example: Founded in November 1998, Tencent is an Internet-based platform company that uses technology to enrich the lives of Internet users and assist enterprises with digital upgrade. Our mission is "Value for Users, Tech for Good".

Limit type

transaction_limit_type

string

No

Body Web payment limit type. Valid values:
UN_LAUNCHED_WEBSITE_LIMIT: The payment limit for a website not launched.
Limited Quota: ①1000 CNY/day/person
if touched the transaction limit of the H5 payment, this customer couldn't pay to this sub-merchant through H5 channel on this day (re-accumulate in the next day)

② 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.
Limited Quota:
①50000 CNY/day/person,if touched the payment limit of the H5 payment limited quota, this customer couldn't pay to this sub-merchant through H5 channel on this day (re-accumulate in the next day)
② 500000 CNY/day/sub-merchant, if touched the payment limit of the H5 payment limited quota,
this sub-merchant couldn't recevie money through H5 channel on this day (re-accumulate in the next day)

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.
Example: 2491935631

Web payment domain

domains

array

Yes

Body The domain that pulls web payment.
Example: ["qq.com"]

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
Example: 6uqyGjvHzOhsLleGFQVRF

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
Example: ["6uqyGjvHzOhsLleGFQVRF"]

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
Example: ["6uqyGjvHzOhsLleGFQVRF"]

Sub-merchant's website status

website_state

string

No

Body The status of the sub-merchant's website. Valid values:
HAS_LAUNCHED: The website has been launched. This value is used by default if this field is not specified.
UN_LAUNCHED: The website is not launched.
Example: HAS_LAUNCHED

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.
Example: https://qq.com

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.
For more information, please refer to Authorization Result Notification
Example: https://pay.weixin.qq.com/wxpay/pay.action

Request type

applyment_type

string

No

Body Web payment request type. Valid values:
APPLY_FOR_PAYMENT_AUTHORITY: The request for web payment authorization. This value is used by default if this field is not specified.
APPLY_FOR_RELIEVE_LIMITED: The request for web payment limit removal.
Example: APPLY_FOR_PAYMENT_AUTHORITY

Request Example:

JSON

1{
2  "applyment_type": "APPLY_FOR_PAYMENT_AUTHORITY",
3  "company_register_cert": "6uqyGjvHzOhsLleGFQVRF",
4  "domains": ["qq.com"],
5  "notify_url": "https://pay.weixin.qq.com/wxpay/pay.action",
6  "sub_mchid": "2491935631",
7  "transaction_limit_type": "UN_LAUNCHED_WEBSITE_LIMIT",
8  "website_business_page_pics": ["6uqyGjvHzOhsLleGFQVRF"],
9  "website_homepage_pics": ["6uqyGjvHzOhsLleGFQVRF"],
10  "website_state": "HAS_LAUNCHED",
11  "website_url": "https://qq.com"
12}  

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.
Example: 2491935631

Web payment domain

domains

array

Yes

The domain that pulls web payment.
Example: ["qq.com"]

Company profile and business description

business_description

string[1, 500]

No

This field is required when NO_LIMIT is selected for transaction_limit_type.
Example: Founded in November 1998, Tencent is an Internet-based platform company that uses technology to enrich the lives of Internet users and assist enterprises with digital upgrade. Our mission is "Value for Users, Tech for Good".

Limit type

transaction_limit_type

string

Yes

Web payment limit type. Valid values:
UN_LAUNCHED_WEBSITE_LIMIT: The payment limit for a website not launched.
Limited Quota: ①1000 CNY/day/person
if touched the transaction limit of the H5 payment, this customer couldn't pay to this sub-merchant through H5 channel on this day (re-accumulate in the next day)

② 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.
Limited Quota:
①50000 CNY/day/person,if touched the payment limit of the H5 payment limited quota, this customer couldn't pay to this sub-merchant through H5 channel on this day (re-accumulate in the next day)
② 500000 CNY/day/sub-merchant, if touched the payment limit of the H5 payment limited quota,
this sub-merchant couldn't recevie money through H5 channel on this day (re-accumulate in the next day)

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.
Example: 6uqyGjvHzOhsLleGFQVRF

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
Example: ["6uqyGjvHzOhsLleGFQVRF"]

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
Example: ["6uqyGjvHzOhsLleGFQVRF"]

Sub-merchant's website status

website_state

string

Yes

The status of the sub-merchant's website. Valid values:
HAS_LAUNCHED: The website has been launched.
UN_LAUNCHED: The website is not launched.
Example: HAS_LAUNCHED

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.
Example: https://qq.com

Application ID

applyment_id

int

Yes

Unique ID of the H5 authorization application
Example: 100000

Rejection reason

audit_reject_detail

string[1, 500]

No

The reason why the request is rejected.
Example: The merchant's certificate does not meet requirements.

Request status

applyment_state

string

Yes

Web payment request status. Valid values:
PENDING: The request is not created. Query again later or check whether the submission is normal.
UNDER_REVIEW: The request is created and under review.
APPROVED: The request is approved.
REJECTED: The request is rejected. See audit_reject_detail for the rejection reason.
Example: PENDING

Request type

applyment_type

string

Yes

Web payment request type. Valid values:
APPLY_FOR_PAYMENT_AUTHORITY: The request for web payment authorization.
APPLY_FOR_RELIEVE_LIMITED: The request for web payment limit removal.
Example: APPLY_FOR_PAYMENT_AUTHORITY

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.
For more information, please refer to Authorization Result Notification
Example: https://pay.weixin.qq.com/wxpay/pay.action

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.

Detailed error description

Response Example:

SUCCESS

1{
2  "applyment_id": 100000,
3  "applyment_state": "PENDING",
4  "applyment_type": "APPLY_FOR_PAYMENT_AUTHORITY",
5  "audit_reject_detail": "The merchant's certificate does not meet requirements.",
6  "business_description": "Founded in November 1998, Tencent is an Internet-based platform company that uses technology to enrich the lives of Internet users and assist enterprises with digital upgrade.Our mission is "Value for Users, Tech for Good".",
7  "company_register_cert": "6uqyGjvHzOhsLleGFQVRF",
8  "domains": ["qq.com"],
9  "notify_url": "https://pay.weixin.qq.com/wxpay/pay.action",
10  "sub_mchid": "2491935631",
11  "transaction_limit_type": "UN_LAUNCHED_WEBSITE_LIMIT",
12  "website_business_page_pics": ["6uqyGjvHzOhsLleGFQVRF"],
13  "website_homepage_pics": ["6uqyGjvHzOhsLleGFQVRF"],
14  "website_state": "HAS_LAUNCHED",
15  "website_url": "https://qq.com"
16}

ERROR

1{
2	"code": "INVALID_REQUEST",
3	"message": "Parameter format verification error",
4	"detail": {
5		"field": "#/properties/payer",
6		"value": "1346177081915535577",
7		"issue": "与ALLOF schema不符",
8		"location": "body"
9	}
10}

 

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.

 

 

About  WeChat  Pay

Powered By Tencent & Tenpay Copyright©

2005-2025 Tenpay All Rights Reserved.

Contact Us
Wechat Pay Global

WeChat Pay Global

Contact Us

Customer Service Tel

+86 571 95017

9:00-18:00 Monday-Friday GMT+8

Business Development

wxpayglobal@tencent.com

Developer Support

wepayTS@tencent.com

Wechat Pay Global

About Tenpay
Powered By Tencent & Tenpay Copyright© 2005-2025 Tenpay All Rights Reserved.