Takeaways Key
menerima pembayaran dengan koinbase adalah percuma;
Sama seperti banyak perkhidmatan pembayaran dalam talian yang lain, Coinbase menawarkan dua cara utama integrasi ke dalam aplikasi web anda. Yang pertama lebih cepat dan lebih mudah. Yang kedua adalah sedikit lebih sukar, tetapi juga menjadi lebih mendalam dan mencukupi untuk projek yang lebih besar.
Jenis integrasi pertama terdiri daripada menggunakan salah satu alat saudagar yang disediakan oleh Coinbase. Anda boleh menggunakan butang, halaman dan bingkai. Jika anda menggunakan CMS atau e-dagang (WordPress, WooCommerce, Magento ...) terdapat banyak plugin untuk kegemaran anda.
yang kedua, yang mana kita akan melihat contoh hari ini, adalah integrasi lengkap perkhidmatan tanpa pergi ke laman web Coinbase untuk menghasilkan beberapa kod butang standard. Malah, kami akan menggunakan SDK PHP tertentu untuk melakukannya.
Apa yang boleh kita lakukan dengan SDK ini? Halaman yang berdedikasi di Coinbase jelas:
sedikit segalanya.
Pada masa ini, terdapat tiga SDK yang tersedia: untuk Ruby, Java dan PHP. Terdapat juga banyak perpustakaan tidak rasmi untuk bahasa lain (python, .net, node ...). Seperti yang saya katakan sebelum ini, SDK yang akan kami gunakan ialah PHP SDK, yang boleh anda temukan di GitHub.
Nota: Sebelum anda pergi ke langkah seterusnya, saya akan menganggap bahawa anda dapat membuat akaun di Coinbase, atau anda sudah mempunyai satu.
mari kita mulakan dengan pemasangan pakej untuk projek kami. Jika anda melihat halaman GitHub dari SDK, anda tidak akan mendapati apa -apa tentang melakukannya dengan komposer. Walau bagaimanapun, pencarian mudah dengan mudah akan menghasilkan halaman pembungkus pakej Coinbase/Coinbase.
anda boleh memasangnya dengan
{ "require": { "coinbase/coinbase": "dev-master" } }
dalam fail composer.json anda dan
composer update
Sebelum memulakan dengan kod mari kita bercakap tentang pengesahan. Coinbase mempunyai dua cara untuk mengesahkan anda sebagai pemaju untuk mengakses kaedah API. Anda boleh memilih akses utama API yang mudah, dengan rahsia API untuk mempunyai lebih banyak keselamatan. Atau, jika anda mahu, anda boleh menggunakan OAuth 2. Perbezaannya bukan hanya mengenai kerumitan, tetapi juga mengenai situasi yang perlu anda hadapi.
Dokumentasi Coinbase agak jelas: Jika anda ingin menggunakan akaun anda dan membuat perubahan kepadanya, anda boleh menggunakan sistem kunci API. Jika anda ingin membiarkan pengguna menggunakan akaunnya melalui aplikasi anda (pelanggan yang anda bina, sebagai contoh), perkara terbaik adalah menggunakan OAuth.
API Key Secret
Membuat kunci API adalah sangat mudah, sebaik sahaja anda mempunyai akaun di Coinbase. Apa yang perlu anda lakukan ialah pergi ke sini dan klik pada "Kunci API Baru".
untuk kali pertama anda, anda mungkin perlu mengesahkan akaun anda dengan authy.
Skrin yang akan anda lihat akan menjadi seperti ini:
Selepas itu, sahkan prosedur dengan mengklik pada "Buat" dan klik pada "Dayakan" apabila anda ingin mengaktifkan kekunci API.
oAuth 2.0
Jika anda mahu menggunakan OAuth 2.0, anda perlu mengikuti prosedur yang sama. Walau bagaimanapun, kali ini anda tidak akan membuat kunci API tetapi aplikasi OAuth. Untuk melakukan itu, pergi ke https://coinbase.com/oauth/applications. Dari sana, klik pada "Buat Aplikasi". Anda akan melihat skrin seperti ini:
Masukkan nama aplikasi anda, pilih ikon jika anda mahu dan tentukan senarai URL untuk operasi redirect masa depan.
Nota: Setiap URL yang anda akan masukkan mesti menggunakan SSL (https: // ...). Semua yang lain akan diabaikan.
berikan ok anda dan anda sudah selesai! Anda akan melihat mesej pengesahan dengan rahsia pelanggan dan pelanggan baru anda. Walau bagaimanapun, perkara tidak berakhir, anda boleh membaca nota lain mengenai pengesahan dari halaman yang berdedikasi.
Kebenaran
semua: akses lengkap ke akaun anda;
akses melalui kunci API dan rahsia
Tidak ada yang kompleks, hanya satu arahan.
{ "require": { "coinbase/coinbase": "dev-master" } }
hanya gunakan kunci API dan rahsia API sebagai parameter untuk kaedah withapikey (). Objek Coinbase $ yang dihasilkan adalah yang akan kita gunakan untuk contoh masa depan.
Akses melalui OAuth
Selepas penciptaan permohonan OAuth, perkara seterusnya yang perlu dilakukan ialah membuat objek $ Coinbaseoauth, menyatakan ID pelanggan dan rahsia pelanggan yang kami dapat sebelum ini. Sama seperti contoh ini:
composer update
Selepas pengguna melengkapkan proses kebenaran, dia akan diarahkan ke URL yang ditentukan sebelum ini, semasa persediaan. Parameter kod juga akan ditambah untuk mendapatkan token yang sah.
<span>$coinbase = Coinbase<span>::</span>withApiKey($coinbaseAPIKey, $coinbaseAPISecret);</span>
Kemudian, langkah terakhir akan menjadi penciptaan objek Coinbase $ menggunakan token yang kita ada sekarang.
<span>$coinbaseOauth = new Coinbase_OAuth($_CLIENT_ID, $_CLIENT_SECRET, $_REDIRECT_URL); </span> <span>header("Location: " . $coinbaseOauth->createAuthorizeUrl("all"));</span>
Anda boleh menggunakan objek ini dengan cara yang sama anda boleh menggunakan yang anda dapat dari pengesahan utama API, API adalah sama.
Mengakses data anda
Mengakses data anda agak mudah. Apa yang anda perlu lakukan ialah menggunakan pembolehubah pembolehubah $ coinbase sebelum ini.
mari kita lihat bagaimana untuk memeriksa baki anda:
<span>$tokens = $coinbaseOauth->getTokens($_GET['code']);</span>
di sini anda dapat melihat cara mengakses data pengguna:
<span>$coinbase = Coinbase<span>::</span>withOauth($coinbaseOauth, $tokens);</span>
Menggunakan objek Coinbase $ anda juga boleh mendapatkan akses kepada beberapa hartanah saudagar.
<span>echo $coinbase->getBalance() . " BTC";</span>
Nota: Harta logo mengembalikan url logo.
Juga, jika anda mahu, anda boleh mendapatkan senarai kenalan anda menggunakan 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>
Data Mata Wang
Dengan PHP SDK ini, anda juga boleh mendapatkan akses kepada beberapa data mengenai mata wang.
<span>$user->merchant->company_name; </span> <span>$user->merchant->logo;</span>
Kaedah getCurrencies () mengembalikan senarai semua mata wang yang sebenarnya aktif pada sistem, dengan kod ISO mereka.
Inilah cara mendapatkan maklumat mengenai kadar pertukaran:
<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>
GetExchangerate () boleh digunakan kedua -duanya dengan dan tanpa parameter (dengan dua hasil yang berbeza, seperti yang anda lihat).
anda juga boleh mendapatkan beberapa maklumat mengenai harga beli dan menjual dengan getBuyPrice () dan getSellPrice ():
<span>$currencies = $coinbase->getCurrencies(); </span> <span>echo $currencies[0]->name;</span>
Nota: Harga yang dikembalikan termasuk yuran koin 1% dan bank $ 0.15.
Buat butang pembayaran
Kaedah penciptaan butang pembayaran benar -benar berguna, jika anda menganggap kesukaran pelaksanaan dan hasil akhir. Yang perlu anda lakukan ialah memanggil kaedah CreateButton () dengan set parameter tertentu.
Berikut adalah tandatangan:
<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>
... dan inilah contoh.
<span>echo $coinbase->getBuyPrice('1'); </span> <span>// '125.31' </span> <span>echo $coinbase->getSellPrice('1'); </span> <span>// '122.41'</span>
agak mudah, huh?
Parameter nama $ pertama adalah "tajuk" untuk pembayaran yang anda ingin buat. Yang seterusnya, $ harga, adalah jumlah pembayaran yang anda mahukan. Yang ketiga ialah mata wang yang anda mahu gunakan, dan $ custom adalah kod transaksi tertentu yang akan dihantar kembali kepada anda selepas prosedur pembayaran.
Akhirnya, array pilihan $ akan membolehkan anda menyesuaikan butang anda dalam setiap cara: anda akan dapat menyesuaikan penampilan butang atau URL kembali selepas pembayaran yang berjaya, atau yang gagal. Sekiranya anda ingin mengetahui lebih lanjut mengenai itu, saya cadangkan anda melihat halaman khusus pada dokumentasi rasmi.
{ "require": { "coinbase/coinbase": "dev-master" } }
membungkus
Soalan Lazim (Soalan Lazim) pada Bitcoin PHP dan Penggunaan Asas API Coinbase
Atas ialah kandungan terperinci Bitcoin dan PHP dengan API Coinbase ' s - Penggunaan Asas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!