|
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 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;
}
}