Categories
USD
We are in Social
08 czerwca
2015
Artykuły Software Wiadomości
1970 Views

Jak zintegrować płatności Bitcoin w aplikacji mobilnej

Aplikacje mobilne oraz Bitcoin od zawsze były sobie bliskie. Płacenie tą wirtualną walutą za pomocą smartfonów jest proste oraz przyjemne. Powstają coraz to nowe portfele, gry i aplikacje które obsługują natychmiastowe płatności poprzez blockchain. W tym materiale przedstawię jak zintegrować jaką formę płatności w swojej aplikacji.

MAVEN

<dependency>
    <groupId>de.schildbach.wallet</groupId>
    <artifactId>integration-android</artifactId>
    <version>2.0</version>
</dependency>

GRANDLE

dependencies {
    compile 'de.schildbach.wallet:integration-android:2.0'
}

Licencja

Biblioteka Android oraz przykłady użyte w tym materiale są pod licencją Apache License Version 2.0.

Zapytanie o monety używając Bitcoin-URI (BIP21)

Przydatną będzie dokumentacja JavaDoc BitcoinIntegration.

class de.schildbach.wallet.integration.android.BitcoinIntegration
/**
 * Request specific amount of Bitcoins from user,
 * without feedback from the app.
 */
static void request(Context context, String address, long amount);
/**
 * Request specific amount of Bitcoins from user,
 * with feedback from the app.
 */
static void requestForResult(Activity activity, int requestCode,
                             String address, long amount);

Metody dla zapytań bez podawania kwoty są również możliwe.
Poniższa formuła wysyła bitcoiny do każde aplikacji która wyda zapytanie.

action = android.intent.action.VIEW
data = bitcoin:1PZmMahjbfsTy6DsaRyfStzoWTPppWwDnZ?amount=0.1

URI jest formatowane przy pomocy BIP21.

Niektóre aplikacje podają końcowy komunikat poprzez onActivityResult() jeśli użytkownik przeszedł przez cały proces przelewu środków. Te komendy będą pomocne:

resultCode = OK|CANCELED
extras[transaction_hash] = c8a9e036ecbbe75c...

Możesz użyć tej metody aby pobrać hash transakcji:

class de.schildbach.wallet.integration.android.BitcoinIntegration
/**
 * Get transaction hash from result intent.
 */
static String transactionHashFromResult(final Intent result);

Przykładowy kod używany przy wyniku:

protected void onActivityResult(int requestCode, int resultCode, Intent result)
{
    if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK)
    {
        String txHash = BitcoinIntegration.transactionHashFromResult(result);
        if (txHash != null)
        {
            // thank you!
            // (but: no guarantees)
        }
    }
    else if (resultCode == Activity.RESULT_CANCELED)
    {
        // cancelled
    }
    else
    {
        // something went wrong
    }
}

Otrzymywanie płatności przy użyciu wiadomości (BIP70

Możesz również wprowadzić płatności poprzez wiadomości do swojej aplikacji. W skrócie oznacza to pobranie płatności z serwera i przekazanie jej do aplikacji. Musisz sam zaprojektować wiadomość ProtoBuf. Zapytania o transfer mogą być przypisane do serwera który zapewni newat lepsze zabezpieczenia jak rozwiązania bazujące na BIP21.

/**
 * Request payment from user, without feedback from the app.
 */
static void request(Context context, byte[] paymentRequest);
/**
 * Request payment from user, with feedback from the app.
 */
static void requestForResult
(Activity activity, int requestCode, byte[] paymentRequest)

Apps will return a payment message in the result intent. Use this method to retrieve it:
Aplikacje mogą zawrócić wiadomość z przelewem. Użyj tej metody aby ją odzyskać:

/**
 * Get BIP70 payment message from result intent.
 */
static byte[] paymentFromResult(Intent result)

Jeśli prześlesz tę wiadomość na swój serwer, zostanie ona szybciej potwierdzona. Kolejny przykład kodu który możesz użyć:

protected void onActivityResult(int requestCode, int resultCode, Intent result)
{
    if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK)
    {
        byte[] paymentMessage = BitcoinIntegration.paymentFromResult(result);
        if (paymentMessage != null)
        {
            // thank you!
            // (but: no guarantees)
        }
    }
    else if (resultCode == Activity.RESULT_CANCELED)
    {
        // cancelled
    }
    else
    {
        // something went wrong
    }
}

Widomości są w formacie BIP70.


źródło:Andreas Schildbach Github


 

network-of-people-1000x520

Model Biznesowy Zdecentralizowanej Aplikacji




Leave a Reply







Najczęściej czytane

13 maja 2015
Artykuły, Software, Wiadomości
Czy kopanie Bitcoin jest wciąż opłacalne?
Kopanie Bitcoinów to proces w którym zostajemy nagradzani monetami w zamian za utrzymywanie komputerów służących do weryfikacji transakcji w sieci. Górnicy zarabiają na Bitcoin jeśli cena rynkowa będzie wyższa niż koszt wydobycia czyli koszt sprzętu oraz prądu ponieważ takie komputery pracują non stop.
05 kwietnia 2016
Artykuły, Software, Wiadomości
Wystartował OpenBazaar- zdecentralizowana platforma do handlu
12 maja 2015
Artykuły, Software, Wiadomości
Stacje benzynowe Lukoil przyjmują Bitcoin
Stacje benzynowe Lukoil na Litwie, Łotwie oraz Estonii akceptują Bitcoiny. Serwis SpectroCoin pośredniczy w przyjmowaniu tej waluty oraz jest odpowiedzialny za wszelkie techniczne kwestie.