BTCAPI چیست؟

BTCAPI درگاه پرداختی برای پرداخت‌های بیت‌کوین است که به منظور سادگی، اعتبار و سازگاری طراحی شده است. در این مقاله ضمن آشنا شدن با این API نحوه استفاده از کدهای آن در سایت خود را خواهید آموخت و بعد از خواندن این مطلب می‌توانید به وسیله این API، پرداخت‌های بیت‌کوینی را برای محصولات و خدمات سایت خود بپذیرید.

0 154

یکی از دشواری‌های پرداخت بیت‌کوین، نیاز آن به ساخت یک آدرس منحصربه‌فرد برای هر کاربر یا صورت حساب جدید می‌باشد. روی این آدرس‌ها باید نظارت دقیق داشت و آن‌ها را به صورت ایمن ذخیره کرد. وظیفه این API ساخت و نظارت برآدرس‌ها است. هنگامی که پرداختی دریافت شود، BTCAPI سرور شما را با یک پیغام ساده مطلع خواهد کرد.

این API در BTCAPI.org برای سادگی در استفاده طراحی شد. نیازی به عضویت، پرداخت برای یک برنامه یا ارسال درخواست کالا وجود ندارد. فقط یک درخواست ساده GET به API برای ساخت یک آدرس سپرده برای مشتری شما و کنترل درخواست فراخوان GET هنگامی که پرداخت‌ها دریافت شد ضروری خواهد بود.

به یاد داشته باشید که این API به طور کلی با نرم‌افزارهای موجود در API پرداخت‌های دریافتی نسخه ۱ (Receive Payments API v1) در وبسایت Blockchain.info سازگار است. روش های API دقیقا مشابه با یکدیگر عمل می‌کنند. API به این شیوه ساخته شده است چون بعد از برداشتن نسخه اول Receive Payments API، کاربران هیچ راه‌حل پرداختی نداشتند. اکنون این راه‌حل برای کاربرانی همانند شما ارائه شده است. در استفاده از کد یا نرم‌افزارهای موجود برای استفاده از API راحت باشید؛ به سادگی تنظیم API URL سیستم خود را از وبسایت blockchain.info را به btcapi.org تغییر دهید و همه چیز درست می‌شود!

ویژگی‌های کلیدی

طراحی شده برای تبدیل شدن به آسان‌ترین درگاه پرداختی بیت‌کوین

هدف اصلی آسان‌تر کردن پذیرش بیت‌کوین در کسب و کارهای بزرگ و کوچک به عنوان یک روش پرداختی است. برای حذف تمام موانع بالقوه و مشکلات پیش رو کار شده است و امنیت و حریم خصوصی شما تضمین می‌شود.

نیازی به ثبت نام نیست

نیازی به نگرانی درباره پذیرش نرم‌افزار تجاری یا پروسه‌های ثبت‌نام خسته‌کننده نیست. بفرمایید و کار خود را شروع کنید!

برندی وجود ندارد (NO BRANDING)

لوگو یا صفحات خارجی یا دکمه های برندی وجود ندارد. API بار دیگر تبدیل به یک آرایه JSON برای شما شده تا بتوانید آن را به گونه‌ای که می‌خواهید روی سرور خود کنترل کنید.

کارمزدهای پایین

به منظور تداوم آنلاین بودن API، یک درصد کارمزد از شما گرفته می‌شود. به جز این کمیسیون کوچک و کارمزد تراکنش ۰.۰۰۰۵ بیت‌کوینی، هیچ هزینه دیگری برای شما وجود ندارد.

ایمن و مطمئن

API و سیستم‌های پیشتیبان با HTTPS و فایروال‌های قدرتمند ایمن شده‌اند. بیت‌کوین‌ها فورا به حساب شما منتقل می‌شوند و اصلا نباید نگران چیزی باشید.

سازگاری

