Perpustakaan PHP Coingate menyediakan akses yang nyaman ke API Coingate dari aplikasi yang ditulis dalam bahasa PHP.
PHP 7.3.0 dan yang lebih baru.
Anda dapat menginstal pustaka melalui komposer. Jalankan perintah berikut:
composer require coingate/coingate-php Jika Anda tidak ingin menggunakan Composer, Anda dapat mengunduh rilis terbaru. Kemudian, untuk menggunakan pustaka, sertakan file init.php .
require_once ( ' /path/to/coingate-php/init.php ' );Perpustakaan memerlukan ekstensi berikut agar berfungsi dengan baik:
curl , meskipun Anda dapat menggunakan klien non-Curl sendiri jika Anda maujsonJika Anda menggunakan komposer, dependensi ini harus ditangani secara otomatis. Jika Anda menginstal secara manual, Anda ingin memastikan bahwa ekstensi ini tersedia.
Anda dapat mendaftar untuk akun Coingate di https://coingate.com untuk produksi dan https://sandbox.coingate.com untuk pengujian (Sandbox).
Harap dicatat, bahwa untuk Sandbox Anda harus menghasilkan kredensial API terpisah di https://sandbox.coingate.com. Kredensial API yang dihasilkan di https://coingate.com tidak akan berfungsi untuk mode Sandbox.
Penggunaan perpustakaan php coingate terlihat seperti:
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' ); Dalam urutan, untuk menggunakan mode Sandbox, Anda perlu mengatur parameter kedua ke true .
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' , true );Jika Anda berencana untuk menggunakan titik akhir API publik saja, otentikasi tidak diperlukan.
$ client = new CoinGate Client ();
// if needed you can set configuration parameters later
$ client -> setApiKey ( ' YOUR_API_TOKEN ' );
$ client -> setEnvironment ( ' sandbox ' );Dokumentasi lengkap API Coingate dapat ditemukan di sini
Contoh aplikasi menggunakan perpustakaan ini dapat ditemukan di sini
Buat pesanan di Coingate dan Redirect Shopper ke Faktur (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 ;Menempatkan pesanan yang dibuat dengan mata uang pembayaran yang telah dipilih sebelumnya (BTC, LTC, ETH, dll). Tampilkan Payment_Address dan pay_amount untuk pembelanja atau redirect ke Payment_Url. Dapat digunakan untuk faktur label putih.
$ checkout = $ client -> order -> checkout ( 7294 , [
' pay_currency ' => ' BTC '
]);Setelah membuat pesanan, Anda akan mendapatkan ID pesanan. ID ini akan digunakan untuk mendapatkan permintaan pesanan.
$ order = $ client -> order -> get ( 7294 );Mengambil informasi dari semua pesanan yang ditempatkan.
$ orders = $ client -> order -> list ([
' created_at ' => [
' from ' => ' 2022-01-25 '
]
]);Nilai tukar saat ini untuk dua mata uang, fiat atau crypto. Titik akhir ini bersifat publik, otentikasi tidak diperlukan.
$ client -> getExchangeRate ( ' BTC ' , ' EUR ' );Nilai tukar coingate saat ini untuk pedagang dan pedagang. Titik akhir ini bersifat publik, otentikasi tidak diperlukan.
$ client -> listExchangeRates ();Titik akhir pemeriksaan kesehatan untuk API Coingate. Titik akhir ini bersifat publik, otentikasi tidak diperlukan.
$ client -> ping ();Dapatkan alamat IP server coingate
$ 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 ();Untuk memodifikasi batas waktu permintaan (terhubung atau total, dalam hitungan detik) Anda harus memberi tahu klien API untuk menggunakan kurlcien selain defaultnya. Anda akan menetapkan batas waktu di iklim itu.
// 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 ' ); Agar, untuk menguji koneksi API pada mode Sandbox, Anda perlu mengatur parameter kedua ke true .
$ result = CoinGate Client:: testConnection ( ' YOUR_API_TOKEN ' , true );Apakah Anda menulis plugin yang mengintegrasikan coingate dan menanamkan perpustakaan kami? Kemudian silakan gunakan fungsi SetAppInfo untuk mengidentifikasi plugin Anda. Misalnya:
CoinGate Client:: setAppInfo ( " MyAwesomePlugin " , " 1.0.0 " );Metode harus dipanggil sekali, sebelum permintaan dikirim ke API. Parameter kedua adalah opsional.