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/mesinpolesshinemate.com/application/third_party/Veritrans/ |
Upload File : |
<?php /** * Create Snap payment page and return snap token * */ class Veritrans_Snap { /** * Create Snap payment page * * Example: * * ```php * $params = array( * 'transaction_details' => array( * 'order_id' => rand(), * 'gross_amount' => 10000, * ) * ); * $paymentUrl = Veritrans_Snap::getSnapToken($params); * ``` * * @param array $params Payment options * @return string Snap token. * @throws Exception curl error or veritrans error */ public static function getSnapToken($params) { $payloads = array( 'credit_card' => array( // 'enabled_payments' => array('credit_card'), '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']; } $params['transaction_details']['gross_amount'] = $gross_amount; } if (Veritrans_Config::$isSanitized) { Veritrans_Sanitizer::jsonRequest($params); } $params = array_replace_recursive($payloads, $params); $result = Veritrans_SnapApiRequestor::post( Veritrans_Config::getSnapBaseUrl() . '/transactions', Veritrans_Config::$serverKey, $params); return $result->token; } }