Bitcoin - destul de o metodă de plată atractivă pentru antreprenori on-line, în principal datorită faptului că Comisia are cu această metodă este extrem de scăzută în comparație cu PayPal sau card de credit. În consecință, acest lucru vă permite să obțineți un profit mai mare și de a oferi servicii pentru clienții din întreaga lume, la prețuri accesibile. Mai mult decât atât, în mod oficial Bitcoins nu sunt impozitate, deoarece acestea nu constituie o formă de bani emise de guvern. De asemenea, printre avantajele „Bitcoin“, sistemul poate distinge lipsa necesității de a recurge la intermediari.
În acest articol, vom încerca să adăugăm bitcoins ca metodă de plată pe site. Pentru a accepta plățile, vom folosi API-ul de primire Blockchain.info V2, deoarece este simplu, sigur și poate fi implementat în mai puțin de 10 minute.
API-ul V2 al Blockchain.info
Cum se obține cheia API?
Figura 1. Formularul de cerere API de primire a plăților V2
Obținerea unei chei publice extinse
Figura 2. Obținerea cheii xPub
Mai jos, vom examina parametrii utilizați în adresa URL de mai sus:
RESPONSABIL: 200 OK, APLICARE / JSON
Următoarele exemple sunt implementate în PHP:
$ My_callback_url = 'INSERT URL apel invers AICI +/- care pot include parametrii de identificare a clientului, cum ar fi invoice_id = 058921123secret =?' $ Secret .;
$ parametri = 'xpub ='. $ my_xpub. 'callback =' .urlencode ($ my_callback_url). 'key ='. $ my_api_key;
$ response = file_get_contents ($ root_url. '?'. $ parametrii);
echo "Trimitere Plata către. “. $ object-> address;
Implementarea callback-ului Blockchain.info
Următoarea este un exemplu de cod de returnare PHP obținut ca urmare a unui script trimis anterior:
$ invoice_id = $ _GET ['factură_id']; // invoice_id este trimis înapoi la adresa URL de apel invers
$ valoare_in_btc = $ valoare_in_satoshi / 100000000;
/ / Comentează pentru a testa, necomentați când vii
dacă ($ _GET ['test'] == true)
// creați sau deschideți baza de date
$ database = SQLiteDatabase nouă ('db.sqlite', 0666, $ error);
// Adăugați factura la baza de date
$ Stmt = $ DB> pregăti ( "înlocui INTO invoice_payments (invoice_id, transaction_hash, valoare) valori ().");
$ stmt-> bind_param ("isd", $ invoice_id, $ transaction_hash, $ value_in_btc);
Răspundeți la apelul telefonic
Pentru a confirma că apelul a fost procesat cu succes, serverul dvs. trebuie să răspundă ok în format text, nu HTML. Dacă serverul dvs. returnează orice alt răspuns sau este inactiv, serverul blockchain.info va retrimite cererea la fiecare 10 minute timp de o săptămână. Domeniile care nu trimit nici un răspuns pot fi blocate complet de serviciu.
siguranță
Trebuie să adăugăm un parametru secret $ unic la adresa URL de apel invers. Acest parametru va fi verificat de codul de validare pentru a preveni situațiile în care utilizatorii necinstiți încearcă să marcheze contul plătit.
În plus față de bitcoins, puteți utiliza moneda locală. Pentru a face acest lucru, va trebui să utilizați API-ul de curs de schimb Blockchain.info.
În acest articol am analizat pe scurt una dintre modalitățile posibile de a adăuga plăți Bitcoin pe site-ul dvs., a învățat toate avantajele, dezavantajele și nuanțele utilizării acestui sistem. Acest lucru vă va ajuta să simplificați procesul de plată pentru serviciile sau produsele oferite pe site. Merită menționat faptul că am lucrat cu implementarea în PHP, dar acest lucru se poate face atât în Python, cât și în Ruby.