Как создать и проверить статус счета в cryptocloud

В cryptocloud можно создавать счета для приёма платежей на сайте в криптовалюте. Есть готовые модули для различных CMS но если под вашу систему модуля нет, то можно произвести интеграцию при помощи cryptocloud API.

После регистрации в cryptocloud нужно получить в личном кабинете "API KEY" и "SHOP ID" после Добавление проекта. С добовлением Вашего сайта в систему проблем не возникнет. Модерации нету, ждать ничего не нужно. Просто добовляете свой сайт и приступаете к интеграции. 

Создание счета в cryptocloud api из PHP. POST Запрос
 

function cryptocloudCreate() {
	$url = 'https://api.cryptocloud.plus/v1/invoice/create';

	$token = "token";
	$headers = array();
	$headers[] = "Content-Type: application/json";
	$headers[] = "Accept: application/json";
	$headers[] = "Authorization: Token $token";

	$post_data = [
	    'amount' => 3,
	    'shop_id' => 'XXXXXXXX',
	];

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($curl, CURLOPT_VERBOSE, 1);
	curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($post_data));
	curl_setopt($curl, CURLOPT_URL, $url);
	curl_setopt($curl, CURLOPT_POST, true);

	$response = curl_exec($curl);
	curl_close($curl);

	$response = json_decode($response, true);
	if ( $response['status'] == "success" ) {
		echo $response['pay_url'];
	}
}

Ответ в случаи успеха

{"status":"success","pay_url":"https://pay.cryptocloud.plus/XXXXXXXX","currency":"USDT","invoice_id":"XXXXXXXX","amount":1.0,"amount_usd":1}"

pay_url - это и будет ссылка на оплату.
invoice_id - Будет нужен для проверки статуса платежа

Проверка статуса счета в cryptocloud GET Запрос
 

function cryptocloudInfo() {
	$token = "token";
	$headers[] = "Authorization: Token $token";

	$queryParams = [
	    'uuid' => 'XXXXXX'
	];

	$url = 'https://api.cryptocloud.plus/v1/invoice/info?' . http_build_query($queryParams);
	$curl = curl_init($url);
	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

	$response = curl_exec($curl);
	curl_close($curl);

	$response = json_decode($response, true);
	echo $response['status_invoice'];
}

Ответ в случаи успеха

{"status":"success","status_invoice":"created"}

status_invoice - может содержать разные значения в зависимости от статуса платежа.

created - созданный
paid - оплаченный
partial - частично оплачен
canceled - отмена платежа

 

×