Login expired. Please log in again.

Feedback

0/300

Feedback

Submitted successfully

ok

Feedback

Network exception, please try again later

ok

Unfreezing Remaining Funds API

Latest update time:2022.05.18 Release notes


For transactions that do not require funds-distribution, call the API directly to unfreeze all the transaction amount to the sponsor account (original transaction funds settlement account); After the funds-distribution interface is called, and when remaining funds need to be unfrozen, call the API to unfreeze all remaining funds to the sponsor.

Tips:

● The API is in asynchronous processing mode, that is, after receiving the merchant's request, it will be accepted first and then processed asynchronously, and the final funds-distribution result can be obtained through the Funds-distribution Result Query API;

● After the return of this API is successful, the amount of unfrozen funds outbound, together with the non-funds-distribution transaction amount, is subject to the net settlement. The regulations are consistent with the settlement period, starting point and other withdrawal rules in the settlement contract with the merchant;

● The sponsor refers to the merchant who has actually settled the funds and entered the funds into the account via Weixin Pay. It refers to a merchant in the overseas institution mode, and a sub-merchant in the service provider mode.

API Intro

Request Url:https://apihk.mch.weixin.qq.com/v3/global/profit-sharing/orders/unfreeze

Request method:POST

API rules: https://wechatpay-api.gitbook.io/wechatpay-api-v3

Applicable object:Common modeInstitutional mode

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.

Request Parameters

Name Variable Name Type Required Description
Sub-merchant ID sub_mchid string[1, 32] No body Sub-merchant ID allocated by Weixin Pay. It needs to be consistent with the sub-merchant ID in the transaction of Weixin Pay.
Note: Only forInstitutional mode
Example:1900000109
Weixin Pay transaction ID transaction_id string[1, 32] Yes body Weixin Pay transaction ID
Example:4208450740201411110007820472
Merchant order No. out_order_no string[1, 64] Yes body The order No. in the merchant system, which is unique. It can only include numbers, capital letters and lowercase letters _-.
Note: This order No. is used to identify different requests of funds-distribution commands (including funds-distribution request API/unfreezing remaining funds API) initiated from the merchant side.
If the funds of one transaction is distributed multiple times, change the [merchant order No.] before requesting funds-distribution. Otherwise it will be considered as a repeated request.
Example:P20150806125346
Funds-distribution description description string[1, 80] Yes body Reason description of funds-distribution, to be reflected in the funds-distribution record
Example:Unfreeze all remaining funds

Request Sample

Example:

{
  "description": "Unfreeze all remaining funds",
  "out_order_no": "P20150806125346",
  "sub_mchid": "1900000109",
  "transaction_id": "4208450740201411110007820472"
}
{
  "currency": "CNY",
  "out_trade_no": "P20150806125346",
  "sub_mchid": "1900000109"
}

Return Parameters

