Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /var/www/ptbos.biz/public_html/application/third_party/Veritrans/ |
Upload File : |
<?php /** * Create VtWeb transaction and return redirect url * */ class Veritrans_VtWeb { /** * Create VT-Web transaction * * Example: * * ```php * $params = array( * 'transaction_details' => array( * 'order_id' => rand(), * 'gross_amount' => 10000, * ) * ); * $paymentUrl = Veritrans_Vtweb::getRedirectionUrl($params); * header('Location: ' . $paymentUrl); * ``` * * @param array $params Payment options * @return string Redirect URL to VT-Web payment page. * @throws Exception curl error or veritrans error */ public static function getRedirectionUrl($params) { $payloads = array( 'payment_type' => 'vtweb', 'vtweb' => array( // 'enabled_payments' => array('credit_card'), 'credit_card_3d_secure' => Veritrans_Config::$is3ds ) ); if (array_key_exists('item_details', $params)) { $gross_amount = 0; foreach ($params['item_details'] as $item) { $gross_amount += $item['quantity'] * $item['price']; } $payloads['transaction_details']['gross_amount'] = $gross_amount; } $payloads = array_replace_recursive($payloads, $params); if (Veritrans_Config::$isSanitized) { Veritrans_Sanitizer::jsonRequest($payloads); } $result = Veritrans_ApiRequestor::post( Veritrans_Config::getBaseUrl() . '/charge', Veritrans_Config::$serverKey, $payloads); return $result->redirect_url; } }