همانطور که قبلا توضیح داده شد، این API به طور کلی با نرم‌افزارهای موجود بر پایه Receive Payments API قدیمی نسخه یک در وبسایت Blockchain.info سازگار هستند.

صددرصد آزمایش شده و بدون ایراد

API برای هر مشکل ممکن یک حفاظت دارد و شما نباید نگران خطاها یا مشکلات عجیب هنگام استفاده از API باشید.

چگونه کار خود را شروع کنیم؟

چهار مرحله ساده برای پذیرش بیت‌کوین با BTCAPI احتیاج دارید. یک کیف بیت‌کوین تهیه کنید، یک آدرس واریز ایجاد کنید، درخواست‌های پرداخت را مدیریت کنید و همه چیز برای شروع آماده خواهد شد.

یک کیف بیت‌کوین تهیه کنید

API از شما می‌خواهد که حداقل یک آدرس بیت‌کوین برای تمام پرداخت‌هایی که ارسال خواهند شد داشته باشید. هرگز از شما کلید شخصی‌تان درخواست نخواهد شد و شما می‌توانید این مورد را به صورت آفلاین نگه دارید تا ایمنی بالاتری داشته باشید.

ایجاد یک آدرس واریز

یک درخواست برای ایجاد یک روش دریافت پول بفرستید و به وسیله ایجاد آدرس‌های منحصربه فرد بیت‌کوینی مبلغ پرداختی مشتری خود را دریافت کنید.

مدیریت پرداخت‌های انجام شده

هر زمان که پرداختی دریافت و به آدرس بیت‌کوین شما ارسال می‌شود، URL فراخوان شما داده‌هایی درباره پرداختی که شما برای پردازش آن نیاز به نوشتن چند کد دارید، ارسال خواهد کرد.

آزمایش به کارگیری

وقتی که شما پرداختی را آزمایش و از صحت کار همه چیز اطمینان حاصل کردید، آماده پذیرش پرداخت ها در بیت کوین هستید.

یک بررسی

ساختار API

سلسله مراتبی از endpoint و روش های API فعلی: وضعیت فعلی endpoint  و روش‌های آن در حال حاضر نسبتا ضعیف است اما در آینده پیشرفت خواهد کرد. فایل فرمان زیر سلسله مراتبی که در حال حاضر به صورت آنلاین وجود دارد را نشان می‌دهد تا شما بتوانید ساختار آن را تصور کنید.

  • /api/receive  روش های مربوط به دریافت پرداخت ها از مشتری
    • ?method=create ساخت یک آدرس سپرده جدید برای ارائه به یک مشتری
    • ?method=check_logs بررسی لاگ ها برای پرداخت با فراخوان های ارسالی به یو ار ال فراخوان داده شده

مهم‌ترین endpoint

ساخت آدرس‌ها

 روش “ساخت” از endpoint”دریافت”، یک آدرس پرداخت منحصربه فرد بیت‌کوینی می سازد. لطفا در نظر داشته باشید که پرداخت‌های کمتر از ۰.۰۰۰۵ بیت‌کوین توسط سرور نادیده گرفته می‌شوند و ارسال نخواهند شد. به علاوه، شما باید بدانید که مقدار ارسال شده اینگونه محاسبه می‌شود (متغیر “amount$” مقدار اصلی پرداخت است و ۵۴۶ آستانه هسته بیت‌کوین می‌باشد):

 (min(floor($amount * ((100 – 1) / 100)), floor($amount – 546)) / 100000000) – 0.0005

بیت‌کوین و بیت‌کوین‌‌کش

 پشتیبانی از آد‌رس‌های بیت‌کوین و بیت‌کوین‌‌کش ارائه می‌شود. شما می‌توانید یک آدرس بیت‌کوین با استفاده از API backpoint /api/create/receive?method=create بسازید. برای ساخت آدرس بیت‌کوین فقط از /api/receiveBCH?method=create استفاده کنید.

