$merchant_key, 'time' => $time, 'invoice_no' => $invoice_no, 'amount' => $amount, 'description' => $description, 'back_url' => $return_url, 'return_url' => $return_url, 'lang' => NinePayConstance::LANG_VI, 'currency' => $order['currency'], ); if ( ! empty( $payment_method ) ) { if ($payment_method === NinePayConstance::METHOD_INSTALLMENT) { $data['method'] = NinePayConstance::METHOD_CREDIT; $data['transaction_type'] = "INSTALLMENT"; } else { $data['method'] = $payment_method; } } if ( $lang === NinePayConstance::LANG_EN ) { $data['lang'] = NinePayConstance::LANG_EN; $data['description'] = 'Payment for order number: orderID' . $order['id']; } $message = MessageBuilder::instance() ->with( $time, $x_forward_url, 'POST' ) ->with_params( $data ) ->build(); $hmacs = new HMACSignature(); $signature = $hmacs->sign( $message, $merchant_secret_key ); $http_data = array( 'baseEncode' => base64_encode( wp_json_encode( $data, JSON_UNESCAPED_UNICODE ) ), 'signature' => $signature, ); return $end_point . '?' . http_build_query( $http_data ); } }