Appearance
List payment methods available to a headless storefront
GET
/rest/v1/checkout/payment-methods
Returns the payways the merchant SELECTED for external frontends — the METHODS.PAYWAY_EXTERNAL list saved in Settings → Payments (#672) — intersected with the adapters PaymentInitializerFactory actually registers on this deployment (#673). Both conditions are required: a gateway whose Registry credentials are configured but which the merchant did not select is OMITTED, and a selected payway with no registered adapter is omitted too. The offline adapters (delivery, bank_transfer, paid_at_store) are NOT exempt — they are filtered by the same selection. paymentMethods[] is returned in the merchant's saved order, not the adapter registration order, so a client may render it as-is. FAIL-CLOSED: when the key is unset or empty the list is EMPTY — it does not fall back to METHODS.PAYWAY (the rendered storefront's list) and it does not mean "unfiltered". POST /rest/checkout/place-order enforces the same list and refuses anything outside it with a 422 (error.code = payway_not_available), so this endpoint is the authoritative source for a payment-method picker.
Responses
List of available payment methods