Steps to reproduce
- Add a manual payment method to your store
- Add checkout-ui extension with this target:
target = "purchase.checkout.payment-method-list.render-before"
or
target = "purchase.checkout.payment-method-list.render-after" - Activate the app extension in your checkout (only availble in Shopify Plus)
- In your code add a callback to log the value of the selected payment method and available payment methods .e.g
export default extension("purchase.checkout.payment-method-list.render-before", (root, api) => {
const { availablePaymentOptions, selectedPaymentOptions, } = api;
console.log({ availablePaymentOptions, selectedPaymentOptions, })
availablePaymentOptions.subscribe((available)=>console.log({available}))
selectedPaymentOptions.subscribe((selected)=>console.log({selected}));
})
- Go to checkout and choose your manual payment method (pay attention to the logged values)
- Reload the page
After you reload the page the manual-payment method should be automatically selected again, but this time will have a different generic, value .e.g manual-payment-money order instead of manual-payment-123
Expected behaviour
The returned payment method ids should be the same no matter the situation.
Additional info:
Tested on safari,firefox and brave, dependencies:
"@shopify/cli": "3.92.1", "@shopify/ui-extensions": "2026.04.1",
Also tested on this:
"@shopify/cli": "3.92.1", "@shopify/ui-extensions": "2025.7.1",