$order->get_total(), "referenceId" => $referenceId, "callBackUrl" => filter_var("https://" . sanitize_text_field($_SERVER['HTTP_HOST']) . "/wc-api/" . sanitize_text_field($id), FILTER_SANITIZE_STRING, FILTER_SANITIZE_URL) ]; if ($returnUrlSuccess) { $body ["returnUrlSuccess"] = $returnUrlSuccess; } if ($returnUrlFailed) { $body ["returnUrlFail"] = $returnUrlFailed; } $response = wp_remote_post(self::ACC_DOMAIN . "/api/iframe-invoices", [ 'method' => 'POST', 'headers' => [ "Accept" => "application/json", "Content-Type" => "application/json", "Authorization" => "JWS-AUTH-TOKEN " . JWT::createToken($projectId, $projectSecret) ], 'body' => json_encode($body) ] ); if (!$response['body']) { throw new Exception(self::ERROR_MESSAGE); } $responseData = json_decode($response['body'], true); if ($response['response']['code'] !== self::SUCCESS_CREATE_CODE) { throw new Exception(self::ERROR_MESSAGE); } if (!isset($responseData['link'])) { throw new Exception(self::ERROR_MESSAGE); } MailHelper::sendMessage( $order->get_billing_email(), get_option('woocommerce_email_from_address'), MailHelper::TYPE_NEW, [ "vendorName" => get_bloginfo('name'), "name" => $order->get_billing_first_name(), "lastname" => $order->get_billing_last_name(), "amount" => $order->get_total(), "currency" => $order->get_currency(), "link" => $responseData['link'] ] ); return $responseData['link']; } }