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).
Voici ce que vous devez savoir sur les prix:
Cela dit… comment implémenter cette 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:
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.
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" } }
dans votre fichier composer.json et a
composer update
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:
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:
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.
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:
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" } }
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
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>
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>
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>
Ici, vous pouvez voir comment accéder aux données des utilisateurs:
<span>$coinbase = Coinbase<span>::</span>withOauth($coinbaseOauth, $tokens);</span>
En utilisant l'objet $ Coinbase, vous pouvez également accéder à certaines propriétés marchands.
<span>echo $coinbase->getBalance() . " BTC";</span>
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>
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>
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>
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>
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>
… et voici un exemple.
<span>echo $coinbase->getBuyPrice('1'); </span> <span>// '125.31' </span> <span>echo $coinbase->getSellPrice('1'); </span> <span>// '122.41'</span>
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" } }
Ensuite, vous n'aurez rien à faire que de faire écho à la réponse $-> embedhtml.
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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!