A biblioteca Coing PHP fornece acesso conveniente à API Coing a partir de aplicativos escritos no idioma PHP.
Php 7.3.0 e posterior.
Você pode instalar a biblioteca via compositor. Execute o seguinte comando:
composer require coingate/coingate-php Se você não deseja usar o Composer, pode baixar o lançamento mais recente. Em seguida, para usar a biblioteca, inclua o arquivo init.php .
require_once ( ' /path/to/coingate-php/init.php ' );A biblioteca requer as seguintes extensões para funcionar corretamente:
curl , embora você possa usar seu próprio cliente não-CURL, se preferirjsonSe você usar o Composer, essas dependências devem ser tratadas automaticamente. Se você instalar manualmente, você deve garantir que essas extensões estejam disponíveis.
Você pode se inscrever em uma conta Coing em https://coingate.com para produção e https://sandbox.coingate.com para teste (Sandbox).
Observe que, para o Sandbox, você deve gerar credenciais de API separadas em https://sandbox.coingate.com. As credenciais da API geradas em https://coingate.com não funcionarão no modo Sandbox.
O uso da biblioteca de Coing PHP se parece:
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' ); Para usar o modo Sandbox, você precisa definir o segundo parâmetro como true .
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' , true );Se você planeja usar apenas pontos de extremidade da API pública, a autenticação não é necessária.
$ client = new CoinGate Client ();
// if needed you can set configuration parameters later
$ client -> setApiKey ( ' YOUR_API_TOKEN ' );
$ client -> setEnvironment ( ' sandbox ' );A documentação completa da API Coing pode ser encontrada aqui
Um exemplo de aplicativo usando esta biblioteca pode ser encontrado aqui
Crie pedidos no Coing e redirecionar o comprador para faturar (Pagget_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 ;Colocando o pedido criado com moeda de pagamento pré-selecionada (BTC, LTC, ETH, etc). Exiba o pagamento_address e pay_amount para comprador ou redirecionar para pagamento_url. Pode ser usado para faturas de etiquetas brancas.
$ checkout = $ client -> order -> checkout ( 7294 , [
' pay_currency ' => ' BTC '
]);Depois de criar um pedido, você receberá um ID do pedido. Este ID será usado para obter solicitações de pedido.
$ order = $ client -> order -> get ( 7294 );Recuperar informações de todos os pedidos colocados.
$ orders = $ client -> order -> list ([
' created_at ' => [
' from ' => ' 2022-01-25 '
]
]);Taxa de câmbio atual para duas moedas, Fiat ou Crypto. Esse terminal é público, a autenticação não é necessária.
$ client -> getExchangeRate ( ' BTC ' , ' EUR ' );As taxas atuais de câmbio de coes para comerciantes e comerciantes. Esse terminal é público, a autenticação não é necessária.
$ client -> listExchangeRates ();Um terminal de verificação de saúde para a API Coing. Esse terminal é público, a autenticação não é necessária.
$ client -> ping ();Obtenha endereços IP de servidores coing
$ 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 ();Para modificar o tempo limite da solicitação (Connect ou Total, em segundos), você precisará dizer ao cliente da API para usar um enriquecimento diferente do seu padrão. Você definirá os tempos limite nesse enrolamento.
// 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 ' ); Para testar a conexão da API no modo Sandbox, você precisa definir o segundo parâmetro como true .
$ result = CoinGate Client:: testConnection ( ' YOUR_API_TOKEN ' , true );Você está escrevendo um plug -in que integra Coingate e incorpore nossa biblioteca? Em seguida, use a função Setappinfo para identificar seu plug -in. Por exemplo:
CoinGate Client:: setAppInfo ( " MyAwesomePlugin " , " 1.0.0 " );O método deve ser chamado uma vez, antes que qualquer solicitação seja enviada à API. O segundo parâmetro é opcional.