![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/public_html/quickqr/includes/payments/midtrans/Midtrans/ |
<?php
namespace Midtrans;
use Exception;
/**
* API methods to get transaction status, approve and cancel transactions
*/
class Transaction
{
/**
* Retrieve transaction status
*
* @param string $id Order ID or transaction ID
*
* @return mixed[]
* @throws Exception
*/
public static function status($id)
{
return ApiRequestor::get(
Config::getBaseUrl() . '/' . $id . '/status',
Config::$serverKey,
false
);
}
/**
* Retrieve B2B transaction status
*
* @param string $id Order ID or transaction ID
*
* @return mixed[]
* @throws Exception
*/
public static function statusB2b($id)
{
return ApiRequestor::get(
Config::getBaseUrl() . '/' . $id . '/status/b2b',
Config::$serverKey,
false
);
}
/**
* Approve challenge transaction
*
* @param string $id Order ID or transaction ID
*
* @return string
* @throws Exception
*/
public static function approve($id)
{
return ApiRequestor::post(
Config::getBaseUrl() . '/' . $id . '/approve',
Config::$serverKey,
false
)->status_code;
}
/**
* Cancel transaction before it's settled
*
* @param string $id Order ID or transaction ID
*
* @return string
* @throws Exception
*/
public static function cancel($id)
{
return ApiRequestor::post(
Config::getBaseUrl() . '/' . $id . '/cancel',
Config::$serverKey,
false
)->status_code;
}
/**
* Expire transaction before it's setteled
*
* @param string $id Order ID or transaction ID
*
* @return mixed[]
* @throws Exception
*/
public static function expire($id)
{
return ApiRequestor::post(
Config::getBaseUrl() . '/' . $id . '/expire',
Config::$serverKey,
false
);
}
/**
* Transaction status can be updated into refund
* if the customer decides to cancel completed/settlement payment.
* The same refund id cannot be reused again.
*
* @param string $id Order ID or transaction ID
*
* @param $params
* @return mixed[]
* @throws Exception
*/
public static function refund($id, $params)
{
return ApiRequestor::post(
Config::getBaseUrl() . '/' . $id . '/refund',
Config::$serverKey,
$params
);
}
/**
* Transaction status can be updated into refund
* if the customer decides to cancel completed/settlement payment.
* The same refund id cannot be reused again.
*
* @param string $id Order ID or transaction ID
*
* @return mixed[]
* @throws Exception
*/
public static function refundDirect($id, $params)
{
return ApiRequestor::post(
Config::getBaseUrl() . '/' . $id . '/refund/online/direct',
Config::$serverKey,
$params
);
}
/**
* Deny method can be triggered to immediately deny card payment transaction
* in which fraud_status is challenge.
*
* @param string $id Order ID or transaction ID
*
* @return mixed[]
* @throws Exception
*/
public static function deny($id)
{
return ApiRequestor::post(
Config::getBaseUrl() . '/' . $id . '/deny',
Config::$serverKey,
false
);
}
}