Maison > développement back-end > tutoriel php > Bitcoin et PHP avec API Coinbase - Utilisation de base

Bitcoin et PHP avec API Coinbase - Utilisation de base

Christopher Nolan
Libérer: 2025-02-19 12:18:12
original
742 Les gens l'ont consulté

Bitcoin et PHP avec API Coinbase - Utilisation de base

Avez-vous déjà pensé à vendre vos services en échange de bitcoins? Ce n'est pas si étrange - aujourd'hui, de nombreux grands joueurs le font réellement. De OkCupid à Khanacademy, même WordPress accepte le bitcoin. De plus, certains pays y considèrent comme une monnaie. Aujourd'hui, nous verrons comment accepter facilement les paiements Bitcoin sur votre site Web / application, avec l'API Coinbase (et son SDK).

Les plats clés

    L'API et le SDK de Coinbase permettent d'intégration dans une application Web pour accepter les paiements Bitcoin. Il offre deux principales façons d'intégration: l'utilisation de l'un des outils marchands que Coinbase met à disposition, ou une intégration complète du service sans aller sur le site Web de Coinbase.
  • L'API de Coinbase propose une gamme de fonctions, notamment la possibilité de vendre ou d'acheter des bitcoins, d'envoyer ou de demander des bitcoins par e-mail ou une adresse Bitcoin, d'accepter les paiements Bitcoin en tant que marchand, stocker les bitcoins dans un ou plusieurs portefeuilles, ont accès à Bitcoin Raw Network données et gérer les micro-paiements et les paiements récurrents.
  • L'authentification de l'API de Coinbase peut être effectuée via un simple accès de clé API avec un secret d'API pour plus de sécurité, ou via OAuth 2. Le système de clé API est recommandé pour ceux qui souhaitent utiliser leur propre compte et apporter des modifications, tandis que OAuth est recommandé pour ceux qui souhaitent laisser l'utilisateur utiliser son compte via l'application.
  • L'API de Coinbase
  • Coinbase propose une fonction pour créer un bouton de paiement, qui peut être personnalisé en fonction de la préférence de l'utilisateur. Cela comprend la possibilité de définir le titre, le montant, la devise et le code de transaction pour le paiement. L'apparition du bouton et l'URL de retour après un paiement réussi peuvent également être personnalisées.
Coinbase SDK

Coinbase a des outils et des SDK intéressants disponibles pour tout le monde, avec des conditions de tarification qui sont pratiques et abordables.

Voici ce que vous devez savoir sur les prix:

    recevoir les paiements avec Coinbase est gratuit;
  • Vous devrez payer des frais (1%) uniquement si vous souhaitez transférer de l'argent sur votre compte bancaire, mais uniquement si vos ventes dépassent 1000000 $ (oui, un million de dollars);
  • Le plus petit paiement que vous pouvez effectuer dans le réseau Bitcoin est de 0,001 BTC. À l'aide d'un portefeuille Coinbase, cependant, cette limite descend à 1 satoshi (0,00000001 BTC);
Une autre chose importante (et intéressante) est que vous pouvez choisir d'activer le service «échange instantané», qui convertit immédiatement un montant de paiement Bitcoin en une devise de votre choix sans étapes supplémentaires, automatiquement. Vraiment cool si vous voulez éviter l'instabilité de la monnaie et transférer votre argent dès que vous le pouvez.

Cela dit… comment implémenter cette intégration?

Types d'intégration

Tout comme de nombreux autres services de paiement en ligne, Coinbase propose deux principales façons d'intégration dans votre application Web. Le premier est plus rapide et plus facile. Le second est un peu plus difficile, mais va également en profondeur et est suffisant pour un projet plus grand.

Le premier type d'intégration consiste à utiliser l'un des outils marchands que Coinbase rend disponible. Vous pouvez utiliser des boutons, des pages et des cadres. Si vous utilisez un CMS ou un commerce électronique (WordPress, WooCommerce, Magento…) Il existe de nombreux plugins pour votre préféré.

