Библиотека PHP Coingate обеспечивает удобный доступ к API коптины из приложений, написанных на языке PHP.
PHP 7.3.0, а затем.
Вы можете установить библиотеку через композитор. Запустите следующую команду:
composer require coingate/coingate-php Если вы не хотите использовать композитор, вы можете скачать последний релиз. Затем, чтобы использовать библиотеку, включите файл init.php .
require_once ( ' /path/to/coingate-php/init.php ' );Библиотека требует следующих расширений, чтобы правильно работать:
curl , хотя вы можете использовать своего собственного нелегированного клиента, если предпочитаетеjsonЕсли вы используете композитор, эти зависимости следует обрабатывать автоматически. Если вы установите вручную, вы захотите убедиться, что эти расширения доступны.
Вы можете зарегистрироваться на учетную запись Coingate по адресу https://coingate.com для производства и https://sandbox.coingate.com для тестирования (песочница).
Обратите внимание, что для песочницы вы должны генерировать отдельные учетные данные API на https://sandbox.coingate.com. Учетные данные API, сгенерированные на https://coingate.com, не будут работать в режиме песочницы.
Использование библиотеки PHP Coingate выглядит как:
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' ); Чтобы использовать режим песочницы, вам необходимо установить второй параметр на true .
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' , true );Если вы планируете использовать только публичные конечные точки API, аутентификация не требуется.
$ client = new CoinGate Client ();
// if needed you can set configuration parameters later
$ client -> setApiKey ( ' YOUR_API_TOKEN ' );
$ client -> setEnvironment ( ' sandbox ' );Полная документация об API котинга можно найти здесь
Пример приложения с использованием этой библиотеки можно найти здесь
Создайте заказ в Coingate и перенаправить покупателя на счет (PAYTAIN_URL).
$ params = [
' order_id ' => ' YOUR-CUSTOM-ORDER-ID-115 ' ,
' price_amount ' => 1050.99 ,
' price_currency ' => ' USD ' ,
' receive_currency ' => ' EUR ' ,
' callback_url ' => ' https://example.com/payments?token=6tCENGUYI62ojkuzDPX7Jg ' ,
' cancel_url ' => ' https://example.com/cart ' ,
' success_url ' => ' https://example.com/account/orders ' ,
' title ' => ' Order #112 ' ,
' description ' => ' Apple Iphone 13 '
];
try {
$ order = $ client -> order -> create ( $ params );
} catch ( CoinGate Exception ApiErrorException $ e ) {
// something went wrong...
// var_dump($e->getErrorDetails());
}
echo $ order -> id ;Размещение созданного заказа с предварительно выбранной валютой оплаты (BTC, LTC, ETH и т. Д.). Отображать платеж_аддресс и платный Можно использовать для счетов белой маршрута.
$ checkout = $ client -> order -> checkout ( 7294 , [
' pay_currency ' => ' BTC '
]);После создания заказа вы получите идентификатор заказа. Этот идентификатор будет использоваться для получения запросов на заказ.
$ order = $ client -> order -> get ( 7294 );Получение информации всех размещенных заказов.
$ orders = $ client -> order -> list ([
' created_at ' => [
' from ' => ' 2022-01-25 '
]
]);Текущий обменный курс для любых двух валют, Fiat или Crypto. Эта конечная точка является общедоступной, аутентификация не требуется.
$ client -> getExchangeRate ( ' BTC ' , ' EUR ' );Текущие обменные курсы для торговцев и трейдеров. Эта конечная точка является общедоступной, аутентификация не требуется.
$ client -> listExchangeRates ();Конечная точка проверки здоровья для API коринга. Эта конечная точка является общедоступной, аутентификация не требуется.
$ client -> ping ();Получите IP -адреса серверов котинга
$ client -> getIPAddresses (); $ client -> getCurrencies ();
// Crypto + Native + Merchant Pay
$ client -> getCheckoutCurrencies ();
// get Merchant Pay currencies only
$ client -> getMerchantPayCurrencies ();
// get Merchant Receive currencies only
$ client -> getMerchantPayoutCurrencies (); $ client -> getPlatforms ();Чтобы изменить тайм -ауты запроса (подключение или общее количество, в секундах) вам нужно сообщить клиенту API использовать CurlClient, отличный от его дефолта. Вы установите тайм -ауты в этом CurlClient.
// set up your tweaked Curl client
$ curl = new CoinGate HttpClient CurlClient ();
$ curl -> setTimeout ( 10 );
$ curl -> setConnectTimeout ( 5 );
// tell CoinGate Library to use the tweaked Curl client
CoinGate Client:: setHttpClient ( $ curl );
// use the CoinGate API client as you normally would $ result = CoinGate Client:: testConnection ( ' YOUR_API_TOKEN ' ); Чтобы проверить соединение API в режиме песочницы, вам необходимо установить второй параметр на true .
$ result = CoinGate Client:: testConnection ( ' YOUR_API_TOKEN ' , true );Вы пишете плагин, который интегрирует обливание и внедряет нашу библиотеку? Затем, пожалуйста, используйте функцию SetAppInfo, чтобы идентифицировать свой плагин. Например:
CoinGate Client:: setAppInfo ( " MyAwesomePlugin " , " 1.0.0 " );Метод должен быть вызван один раз, прежде чем любой запрос будет отправлен в API. Второй параметр является необязательным.