Name Variable Name Type Required Description
Sub-merchant ID sub_mchid string[1, 32] No Merchant ID allocated by Weixin Pay
Note: Only forInstitutional mode
Example:1900000109
Weixin Pay order No. transaction_id string[1, 32] Yes Weixin Pay transaction ID
Example:4208450740201411110007820472
Merchant order No. out_order_no string[1, 64] Yes Merchant order No., same as the request parameter.
Example:P20150806125346
Weixin order ID order_id string[1, 64] Yes Weixin order ID, the unique identifier returned by Weixin system.
Example:3008450740201411110007820472
Funds-distribution order state state string Yes Funds-distribution order state (see result field in receivers for funds-distribution results of each receiver).
PROCESSING: Funds-distribution is processing,
FINISHED: Funds-distribution is finished,
Example:FINISHED
+ Receiver list receivers array[1,50] Yes Receiver list
When a merchant initiates a funds-distribution request or a unfreeze the remaining funds request, the same transaction funds can be distributed to multiple receivers (including unfreezing funds to the sponsor). The funds-distribution detail describes each funds-distribution state of each receiver.
Name Variable Name Type Required Description
Distribution currency currency string[3, 3] Yes Distribution currency, same as the request parameter.
Example:CNY
Funds-distribution amount amount int Yes Funds-distribution amount, same as the request parameter.
Example:100
Funds-distribution description description string[1, 80] Yes Merchant order No., same as the request parameter.
Example:Distribute to merchant 1900000110
Receiver type type string[1, 32] Yes Receiver type, same as the request parameter.
MERCHANT_ID: Merchant ID,
PERSONAL_OPENID: Personal OpenID, converted by merchant APPID
PERSONAL_SUB_OPENID: Personal Sub_OpenID, converted by sub-merchant APPID
Example:MERCHANT_ID
Receiver account account string[1, 64] Yes Receiver account, same as the request parameter.
Example:1900000109
The result of each funds-distribution detail. result string[1, 32] Yes The result of each funds-distribution detail.
PENDING: Funds to be distributed,
SUCCESS: Funds-distribution succeeded,
CLOSED: Funds-distribution closed,
Example:SUCCESS
Funds-distribution detail fail reason fail_reason string[1, 64] No Funds-distribution detail fail reasons. Set only when funds-distribution detail result is "CLOSED."
NO_RELATION: The funds-distribution relationship has been terminated.
SUB_MERCHANT_FRONEN: The sub-merchant account is frozen,
MCH_CONTRACT_SETTLE_OFF: The merchant settlement contract is in closed state.
MCH_CONTRACT_FROZEN: The merchant settlement contract is frozen,
ACCOUNT_ABNORMAL: The receiver account is abnormal,
RECEIVER_HIGH_RISK: The receiver is at high risk,
RECEIVER_REAL_NAME_NOT_VERIFIED: The receiver has not been real-name verified,
NO_AUTH: The funds-distribution authorization has been canceled,
DEFAULT_ERROR: Default error,
Example:ACCOUNT_ABNORMAL
Funds-distribution detail creation time create_time string[1, 64] Yes Funds-distribution detail creation time follows RFC3339 standard format
Example:2015-05-20T13:29:35.120+08:00
Funds-distribution detail finish time finish_time string[1, 64] No Funds-distribution detail finish time follows RFC3339 standard format. Set only when the funds-distribution detail result is "SUCCESS" or "CLOSED".
Example:2015-05-20T13:29:35.120+08:00
Weixin funds-distribution detail ID detail_id string[1, 64] Yes Weixin funds-distribution detail ID is the details ID of each funds-distribution business.
Example:36011111111111111111111
Receiver type detail_type string[1, 32] Yes The funds-distribution details include two categories of funds: Funds distributed to other receivers and funds unfrozen to sponsor. These two categories can be distinguished by the field. If the detail type is UNFREEZE_TO_SPONSOR, the funds-distribution details will indicate settlement currency, settlement amount and exchange rate and other information.
DISTRIBUTE_TO_OTHERS: Distribute funds to other receivers,
UNFREEZE_TO_SPONSOR: Unfreeze funds to the sponsor outbound,
Example:DISTRIBUTE_TO_OTHERS
Settlement currency settlement_currency string[3, 3] No The field is set only when the detail type is UNFREEZE_TO_SPONSOR.
Example:HKD
Settled amount settlement_amount int No The funds amount is finally settled via exchange rate to the sponsor, using the minimum currency unit.
Example:110
Exchange rate value rate int No The value is the exchange ratio between the distribution currency and the settlement currency multiplied by the 8th power of 10.
If the distribution currency and settlement currency are both CNY, the exchange ratio is 1 and the exchange rate value is 100,000,000;
If the settlement currency is USD, assuming that the ratio of USD to CNY is 6.5, the exchange rate value is 650,000,000.
Example:81000000

Return Example


{
    "order_id": "7100000751202203238029563456088",
    "out_order_no": "P20150806125346",
    "receivers": [
      {
        "account": "999952224", # sponsor merchant ID
        "amount": 995,
        "create_time": "2022-03-23T17:59:23+08:00",
        "currency": "CNY",
        "description": "Unfreeze all remaining funds",
        "detail_id": "7200000751202203238029563456171",
        "detail_type": "UNFREEZE_TO_SPONSOR",
        "rate_value": 83640300,
        "result": "PENDING",
        "settlement_amount": 1189,
        "settlement_currency": "HKD",
        "type": "MERCHANT_ID"
      }
    ],
    "state": "PROCESSING",
    "sub_mchid": "1900000109",
    "transaction_id": "4208450740201411110007820472"
  }
 
                                
{
"code":"SYSTEM_ERROR",
"message":"Parameter error"
}

Release notes

close
V1.0
2022.05.18
1. Unfreezing Remaining Funds API released online

About  WeChat  Pay

Powered By Tencent & Tenpay Copyright©

2005-2024 Tenpay All Rights Reserved.

Contact Us
Wechat Pay Global

WeChat Pay Global