La seconde, dont nous verrons un exemple aujourd'hui, est une intégration complète du service sans aller sur le site Web de Coinbase pour générer un code de bouton standard. En fait, nous utiliserons le SDK PHP spécifique pour le faire.

Que pouvons-nous faire avec ce SDK? La page dédiée sur Coinbase est claire:

  • vendre ou acheter des bitcoins (ou échanger avec votre devise);
  • Envoyer ou demander des bitcoins par e-mail ou adresse bitcoin;
  • accepter les paiements de bitcoin en tant que marchand;
  • Stockez vos Bitcoins dans un ou plusieurs portefeuilles;
  • ont accès aux données du réseau Bitcoin brut (blocs, transactions, etc.…);
  • gérer les micro-paiements et les paiements récurrents;

un peu de tout.

En ce moment, il y a trois SDK disponibles: pour Ruby, Java et PHP. Il existe également de nombreuses bibliothèques non officielles pour d'autres langues (python, .net, nœud…). Comme je vous l'ai déjà dit, le SDK que nous utiliserons est le SDK PHP, que vous pouvez trouver sur GitHub.

Remarque: Avant de passer à l'étape suivante, je suppose que vous pouvez créer un compte sur Coinbase, ou vous en avez déjà un.

le sdk php

Installation

Commençons par l'installation du package pour notre projet. Si vous jetez un œil à la page GitHub du SDK, vous ne trouverez rien à la faire avec Composer. Cependant, une recherche simple donnera facilement la page packagist du package Coinbase / Coinbase.

Vous pouvez l'installer avec

{
	    "require": {
	        "coinbase/coinbase": "dev-master"
	    }
	}
Copier après la connexion
Copier après la connexion
Copier après la connexion

dans votre fichier composer.json et a

composer update
Copier après la connexion
Copier après la connexion

Authentification

Avant de commencer par le code, parlons d'authentification. Coinbase a deux façons de vous authentifier en tant que développeur afin d'accéder aux méthodes API. Vous pouvez choisir un simple accès de clé API, avec un secret d'API pour avoir plus de sécurité. Ou, si vous le souhaitez, vous pouvez utiliser OAuth 2. La différence ne concerne pas seulement la complexité, mais aussi la situation à laquelle vous devez faire face.

La documentation Coinbase est assez claire: si vous souhaitez utiliser votre compte et apporter des modifications, vous pouvez utiliser le système de clé API. Si vous souhaitez laisser l'utilisateur utiliser son compte via votre application (un client que vous créez, par exemple), la meilleure chose est d'utiliser OAuth.

API Key Secret

La création d'une clé API est vraiment simple, une fois que vous avez un compte sur Coinbase. Tout ce que vous avez à faire est d'aller ici et de cliquer sur «Nouvelle clé API».

Pour votre première fois, vous devrez probablement confirmer votre compte avec Authy.

L'écran que vous verrez en sera un comme ceci:

Bitcoin et PHP avec API Coinbase - Utilisation de base

Vous devrez spécifier le compte que vous souhaitez utiliser et les autorisations que vous souhaitez attribuer à cette clé spécifique, afin d'accéder. En outre, vous pouvez choisir un ou plusieurs IP à utiliser comme liste blanche. Si vous ne spécifiez rien, il n'y aura pas de liste blanche.

Après cela, confirmez la procédure en cliquant sur «Créer» et cliquez sur «Activer» lorsque vous souhaitez activer la touche API.

oauth 2.0

Si vous souhaitez utiliser OAuth 2.0, vous devrez suivre une procédure similaire. Cette fois, cependant, vous ne créerez pas de clé API mais une application OAuth. Pour ce faire, allez sur https://coinbase.com/oauth/applications. De là, cliquez sur «Créer une application». Vous verrez un écran comme celui-ci:

Bitcoin et PHP avec API Coinbase - Utilisation de base

Insérez le nom de votre application, choisissez une icône si vous souhaitez et spécifiez une liste d'URL pour les opérations de redirection futures.

