File "coinbase.php"
Full Path: /home/cananyalcin/public_html/core/module/client/coinbase.php
File size: 1.65 KB
MIME-type: text/x-php
Charset: utf-8
<?php
require_once __DIR__ . "/library/coinbase_api/autoload.php";
use CoinbaseCommerce\ApiClient;
use CoinbaseCommerce\Resources\Charge;
/**
* Init ApiClient with your Api Key
* Your Api Keys are available in the Coinbase Commerce Dashboard.
* Make sure you don't store your API Key in your source code!
*/
function create($data){
ApiClient::init($data->key);
$chargeObj = new Charge(
[
"description" => $data->description,
"metadata" => [
"customer_id" => $data->uid,
"customer_name" => $data->email
],
'local_price' => [
'amount' => $data->amount,
'currency' => $data->currency
],
"name" => $data->name,
"payments" => [],
"redirect_url" => $data->redirect_url,
"cancel_url" => $data->cancel,
"pricing_type" => "fixed_price"
]
);
try {
$chargeObj->save();
$redirect_url = $chargeObj->hosted_url;
$result = (object)array(
'status' => 'success',
'redirect_url' => $redirect_url,
'txn_id' => $chargeObj->id,
);
} catch (\Exception $exception) {
$result = (object)array(
'status' => 'error',
'message' => $exception->getMessage(),
);
}
return $result;
}
function get_transaction_detail_info($transaction_id){
try {
$response = Charge::retrieve($transaction_id);
$result = array(
'status' => 'success',
'data' => $response,
);
} catch (\Exception $exception) {
$result = array(
'status' => 'error',
'data' => $exception->getMessage(),
);
}
return (object)$result;
}