use of com.asf.appcoins.sdk.iab.entity.Transaction in project AppCoins-ethereumj by AppStoreFoundation.
the class TransactionFactory method fromEthGetTransactionReceipt.
public static Transaction fromEthGetTransactionReceipt(EthGetTransactionReceipt ethGetTransactionReceipt) {
TransactionReceipt transactionReceipt = ethGetTransactionReceipt.getTransactionReceipt();
String hash = transactionReceipt.getTransactionHash();
String from = transactionReceipt.getFrom();
Log log = transactionReceipt.getLogs().get(0);
String to = log.getAddress();
String value = extractValueFromEthGetTransactionReceipt(log.getData());
Status status = parseStatus(transactionReceipt.getStatus());
String contractAddress = ethGetTransactionReceipt.getTransactionReceipt().getTo();
return new Transaction(hash, from, to, value, status);
}
use of com.asf.appcoins.sdk.iab.entity.Transaction in project AppCoins-ethereumj by AppStoreFoundation.
the class PaymentService method buy.
public void buy(String skuId, Activity activity, int defaultRequestCode) {
SKU sku = skuManager.getSku(skuId);
BigDecimal amount = skuManager.getSkuAmount(skuId);
BigDecimal total = amount.multiply(BigDecimal.TEN.pow(DECIMALS));
Intent intent = buildPaymentIntent(sku, total);
currentPayment = new PaymentDetails(PaymentStatus.FAIL, skuId, new Transaction(null, null, developerAddress, total.toString(), Status.PENDING));
if (AndroidUtils.hasHandlerAvailable(intent, activity)) {
if (payments.containsKey(skuId)) {
throw new IllegalArgumentException("Pending buy action with the same sku found! Did you forget to consume the former?");
} else {
payments.put(skuId, currentPayment);
activity.startActivityForResult(intent, defaultRequestCode);
}
} else {
Disposable subscribe = showWalletInstallDialog(activity).filter(aBoolean -> aBoolean).doOnSuccess(gotoStore(activity)).subscribe(aBoolean -> {
}, Throwable::printStackTrace);
}
}
Aggregations