Remarque: chaque URL que vous allez insérer doit utiliser SSL (https: // ...). Tout le reste sera ignoré.

Donnez votre ok et vous avez terminé! Vous verrez un message de confirmation avec votre nouveau Secret ClientId et Client. Cependant, les choses ne sont pas terminées: vous pouvez lire d'autres notes sur l'authentification de la page dédiée.

Autorisations

Si vous travaillez avec l'API, vous devrez faire face aux autorisations, pour une meilleure sécurité. Ici, vous pouvez voir une liste complète:

  • Tous: Accès complet à votre compte;
  • marchand: créer des boutons de paiement, des formulaires, un accès aux informations de base sur le marchand, modifier vos informations et créer de nouvelles adresses;
  • Balance: accès à votre solde réel;
  • boutons: créer des boutons de paiement;
  • Acheter: acheter des bitcoins;
  • Contacts: Obtenez une liste de vos contacts;
  • ORDERS: Obtenez une liste de vos commandes reçues;
  • Vendre: vendre des bitcoins;
  • Transactions: obtenez un historique de vos transactions;
  • Envoyer: Envoyez un certain nombre de bitcoins à partir de votre compte;
  • Demande: demandez des bitcoins de votre compte;
  • Transferts: Obtenez l'histoire des achats et des ventes;
  • récurrente_payments: obtenez une liste de paiements récurrents;
  • oauth_apps: voir, créer et modifier les applications OAuth;
  • Rapports: Obtenez et créez de nouveaux rapports;

BASIC SDK UTILISATION

Maintenant que nous avons notre SDK inclus dans notre projet, notre configuration d'accès, et nous savons ce dont nous avons besoin, il est temps de commencer.

Tout d'abord, jetons un coup d'œil à la mise en œuvre de la procédure d'authentification.

Accès via la clé API et le secret

Rien de complexe, juste une seule instruction.

{
	    "require": {
	        "coinbase/coinbase": "dev-master"
	    }
	}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Utilisez simplement la clé API et l'API Secret comme paramètres pour la méthode withapikey (). L'objet $ Coinbase résultant est celui que nous utiliserons pour de futurs exemples.

Accès via OAuth

Après la création d'application OAuth, la prochaine chose à faire est de créer un objet $ CoinbaseoAuth, spécifiant l'ID client et le secret du client que nous avons obtenu auparavant. Tout comme cet exemple:

composer update
Copier après la connexion
Copier après la connexion

Une fois que l'utilisateur a terminé le processus d'autorisation, il sera redirigé vers l'URL spécifié précédemment, pendant la configuration. Un paramètre de code sera également ajouté pour obtenir un jeton valide.

<span>$coinbase = Coinbase<span>::</span>withApiKey($coinbaseAPIKey, $coinbaseAPISecret);</span>
Copier après la connexion

Ensuite, la dernière étape sera la création de l'objet $ Coinbase en utilisant le jeton que nous avons maintenant.

<span>$coinbaseOauth = new Coinbase_OAuth($_CLIENT_ID, $_CLIENT_SECRET, $_REDIRECT_URL);
</span>	<span>header("Location: " . $coinbaseOauth->createAuthorizeUrl("all"));</span>
Copier après la connexion

Vous pouvez utiliser cet objet de la même manière que vous pouvez utiliser celui que vous obtenez de l'authentification de la clé de l'API, l'API est la même.

accéder à vos données

L'accès à vos données est assez facile. Tout ce que vous avez à faire est d'utiliser le jeu de variables $ Coinbase avant.

Voyons comment vérifier votre équilibre:

<span>$tokens = $coinbaseOauth->getTokens($_GET['code']);</span>
Copier après la connexion

Ici, vous pouvez voir comment accéder aux données des utilisateurs:

<span>$coinbase = Coinbase<span>::</span>withOauth($coinbaseOauth, $tokens);</span>
Copier après la connexion

En utilisant l'objet $ Coinbase, vous pouvez également accéder à certaines propriétés marchands.

<span>echo $coinbase->getBalance() . " BTC";</span>
Copier après la connexion

Remarque: la propriété du logo renvoie l'URL du logo.

Aussi, si vous le souhaitez, vous pouvez obtenir une liste de vos contacts à l'aide de getContacts ().

<span>$user = $coinbase->getUser()
</span>	
	<span>echo $user->name;
</span>	<span>echo $user->email;
</span>	<span>echo $user->time_zone;
</span>	<span>echo $user->native_currency;</span>
Copier après la connexion

Données de devise

Avec ce SDK PHP, vous pouvez également accéder à certaines données sur les devises.

<span>$user->merchant->company_name;
</span>	<span>$user->merchant->logo;</span>
Copier après la connexion

La méthode getCurrences () renvoie une liste de toutes les devises réellement actives sur le système, avec leurs codes ISO.

Voici comment obtenir des informations sur les taux de change:

<span>$response = $coinbase->getContacts("user");
</span>
	<span>foreach($response->contacts as $contact)
</span>	<span>{
</span>		<span>echo $contact;
</span>		<span>// 'guyaddress@provider.com'
</span>	<span>}</span>
Copier après la connexion

Le getExchangerate () peut être utilisé à la fois avec et sans paramètres (avec deux résultats différents, comme vous pouvez le voir).

Vous pouvez également obtenir des informations sur les prix d'achat et de vente avec getBuyprice () et getellprice ():

<span>$currencies = $coinbase->getCurrencies();
</span>	<span>echo $currencies[0]->name;</span>
Copier après la connexion

Remarque: le prix retourné comprend les frais de Coinbase de 1% et la banque de 0,15 $.

Créer un bouton de paiement

La méthode de création de bouton de paiement est vraiment utile, si vous considérez la difficulté de mise en œuvre et le résultat final. Tout ce que vous avez à faire est d'appeler la méthode CreateButton () avec un ensemble spécifique de paramètres.

Voici la signature:

<span>$rates = $coinbase->getExchangeRate();
</span>	
	<span>echo $rates->btc_to_usd;
</span>	<span>// is the same as...
</span>	<span>echo $coinbase->getExchangeRate('btc', 'usd');</span>
Copier après la connexion

… et voici un exemple.

<span>echo $coinbase->getBuyPrice('1');
</span>	<span>// '125.31'
</span>	<span>echo $coinbase->getSellPrice('1');
</span>	<span>// '122.41'</span>
Copier après la connexion

assez facile, hein?

Le premier paramètre $ Name est le «titre» du paiement que vous souhaitez créer. Le prochain, $ Price, est le montant du paiement que vous souhaitez. Le troisième est la devise que vous souhaitez utiliser, et $ Custom est un code de transaction spécifique qui vous sera renvoyé après la procédure de paiement.

Enfin, le tableau des options $ vous permettra de personnaliser votre bouton de toutes les manières: vous pourrez personnaliser l'apparence du bouton ou l'URL de retour après un paiement réussi, ou un échec. Si vous voulez en savoir plus à ce sujet, je vous suggère de jeter un œil à la page dédiée sur la documentation officielle.

Une fois que vous avez le bouton, il est facile d'obtenir son code d'intégration.

{
	    "require": {
	        "coinbase/coinbase": "dev-master"
	    }
	}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Ensuite, vous n'aurez rien à faire que de faire écho à la réponse $-> embedhtml.

Envelopper

Ceci conclut la partie 1 dans laquelle nous avons couvert l'utilisation et l'installation de base du SDK de l'API Coinbase. Dans la partie 2, nous couvrirons l'envoi et la réception de l'argent, ainsi que la création de notre exemple de demande. Restez à l'écoute!

Questions fréquemment posées (FAQ) sur Bitcoin PHP et API de Coinbase Utilisation de base

Comment puis-je configurer l'API de Coinbase pour Bitcoin PHP?

La configuration de l'API de Coinbase pour Bitcoin PHP implique quelques étapes. Tout d'abord, vous devez créer une clé API à partir de votre compte Coinbase. Accédez aux paramètres, puis l'accès à l'API, puis cliquez sur «Nouvelle clé API». Vous devrez fournir votre mot de passe et votre code d'authentification à deux facteurs. Une fois la touche API créée, vous pouvez l'utiliser dans votre code PHP pour interagir avec l'API Coinbase. N'oubliez pas de garder votre clé API en sécurité car elle permet d'accéder à votre compte Coinbase.

Quelles sont les fonctions de base de l'API de Coinbase?

L'API de Coinbase fournit plusieurs fonctions pour interagir avec Bitcoin et d'autres crypto-monnaies. Il s'agit notamment de créer une nouvelle adresse Bitcoin, d'envoyer Bitcoin à une adresse, de demander Bitcoin à une adresse et d'obtenir des informations sur une adresse Bitcoin. Vous pouvez également obtenir des informations sur le taux de change bitcoin actuel et les données de prix historiques.

Comment puis-je gérer les erreurs lors de l'utilisation de l'API de Coinbase?

Catch Blocks dans votre code PHP. L'API renverra un message d'erreur en cas de problème, que vous pouvez attraper et gérer de manière appropriée. Par exemple, si l'API renvoie une erreur lorsque vous essayez d'envoyer Bitcoin, vous pouvez attraper cette erreur et afficher un message à l'utilisateur.

Puis-je utiliser l'API de Coinbase pour accepter les paiements Bitcoin sur mon site Web?

Oui, vous pouvez utiliser l'API de Coinbase pour accepter les paiements Bitcoin sur votre site Web. Vous pouvez créer une nouvelle adresse Bitcoin pour chaque transaction, puis vérifier cette adresse pour les paiements entrants. Cela vous permet d'accepter les paiements Bitcoin sans avoir à gérer vous-même l'une des technologies de blockchain sous-jacentes.

Comment puis-je tester mon code lors de l'utilisation de l'API de Coinbase?

Coinbase fournit un environnement de bac à sable pour tester votre code. Cela vous permet de passer des appels API sans affecter votre compte Coinbase réel. Vous pouvez créer un compte sandbox à partir du site Web Coinbase, puis utiliser la clé API à partir de ce compte dans votre code de test.

À quel point l'API de Coinbase est-il sécurisé?

L'API de Coinbase est conçue avec la sécurité à l'esprit. Tous les appels API sont passés sur HTTPS et les données sensibles sont chiffrées. Cependant, la sécurité de votre application dépend également de la façon dont vous gérez votre clé API et d'autres données sensibles. Gardez toujours votre clé API en sécurité et ne le partagez jamais avec personne.

Puis-je utiliser l'API de Coinbase avec d'autres langages de programmation?

Oui, l'API de Coinbase est une API RESTful, ce qui signifie qu'il peut être utilisé avec n'importe quel langage de programmation qui peut faire des demandes HTTP. Il existe également des bibliothèques officielles et non officielles disponibles pour plusieurs langues, notamment Python, Ruby et Java.

Quelles sont les limites de taux de l'API de Coinbase?

L'API de Coinbase a des limites de taux pour empêcher les abus. Les limites exactes dépendent du type de clé API que vous avez et si votre demande est publique ou privée. Vous pouvez trouver plus d'informations sur les limites de taux dans la documentation de l'API Coinbase.

Comment puis-je surveiller mon utilisation de l'API de Coinbase?

Coinbase fournit des informations d'utilisation pour votre clé API. Cela inclut le nombre d'appels API que vous avez passés, le montant des données que vous avez envoyées et reçues et toutes les erreurs qui se sont produites. Vous pouvez afficher ces informations à partir de la page d'accès API dans votre compte Coinbase.

Puis-je utiliser l'API de Coinbase pour échanger d'autres crypto-monnaies?

Oui, l'API de Coinbase prend en charge plusieurs autres crypto-monnaies en plus de Bitcoin. Il s'agit notamment de Ethereum, Litecoin et Bitcoin Cash. Vous pouvez utiliser l'API pour obtenir des informations sur ces crypto-monnaies, les envoyer et les recevoir, et les échanger sur l'échange Coinbase.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal