| Server IP : 216.106.184.20 / Your IP : 216.73.216.234 Web Server : LiteSpeed System : Linux asmodeus.in-hell.com 5.14.0-570.58.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 29 06:24:11 EDT 2025 x86_64 User : sekoaid1 ( 1891) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/sekoaid1/spp.raudhatulfalah.sch.id/vendor/midtrans/midtrans-php/Midtrans/ |
Upload File : |
<?php
namespace Midtrans;
/**
* Create Snap payment page and return snap token
*/
class Snap
{
/**
* Create Snap payment page
*
* Example:
*
* ```php
*
* namespace Midtrans;
*
* $params = array(
* 'transaction_details' => array(
* 'order_id' => rand(),
* 'gross_amount' => 10000,
* )
* );
* $paymentUrl = Snap::getSnapToken($params);
* ```
*
* @param array $params Payment options
* @return string Snap token.
* @throws Exception curl error or midtrans error
*/
public static function getSnapToken($params)
{
return (Snap::createTransaction($params)->token);
}
/**
* Create Snap payment page, with this version returning full API response
*
* Example:
*
* ```php
* $params = array(
* 'transaction_details' => array(
* 'order_id' => rand(),
* 'gross_amount' => 10000,
* )
* );
* $paymentUrl = Snap::getSnapToken($params);
* ```
*
* @param array $params Payment options
* @return object Snap response (token and redirect_url).
* @throws Exception curl error or midtrans error
*/
public static function createTransaction($params)
{
$payloads = array(
'credit_card' => array(
// 'enabled_payments' => array('credit_card'),
'secure' => Config::$is3ds
)
);
if (isset($params['item_details'])) {
$gross_amount = 0;
foreach ($params['item_details'] as $item) {
$gross_amount += $item['quantity'] * $item['price'];
}
$params['transaction_details']['gross_amount'] = $gross_amount;
}
if (Config::$isSanitized) {
Sanitizer::jsonRequest($params);
}
if (Config::$appendNotifUrl)
Config::$curlOptions[CURLOPT_HTTPHEADER][] = 'X-Append-Notification: ' . Config::$appendNotifUrl;
if (Config::$overrideNotifUrl)
Config::$curlOptions[CURLOPT_HTTPHEADER][] = 'X-Override-Notification: ' . Config::$overrideNotifUrl;
$params = array_replace_recursive($payloads, $params);
$result = SnapApiRequestor::post(
Config::getSnapBaseUrl() . '/transactions',
Config::$serverKey,
$params
);
return $result;
}
}