درخواست

  • HTTP Method: GET
  • URL: https://btcapi.org/api/receive?method=create

جدول زیر تمام پارامترهای GET اضافی برای درخواست را لیست کرده است:

پارامتر توضیح REQUIRED
address آدرسی که شما می خواهید پرداخت ها به آن برود. این آدرس باید یک آدرس معتبر بیت‌کوینی باشد Yes
callback URL ای که می خواهید فراخوان ها به آن ارسال شود. این یو آر ال باید معتبر باشد. حداکثر طول ۱۰۲۴ کاراکتر است.

اطلاعات بیشتر درباره فراخوان ها را از اینجا ببینید

Yes

 

بلوک زیر مثالی از URL درخواستی را نشان می دهد:


 

این کدی است که برای ساخت آدرس بیت‌کوین‌‌کش به کار می رود:

پاسخ (موفقیت)

  • کد وضعیت HTTP: 200
  • نوع محتوا: application/json

جدول زیر تمام ویژگی های بالقوه موضوع JSON در بدنه پاسخ را لیست کرده است:

ویژگی توضیح PRESENT
fee_percent یک عدد کامل نمایانگر درصد پرداختی است که به عنوان کارمزد گرفته می‌شود. این عدد همیشه روی ۱ تنظیم می‌شود Always
destination آدرس مقصد بیت‌کوین؛ پرداخت‌ها به اینجا ارسال خواهند شد پس از صحت آن‌ها اطمینان حاصل کنید Always
input_address آدرس ایجاد شده بیت‌کوینی؛ این آدرس را به مشتری بدهید Always
callback_url یو آر ال فراخوان ارائه شده؛ فراخوان ها به اینجا ارسال می گردند، پس از صحت آن ها اطمینان حاصل کنید، Always

 

کد زیر مثالی از بدنه پاسخ نشان می دهد:

پاسخ (خطا)

  • کد وضعیت HTTP: 500
  • نوع محتوا: text/plain

کد زیر مثالی از بدنه پاسخ در وقوع یک خطا را نشان می دهد:

 COPYThe supplied address is not a valid Bitcoin address.

مثال PHP

کد PHP زیر مثالی از درخواست برای نقطه پایانی API و نحوه پردازش پاسخ آن می باشد:

دریافت فراخوان (Callback)

کد server-side را بنویسید تا فراخوان های ارسالی از سوی سیستم ما هنگام شناسایی یک پرداخت را کنترل کنید

همانطور که قبلا گفته شد، هر زمان که یک پرداخت دریافت و به آدرس بیت‌کوین شما فرستاده می شود، URL فراخوان شما داده‌هایی درباره پرداخت ارسال خواهد کرد. این موضوع برای سیستم‌های اتوماتیک به منظور اطلاع از ارسال یک پرداخت مشخص، ضروری است. سرور ما پرداخت‌ها را ارسال خواهد کرد و این فراخوان‌ها را بعد از دریافت و تایید پرداخت‌ها، فورا به سرور شما می‌فرستد.

فراخوان‌ها همیشه به عنوان درخواست‌های GET که شامل جزییات پرداخت و تراکنش ارسال شده به اضافه هر پارامتر موجود در URL فراخوان هستند، فرستاده خواهند شد. بار دیگر لطفا به یاد داشته باشید که URLها حداکثر ۱۰۲۴ کاراکتر طول دارند.

به خاطر داشته باشید که شما برای امنیت بیشتر، باید از حضور یک پارامتر منحصر به فرد و ایمن در URL فراخوانی خود اطمینان حاصل کنید. این مورد مخفی هنگامی که فراخوان ارسال می‌شود، به همراه تمام پارامترهای موجود در URL فراخوانی به اسکریپت فراخوانی بازگردانده می‌شود. این مورد باید همراه با رشته مخفی اصلی بررسی شود تا مطمئن شوید که از سمت ما ارسال شده و جعلی نیست.

