La bibliothèque PHP de COINGATE offre un accès pratique à l'API COINGATE à partir des applications écrites dans le langage PHP.
PHP 7.3.0 et plus tard.
Vous pouvez installer la bibliothèque via Composer. Exécutez la commande suivante:
composer require coingate/coingate-php Si vous ne souhaitez pas utiliser Composer, vous pouvez télécharger la dernière version. Ensuite, pour utiliser la bibliothèque, incluez le fichier init.php .
require_once ( ' /path/to/coingate-php/init.php ' );La bibliothèque nécessite les extensions suivantes pour fonctionner correctement:
curl , bien que vous puissiez utiliser votre propre client non-Curl si vous préférezjsonSi vous utilisez Composer, ces dépendances doivent être gérées automatiquement. Si vous installez manuellement, vous voudrez vous assurer que ces extensions sont disponibles.
Vous pouvez vous inscrire à un compte de coigate sur https://coingate.com pour la production et https://sandbox.coingate.com pour les tests (sandbox).
Veuillez noter que pour Sandbox, vous devez générer des informations d'identification API distinctes sur https://sandbox.coingate.com. Les informations d'identification API générées sur https://coingate.com ne fonctionneront pas pour le mode sandbox.
L'utilisation de la bibliothèque PHP de COINGATE ressemble:
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' ); Pour utiliser le mode sandbox, vous devez définir le deuxième paramètre sur true .
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' , true );Si vous prévoyez d'utiliser uniquement des points de terminaison de l'API, l'authentification n'est pas requise.
$ client = new CoinGate Client ();
// if needed you can set configuration parameters later
$ client -> setApiKey ( ' YOUR_API_TOKEN ' );
$ client -> setEnvironment ( ' sandbox ' );Une documentation complète de l'API de coingt peut être trouvée ici
Un exemple d'application utilisant cette bibliothèque peut être trouvé ici
Créez une commande chez COINGATE et redirigez l'acheteur vers la facture (Payment_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 ;Placer la commande créée avec une devise de paiement présélectionnée (BTC, LTC, ETH, etc.). Affichez PAYS_ADdress et Pay_Amount pour l'acheteur ou redirigez vers PAYS_URL. Peut être utilisé pour les factures de l'étiquette blanche.
$ checkout = $ client -> order -> checkout ( 7294 , [
' pay_currency ' => ' BTC '
]);Après avoir créé une commande, vous obtiendrez un ID de commande. Cet identifiant sera utilisé pour obtenir des demandes de commande.
$ order = $ client -> order -> get ( 7294 );Récupération des informations de toutes les commandes passées.
$ orders = $ client -> order -> list ([
' created_at ' => [
' from ' => ' 2022-01-25 '
]
]);Taux de change actuel pour deux devises, Fiat ou Crypto. Ce point de terminaison est public, l'authentification n'est pas requise.
$ client -> getExchangeRate ( ' BTC ' , ' EUR ' );Taux de change actuels de moitié pour les commerçants et les commerçants. Ce point de terminaison est public, l'authentification n'est pas requise.
$ client -> listExchangeRates ();Un point de terminaison de contrôle de la santé pour l'API de la coigat. Ce point de terminaison est public, l'authentification n'est pas requise.
$ client -> ping ();Obtenez des adresses IP des serveurs de coigate
$ 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 ();Pour modifier les délais de demande (connecter ou total, en secondes), vous devrez dire au client de l'API d'utiliser un curlclient autre que sa valeur par défaut. Vous définissez les délais d'attente dans ce 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 ' ); Pour tester la connexion API en mode Sandbox, vous devez définir le deuxième paramètre sur true .
$ result = CoinGate Client:: testConnection ( ' YOUR_API_TOKEN ' , true );Écrivez-vous un plugin qui intègre COINGATE et intègre notre bibliothèque? Ensuite, veuillez utiliser la fonction SetAppinfo pour identifier votre plugin. Par exemple:
CoinGate Client:: setAppInfo ( " MyAwesomePlugin " , " 1.0.0 " );La méthode doit être appelée une fois, avant que toute demande ne soit envoyée à l'API. Le deuxième paramètre est facultatif.