<?php /** * Class for the testing credentials requests. * * @package WC_Klarna_Payments/Classes/Requests/POST */ defined( 'ABSPATH' ) || exit; /** * KP_Test_Credentials class. */ class KP_Test_Credentials extends KP_Requests_Post { /** * Class constructor. * * @param array $arguments The request arguments. */ public function __construct( $arguments ) { parent::__construct( $arguments ); $this->log_title = 'Test credentials'; $this->request_filter = 'wc_klarna_payments_create_session_args'; $this->endpoint = 'payments/v1/sessions'; } /** * Overrides the default set_credentials method to use the once passed from arguments. * * @return void */ public function set_credentials() { $this->merchant_id = $this->arguments['username']; $this->shared_secret = $this->arguments['password']; } /** * Get the body for the request. * * @return array */ protected function get_body() { $country_data = KP_Form_Fields::$kp_form_auto_countries[ strtolower( $this->arguments['country'] ?? '' ) ] ?? array(); return array( 'purchase_country' => strtoupper( $this->arguments['country'] ), 'purchase_currency' => $country_data['currency'] ?? get_woocommerce_currency(), 'locale' => 'en-US', 'order_amount' => 100, 'order_lines' => array( array( 'name' => 'Test credentials Product', 'quantity' => 1, 'total_amount' => 100, 'unit_price' => 100, ), ), ); } }