درخواست فراخوان

  • روش HTTP: GET
  • آی پی منبع: ۱۸۸.۲۰۴.۲۳۴ (ممکن است در آینده تغییر کند)

جدول زیر تمام پارامتر های GET که به درخواست سرور شما ارسال خواهد شد را لیست کرده است:

پارامتر توضیح PRESENT
value مقدار بیت‌کوینی که توسط مشتری به ساتوشی ارسال می شود (یک بیت کوین مساوی با صد میلیون ساتوشی)

مطمئن شوید که این بخش را با تقسیم به صد میلیون، به بیت کوین تبدیل می کنید.

Always
input_address آدرس بیت کوین (که توسط API قبلا ساخته شده) به مشتری که پرداخت را ارسال کرده Always
confirmations تعداد دفعاتی که تراکنش‌ها در زمان ارسال فراخوان تایید شده اند. این عدد همیشه یک خواهد بود. Always
transaction_hash هش تراکنش در پرداختی که به آدرس بیت‌کوین شما فرستاده شده است. Always
input_transaction_hash هش تراکنش مشتری که به آدرس ساخته شده فرستاده شده است. Always
destination_address آدرس مقصد (که شما هنگام ساخت آدرس مهیا کرده اید) به پرداختی که ارسال شده است. Always

 

بلوک زیر مثالی از URL درخواستی فراخوان را نشان می‌دهد:

پاسخ مورد انتظار

فراخوان‌ها هنگامی به عنوان موفقیت‌آمیز شناخته می‌شوند که این پاسخ از سرور بازگردد:

COPY*ok*

شما می‌تواند فراخوان‌های ناموفق را با استفاده از log endpoint  فراخوان که بعدا توضیح داده می‌شود، پیدا کنید.

مثال PHP

کد PHP زیر مثالی از نحوه کنترل فراخوان‌های ارسالی به شما از سوی سرور ما را نشان می‌دهد:

یک ویژگی اضافی

log های بررسی (Check Logs)

روش check_logs  با بررسی از endpoint دریافت، صورت عملیات‌های پرداختی برای یک URL فراخوانی ارائه شده را باز می‌گرداند.

درخواست

  • روش HTTP: GET
  • URL: https://btcapi.org/api/receive?method=check_logs

جدول زیر تمام پارامترهای GET اضافی برای درخواست را لیست می‌کند:

پارامتر توضیح REQUIRED
callback URL فراخوان برای موردی که دوست دارید لیست فراخوان و پرداخت های پاسخی آن را بازیابی کنید. این مورد باید یک URL معتبر باشد.

حداکثر طول می تواند ۱۰۲۴ کاراکتر باشد.

Yes

بلوک زیر مثالی از URL درخواستی نشان می‌دهد:

COPYhttps://btcapi.org/api/receive?method=check_logs&callback=http://example.com/callback?invoice_id=1234

پاسخ (موفقیت آمیز)

  • کد وضعیت HTTP: ۲۰۰
  • نوع محتوا: application/json

جدول زیر تمام ویژگی‌های بالقوه مورد JSON بازگشتی در بدنه پاسخ را لیست می‌کند:

ویژگی توضیح PRESENT
callback URL فراخوانی که شما لیست فراخوان ها و پرداخت های پاسخی آن را خواسته اید. Always
callbacks یک صف از موضوعات. هر کدام یک فراخوان و پرداخت متعاقب آن است. ویژگی این موارد خود توضیحی است. Always

کد زیر مثالی از بدنه پاسخ را نشان می‌دهد:

 

پاسخ (خطا)

  • کد وضعیت HTTP: ۵۰۰
  • نوع محتوا: text/plain

کد زیر مثالی از بدنه پاسخ در رویدادی از یک خطا را نشان می‌دهد:

COPYThe supplied callback URL has never been sent any callbacks/notifications.

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.