Add remaining project files (exclude ignored folders)
This commit is contained in:
@@ -0,0 +1,257 @@
|
||||
<?php
|
||||
|
||||
namespace Midtrans;
|
||||
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* Provide charge and capture functions for Core API
|
||||
*/
|
||||
class CoreApi
|
||||
{
|
||||
/**
|
||||
* Create transaction.
|
||||
*
|
||||
* @param mixed[] $params Transaction options
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function charge($params)
|
||||
{
|
||||
$payloads = array(
|
||||
'payment_type' => 'credit_card'
|
||||
);
|
||||
|
||||
if (isset($params['item_details'])) {
|
||||
$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 (Config::$isSanitized) {
|
||||
Sanitizer::jsonRequest($payloads);
|
||||
}
|
||||
|
||||
return ApiRequestor::post(
|
||||
Config::getBaseUrl() . '/v2/charge',
|
||||
Config::$serverKey,
|
||||
$payloads
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Capture pre-authorized transaction
|
||||
*
|
||||
* @param string $param Order ID or transaction ID, that you want to capture
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function capture($param)
|
||||
{
|
||||
$payloads = array(
|
||||
'transaction_id' => $param,
|
||||
);
|
||||
|
||||
return ApiRequestor::post(
|
||||
Config::getBaseUrl() . '/v2/capture',
|
||||
Config::$serverKey,
|
||||
$payloads
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Do `/v2/card/register` API request to Core API
|
||||
*
|
||||
* @param $cardNumber
|
||||
* @param $expMoth
|
||||
* @param $expYear
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function cardRegister($cardNumber, $expMoth, $expYear)
|
||||
{
|
||||
$path = "/card/register?card_number=" . $cardNumber
|
||||
. "&card_exp_month=" . $expMoth
|
||||
. "&card_exp_year=" . $expYear
|
||||
. "&client_key=" . Config::$clientKey;
|
||||
|
||||
return ApiRequestor::get(
|
||||
Config::getBaseUrl() . "/v2" . $path,
|
||||
Config::$clientKey,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Do `/v2/token` API request to Core API
|
||||
*
|
||||
* @param $cardNumber
|
||||
* @param $expMoth
|
||||
* @param $expYear
|
||||
* @param $cvv
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function cardToken($cardNumber, $expMoth, $expYear, $cvv)
|
||||
{
|
||||
$path = "/token?card_number=" . $cardNumber
|
||||
. "&card_exp_month=" . $expMoth
|
||||
. "&card_exp_year=" . $expYear
|
||||
. "&card_cvv=" . $cvv
|
||||
. "&client_key=" . Config::$clientKey;
|
||||
|
||||
return ApiRequestor::get(
|
||||
Config::getBaseUrl() . "/v2" . $path,
|
||||
Config::$clientKey,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Do `/v2/point_inquiry/<tokenId>` API request to Core API
|
||||
*
|
||||
* @param string tokenId - tokenId of credit card (more params detail refer to: https://api-docs.midtrans.com)
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function cardPointInquiry($tokenId)
|
||||
{
|
||||
return ApiRequestor::get(
|
||||
Config::getBaseUrl() . '/v2/point_inquiry/' . $tokenId,
|
||||
Config::$serverKey,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create `/v2/pay/account` API request to Core API
|
||||
*
|
||||
* @param string create pay account request (more params detail refer to: https://api-docs.midtrans.com/#create-pay-account)
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function linkPaymentAccount($param)
|
||||
{
|
||||
return ApiRequestor::post(
|
||||
Config::getBaseUrl() . '/v2/pay/account',
|
||||
Config::$serverKey,
|
||||
$param
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Do `/v2/pay/account/<accountId>` API request to Core API
|
||||
*
|
||||
* @param string accountId (more params detail refer to: https://api-docs.midtrans.com/#get-pay-account)
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function getPaymentAccount($accountId)
|
||||
{
|
||||
return ApiRequestor::get(
|
||||
Config::getBaseUrl() . '/v2/pay/account/' . $accountId,
|
||||
Config::$serverKey,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unbind `/v2/pay/account/<accountId>/unbind` API request to Core API
|
||||
*
|
||||
* @param string accountId (more params detail refer to: https://api-docs.midtrans.com/#unbind-pay-account)
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function unlinkPaymentAccount($accountId)
|
||||
{
|
||||
return ApiRequestor::post(
|
||||
Config::getBaseUrl() . '/v2/pay/account/' . $accountId . '/unbind',
|
||||
Config::$serverKey,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create `/v1/subscription` API request to Core API
|
||||
*
|
||||
* @param string create subscription request (more params detail refer to: https://api-docs.midtrans.com/#create-subscription)
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function createSubscription($param)
|
||||
{
|
||||
return ApiRequestor::post(
|
||||
Config::getBaseUrl() . '/v1/subscriptions',
|
||||
Config::$serverKey,
|
||||
$param
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Do `/v1/subscription/<subscription_id>` API request to Core API
|
||||
*
|
||||
* @param string get subscription request (more params detail refer to: https://api-docs.midtrans.com/#get-subscription)
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function getSubscription($SubscriptionId)
|
||||
{
|
||||
return ApiRequestor::get(
|
||||
Config::getBaseUrl() . '/v1/subscriptions/' . $SubscriptionId,
|
||||
Config::$serverKey,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Do disable `/v1/subscription/<subscription_id>/disable` API request to Core API
|
||||
*
|
||||
* @param string disable subscription request (more params detail refer to: https://api-docs.midtrans.com/#disable-subscription)
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function disableSubscription($SubscriptionId)
|
||||
{
|
||||
return ApiRequestor::post(
|
||||
Config::getBaseUrl() . '/v1/subscriptions/' . $SubscriptionId . '/disable',
|
||||
Config::$serverKey,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Do enable `/v1/subscription/<subscription_id>/enable` API request to Core API
|
||||
*
|
||||
* @param string enable subscription request (more params detail refer to: https://api-docs.midtrans.com/#enable-subscription)
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function enableSubscription($SubscriptionId)
|
||||
{
|
||||
return ApiRequestor::post(
|
||||
Config::getBaseUrl() . '/v1/subscriptions/' . $SubscriptionId . '/enable',
|
||||
Config::$serverKey,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Do update subscription `/v1/subscription/<subscription_id>` API request to Core API
|
||||
*
|
||||
* @param string update subscription request (more params detail refer to: https://api-docs.midtrans.com/#update-subscription)
|
||||
* @return mixed
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function updateSubscription($SubscriptionId, $param)
|
||||
{
|
||||
return ApiRequestor::patch(
|
||||
Config::getBaseUrl() . '/v1/subscriptions/' . $SubscriptionId,
|
||||
Config::$serverKey,
|
||||
$param
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user