According to the “Merchant-Sponsored Mini Programs Operation Guidelines”, certain types of Mini Programs require the completion of shipping information entry and receipt confirmation on the platform before funds can be settled.
Developers can utilize this service to enter product shipping information, remind users to confirm receipt, and integrate receipt confirmation components within the Mini Program. This enhances the efficiency of shipping information entry and improves user experience.
I. Receipt Confirmation within the Mini Program
Instructions for Integrating Receipt Confirmation Components
| Interface Name | Request Path | Description |
| Shipping Information Entry | /wxa/sec/order/upload_shipping_info | After a transaction, funds are temporarily frozen. Developers must enter shipping information on the Mini Program platform after shipping. The platform then notifies the purchaser via message. |
| Combined Shipping Information Entry | /wxa/sec/order/upload_combined_shipping_info | Similar to above, funds are frozen post-transaction. Developers need to enter shipping info on the platform, which will notify the purchaser. |
| Order Shipping Status Inquiry | /wxa/sec/order/get_order | Allows querying the shipping status using the transaction ID or merchant ID + transaction ID. |
| Order List Retrieval | /wxa/sec/order/get_order_list | Orders can be searched by payment time, payer’s openid, or order status. |
| Receipt Confirmation Reminder | /wxa/sec/order/notify_confirm_receive | If you’ve confirmed receipt from the logistics provider, use this interface to remind users to confirm receipt promptly, accelerating fund settlement. This can only be called once per order. |
| Message Jump Path Configuration | /wxa/sec/order/set_msg_jump_path | If you’ve integrated the receipt confirmation component, use this interface to set up jumps between shipping and confirmation messages. Clicking the shipping message will direct users to the order list or details page. |
| Check if Shipping Information Management is Enabled | /wxa/sec/order/is_trade_managed | This interface checks if a Mini Program account has enabled shipping information management, allowing access to related APIs for order management. |
| Confirm Transaction Settlement Completion | /wxa/sec/order/is_trade_management_confirmation_completed | Verifies whether all merchant IDs associated with the Mini Program have completed order management authorization or disassociation. |
| Special Shipping Reporting | /wxa/sec/order/opspecialorder | Used for reporting special shipping situations for unshipped orders, such as pre-sale or test orders. |
| Brand Application | /wxa/sec/famousbrand/apply | Applies for Mini Program brand recognition. |
| Brand Application Status Check | /wxa/sec/famousbrand/get_status | Retrieves the status of a brand application. |
| Change Mini Program Transaction Type | /wxa/sec/order/setwxatradetypecgi | Allows developers to request changes to the transaction type. |
When a transaction or order settlement occurs, the WeChat server will push relevant events to the developer’s server and third-party platforms’ message and event reception URLs using a POST method. Note that you must first integrate with the WeChat Mini Program Message Push Service to receive these events.
Event Types
| Event Type | Description |
| trade_manage_remind_access_api | Reminds the Mini Program to access the shipping information management service API |
| trade_manage_remind_shipping | Reminds the Mini Program to upload shipping information |
| trade_manage_order_settlement | Indicates that an order is about to be settled or has already been settled |
| wxa_trade_controlled | Indicates that the Mini Program needs to integrate order shipping management |
Timing of Message Pushes
wxa_trade_controlled event: When the Mini Program needs to integrate order shipping management. trade_manage_remind_access_api event:
- When the Mini Program confirms transaction settlement management.
- When the first transaction occurs.
- Daily for Mini Programs with transactions but no shipments.
tradeManageRemindShipping event:
- For Mini Programs that have shipped orders, when an order remains unshipped for more than 48 hours.
trade_manage_order_settlement event:
- When an order is completed and shipped.
- When an order is settled.
Field Descriptions
trade_manage_remind_access_api Event Fields
| Parameter | Type | Description |
| ToUserName | string | The original ID of the Mini Program |
| FromUserName | string | The sender’s account (an OpenID; in this case, it’s a system account) |
| CreateTime | number | The time when the message was created (as an integer, represented as a timestamp) |
| MsgType | string | The message type, always "event" |
| Event | string | The type of event |
| msg | string | The text content of the message |
trade_manage_remind_shipping Event Fields
| Parameter | Type | Description |
| ToUserName | String | The original ID of the Mini Program |
| FromUserName | String | Sender’s account (an OpenID; in this case, the sender is a system account) |
| CreateTime | Number | Message creation time (integer), timestamp |
| MsgType | String | Message type, fixed value: "event" |
| Event | String | Event type |
| transaction_id | String | WeChat Pay order number |
| merchant_id | String | Merchant ID |
| sub_merchant_id | String | Sub-merchant ID |
| merchant_trade_no | String | Merchant order number |
| pay_time | Number | Payment success time, timestamp in seconds |
| msg | String | Message content |
trade_manage_order_settlement Event Field Description
| Parameter | Type | Description |
| ToUserName | String | The original ID of the Mini Program |
| FromUserName | String | Sender’s account (an OpenID; in this case, the sender is a system account) |
| CreateTime | Number | Message creation time (integer), represented as a timestamp |
| MsgType | String | Message type, which is a fixed value: "event" |
| Event | String | Type of event |
| transaction_id | String | Payment order number |
| merchant_id | String | Merchant ID |
| sub_merchant_id | String | Sub-merchant ID |
| merchant_trade_no | String | Merchant order number |
| pay_time | Number | Payment success time, expressed as a timestamp in seconds |
| shipped_time | Number | Shipping time, expressed as a timestamp in seconds |
| estimated_settlement_time | Number | Estimated settlement time, expressed as a timestamp in seconds. This field is only pushed during shipment |
| confirm_receive_method | Number | Method for confirming receipt: 1. Manual confirmation; 2. Automatic confirmation. This field is only pushed during settlement |
| confirm_receive_time | Number | Time when receipt is confirmed, expressed as a timestamp in seconds. This field is only pushed during settlement |
| settlement_time | Number | Order settlement time, expressed as a timestamp in seconds. This field is only pushed during settlement |
| Parameter | Type | Description |
| ToUserName | String | The original ID of the Mini Program |
| FromUserName | String | Sender’s account (an OpenID; in this case, the sender is a system account) |
| CreateTime | Number | Message creation time (integer), in timestamp format |
| MsgType | String | Message type, which is a fixed value: "event" |
| Event | String | Type of the event |
| msg | String | Message content |