Как создать и проверить статус счета в 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 - отмена платежа