توفر مكتبة Coingate PHP وصولًا مناسبًا إلى واجهة برمجة تطبيقات Coingate من التطبيقات المكتوبة بلغة PHP.
PHP 7.3.0 وبعد ذلك.
يمكنك تثبيت المكتبة عبر الملحن. قم بتشغيل الأمر التالي:
composer require coingate/coingate-php إذا كنت لا ترغب في استخدام الملحن ، فيمكنك تنزيل أحدث إصدار. ثم ، لاستخدام المكتبة ، قم بتضمين ملف init.php .
require_once ( ' /path/to/coingate-php/init.php ' );تتطلب المكتبة الإضافات التالية من أجل العمل بشكل صحيح:
curl ، على الرغم من أنه يمكنك استخدام عميلك غير المحرك إذا كنت تفضلjsonإذا كنت تستخدم الملحن ، فيجب التعامل مع هذه التبعيات تلقائيًا. إذا قمت بتثبيت يدويًا ، فستحتاج إلى التأكد من توفر هذه الامتدادات.
يمكنك الاشتراك في حساب coingate على https://coingate.com للإنتاج و https://sandbox.coingate.com للاختبار (Sandbox).
يرجى ملاحظة أنه بالنسبة لـ Sandbox ، يجب إنشاء بيانات اعتماد API منفصلة على https://sandbox.coingate.com. لن تعمل بيانات اعتماد API التي تم إنشاؤها على https://coingate.com مع وضع Sandbox.
يبدو استخدام مكتبة Coingate PHP:
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' ); بالترتيب ، لاستخدام وضع Sandbox ، تحتاج إلى تعيين المعلمة الثانية إلى true .
$ client = new CoinGate Client ( ' YOUR_API_TOKEN ' , true );إذا كنت تخطط لاستخدام نقاط نهاية واجهة برمجة التطبيقات العامة فقط ، فلن تكون المصادقة غير مطلوبة.
$ client = new CoinGate Client ();
// if needed you can set configuration parameters later
$ client -> setApiKey ( ' YOUR_API_TOKEN ' );
$ client -> setEnvironment ( ' sandbox ' );يمكن العثور على وثائق كاملة من واجهة برمجة تطبيقات Coingate هنا
يمكن العثور على مثال على تطبيق باستخدام هذه المكتبة هنا
إنشاء طلب في Coingate وإعادة توجيه المتسوق إلى الفاتورة (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 ;وضع الطلب الذي تم إنشاؤه مع عملة الدفع المحددة مسبقًا (BTC ، LTC ، ETH ، إلخ). عرض payment_address و pay_amount للمتسوق أو إعادة التوجيه إلى payment_url. يمكن استخدامها في فواتير العلامة البيضاء.
$ checkout = $ client -> order -> checkout ( 7294 , [
' pay_currency ' => ' BTC '
]);بعد إنشاء طلب ، ستحصل على معرف الطلب. سيتم استخدام هذا المعرف لطلبات الحصول على الطلب.
$ order = $ client -> order -> get ( 7294 );استرداد المعلومات من جميع الطلبات الموضوعة.
$ orders = $ client -> order -> list ([
' created_at ' => [
' from ' => ' 2022-01-25 '
]
]);سعر الصرف الحالي لأي عملتين ، فيات أو تشفير. نقطة النهاية هذه عامة ، والمصادقة غير مطلوبة.
$ client -> getExchangeRate ( ' BTC ' , ' EUR ' );أسعار صرف الطلاء الحالية للتجار والتجار. نقطة النهاية هذه عامة ، والمصادقة غير مطلوبة.
$ client -> listExchangeRates ();نقطة نهاية فحص صحية ل Coingate API. نقطة النهاية هذه عامة ، والمصادقة غير مطلوبة.
$ client -> ping ();احصل على عناوين IP لخوادم 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 ();لتعديل مهلة الطلب (الاتصال أو المجموع ، في ثوان) ، ستحتاج إلى إخبار عميل API باستخدام حليقة بخلاف الافتراضي. ستقوم بتعيين المهلات في هذا 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 ' ); بالترتيب ، لاختبار اتصال API على وضع Sandbox ، تحتاج إلى تعيين المعلمة الثانية إلى true .
$ result = CoinGate Client:: testConnection ( ' YOUR_API_TOKEN ' , true );هل تكتب مكونًا إضافيًا يدمج Coingate ويدمج مكتبتنا؟ ثم يرجى استخدام وظيفة setAppInfo لتحديد البرنامج المساعد الخاص بك. على سبيل المثال:
CoinGate Client:: setAppInfo ( " MyAwesomePlugin " , " 1.0.0 " );يجب استدعاء الطريقة مرة واحدة ، قبل إرسال أي طلب إلى API. المعلمة الثانية اختيارية.