/** * Payment fields which will be rendered on checkout page * @see WC_Payment_Gateway::payment_fields() */ function payment_fields() { if (is_user_logged_in()) { $viewData["user_logged_in"] = true; $current_user = wp_get_current_user(); $omise_customer_id = $this->sandbox ? $current_user->test_omise_customer_id : $current_user->live_omise_customer_id; if (!empty($omise_customer_id)) { $cards = Omise::get_customer_cards($this->private_key, $omise_customer_id); $viewData["existingCards"] = $cards; } } Omise_Util::render_view('includes/templates/omise-payment-form.php', $viewData); }
/** * Public omise_create_card ajax hook */ public function omise_create_card() { $token = isset($_POST["omise_token"]) ? wc_clean($_POST["omise_token"]) : ""; if (empty($token)) { Omise_Util::render_json_error("omise_token is required"); die; } if (!wp_verify_nonce($_POST["omise_nonce"], "omise_add_card")) { Omise_Util::render_json_error("Nonce verification failure"); die; } $card = Omise::create_card($this->private_key, $this->omise_customer_id, $token); echo json_encode($card); die; }
public function init_dashboard() { try { $balance = Omise::get_balance($this->private_key); if ($balance->object == 'balance') { $balance->formatted_total = wc_price($balance->total / 100); $balance->formatted_available = wc_price($balance->available / 100); $viewData['balance'] = $balance; $this->extract_result_message($viewData); $viewData["current_account_mode"] = $this->test_mode ? "TEST" : "LIVE"; Omise_Util::render_view('includes/templates/omise-wp-admin-page.php', $viewData); $this->register_dashboard_script(); } else { echo "<div class='wrap'><div class='error'>Unable to get the balance information. Please verify that your private key is valid. [" . esc_html($balance->message) . "]</div></div>"; } } catch (Exception $e) { echo "<div class='wrap'><div class='error'>" . esc_html($e->getMessage()) . "</div></div>"; } }
function test_render_json_error_with_message_should_return_json_with_error_message() { $expected = '"{ \\"object\\": \\"error\\", \\"message\\": \\"omise_token is required\\" }"'; ob_start(); Omise_Util::render_json_error("omise_token is required"); $actual = ob_get_clean(); $this->assertEquals($expected, $actual); }