Automattic\WooCommerce\StoreApi\Routes\V1
Checkout::get_request_payment_method
Gets the chosen payment method from the request.
Method of the class: Checkout{}
No Hooks.
Returns
\WC_Payment_Gateway|null.
Usage
// private - for code of main (parent) class only $result = $this->get_request_payment_method( $request );
- $request(WP_REST_Request) (required)
- Request object.
Checkout::get_request_payment_method() Checkout::get request payment method code WC 11.0.0
private function get_request_payment_method( \WP_REST_Request $request ) {
$request_payment_method = wc_clean( wp_unslash( $request['payment_method'] ?? '' ) );
if ( empty( $request_payment_method ) ) {
return null;
}
$available_gateways = WC()->payment_gateways->get_available_payment_gateways();
if ( ! isset( $available_gateways[ $request_payment_method ] ) ) {
$all_payment_gateways = WC()->payment_gateways->payment_gateways();
$gateway_title = isset( $all_payment_gateways[ $request_payment_method ] ) ? $all_payment_gateways[ $request_payment_method ]->get_title() : $request_payment_method;
throw new RouteException(
'woocommerce_rest_checkout_payment_method_disabled',
sprintf(
// Translators: %s Payment method ID.
esc_html__( '%s is not available for this order—please choose a different payment method', 'woocommerce' ),
esc_html( $gateway_title )
),
400
);
}
return $available_gateways[ $request_payment_method ];
}