Action in the order
The button appears in the action menu of an order in the new Customer Account.
The mini-app adds an action directly to orders in the new Shopify Customer Account. The customer clicks, states their reason, and the app then creates a metaobject. It does not refund, cancel, or modify the order itself: it triggers a specific signal that the brand can then process with Shopify Flow.
The button appears in the action menu of an order in the new Customer Account.
The customer enters a free-text reason, such as change of mind, address error, or return request.
Once the request is sent, the customer receives visual confirmation. The next steps are managed by Shopify Flow.
Configuration option: display the action only when the shipping country is in the European Union. The country is verified server-side from the Shopify order.
Configuration option: hide the action 14 days after the order date. This logic supports the right of withdrawal, without imposing the final processing.
In addition to the action available in the Customer Account, we recommend adding a permanent link in the website footer, for example, Cancellation and right of withdrawal. This link can point to an explanatory page or to the return policy, accessible without customer login.
The T&Cs must explain how the customer can submit their request, what happens if the order has not yet been processed, and what happens if it has already been shipped or delivered.
Example wording to be legally validated: "For orders delivered to a country in the European Union, you have, with legal exceptions, a 14-day right of withdrawal from the receipt of the products. You can exercise this right from your customer account, from the 'Cancellation and right of withdrawal' link at the bottom of the site, or by contacting our customer service. If the order has not yet been processed, it can be cancelled and refunded. If it has already been shipped or delivered, we will provide you with the applicable return instructions."
Point of attention: the mini-app can hide the action after 14 days depending on the configuration, but the T&Cs must remain the legal reference. The exact starting point of the deadline, product exceptions, and covered countries must be validated according to the merchant's activity.
Metaobject type: power_plus_order_request. The definition is automatically created if it does not already exist. This is not an order metafield: it is a separate entry, easier to use as a trigger and as a customer request log.
| Key | Shopify Type | Usage in Flow |
|---|---|---|
order_id |
Single line text, required | GID of the Shopify order. Used to find the order and apply the correct Flow branch. |
order_name |
Single line text | Readable order number, e.g., #1029, useful in emails and internal notifications. |
customer_id |
Single line text | Customer ID if available. Can help retrieve customer history. |
customer_email |
Single line text | Customer email if available. Useful for confirming receipt or requesting information. |
customer_name |
Single line text | Customer name if available, for personalizing messages. |
reason |
Multi-line text | Reason entered by the customer. Can be sent to support or added to an internal note. |
delivery_country_code |
Single line text | Shipping country code, e.g., FR. Allows auditing EU eligibility. |
order_created_at |
Single line text | Order date. Useful for checking the processing window in Flow. |
submitted_at |
Single line text, required | Submission date of the request. Serves as a reference date for support. |
payload_json |
JSON | Structured copy of main data for auditing or advanced integrations. |
When a metaobject is created, filter on type = power_plus_order_request.
Use order_id to identify the relevant Shopify order. Add the customer reason to an internal note or a tracking tag.
If the order is not fulfilled/processed, launch the cancellation scenario: cancel the order, refund according to the brand's policy, restock if necessary.
Send a confirmation email: request accepted, order cancelled, refund in progress or completed.
Depending on the actions available in Shopify Flow on the store, the cancellation step can be native or go through an additional action. In all cases, the metaobject remains the reliable entry point: it contains the order, the customer, the reason, and the request date.
submitted_at.delivery_country_code.order_id to target the order.reason to document the cancellation.order_name for human emails.customer_email if Flow sends an external notification.cancellation_requested.auto_cancelled or manual_review_required.Recommendation: do not automatically cancel an order that has already been processed or shipped. The same metaobject then becomes a return request or a support request.
return_requested or manual_review_required.order_name, customer_email, and reason.It does not modify the order without business logic validation.
The refund remains within Shopify Flow or a support validation.
Each brand can choose its return tool, email, tags, and exceptions.
"Your request has been received. You will receive a confirmation email with the next steps."
Presentation document - Power+ Order Cancellation Request. The mini-app creates a reliable signal; Shopify Flow then carries out operational decisions.