get_selected_payment_method_id() 공개 메소드

 protected function potentially_update_selected_payment_method_from_payment_methods($payment_methods)
 {
     $payment_method_count = count($payment_methods);
     // No payment methods at all? Clear anything we have stored
     if (0 === $payment_method_count) {
         $this->service_settings_store->set_selected_payment_method_id(0);
         return;
     }
     $payment_method_ids = array();
     foreach ((array) $payment_methods as $payment_method) {
         $payment_method_id = intval($payment_method->payment_method_id);
         if (0 !== $payment_method_id) {
             $payment_method_ids[] = $payment_method_id;
         }
     }
     // Just one? Go ahead and use it
     if (1 === $payment_method_count) {
         $this->service_settings_store->set_selected_payment_method_id($payment_method_ids[0]);
         return;
     }
     // Is the stored method id not in the list? Select the first one
     $selected_payment_method_id = $this->service_settings_store->get_selected_payment_method_id();
     if (!in_array($selected_payment_method_id, $payment_method_ids)) {
         $this->service_settings_store->set_selected_payment_method_id($payment_method_ids[0]);
     }
 }
 public function update_items($request)
 {
     $request_body = $request->get_body();
     $settings = json_decode($request_body, true, WOOCOMMERCE_CONNECT_MAX_JSON_DECODE_DEPTH);
     $order_id = $settings['order_id'];
     $settings['payment_method_id'] = $this->settings_store->get_selected_payment_method_id();
     $settings['carrier'] = 'usps';
     $settings['label_size'] = 'default';
     $settings['ship_date'] = date('Y-m-d', time() + 86400);
     // tomorrow
     $service_names = array();
     foreach ($settings['packages'] as $index => $package) {
         $service_names[] = $package['service_name'];
         unset($package['service_name']);
         $settings['packages'][$index] = $package;
     }
     $response = $this->api_client->send_shipping_label_request($settings);
     if (is_wp_error($response)) {
         $error = new WP_Error($response->get_error_code(), $response->get_error_message(), array('message' => $response->get_error_message()));
         $this->logger->log($error, __CLASS__);
         return $error;
     }
     $labels_order_meta = array();
     $labels_data = array();
     foreach ($response->labels as $index => $label_data) {
         if (isset($label_data->error)) {
             $error = new WP_Error($label_data->error->code, $label_data->error->message, array('message' => $label_data->error->message));
             $this->logger->log($error, __CLASS__);
             return $error;
         }
         $labels_data[] = $label_data->label;
         $labels_order_meta[] = array('label_id' => $label_data->label->label_id, 'tracking' => $label_data->label->tracking_id, 'refundable_amount' => $label_data->label->refundable_amount, 'created' => $label_data->label->created, 'carrier_id' => $settings['carrier'], 'service_name' => $service_names[$index]);
     }
     update_post_meta($order_id, 'wc_connect_labels', json_encode($labels_order_meta));
     return array('labels' => $labels_order_meta, 'success' => true);
 }