simple payment ui the blockchain platform sdk supports the simple payment ui with cryptocurrency. this simple payment ui feature is embedded in the sdk and doesn’t need any other information on ui components. it supports ethereum and tron. see each section for detailed information. ethereum it supports to send ethereum, erc20, and erc721. there are three options for the transaction fee: faster, normal, and slower. it's estimated value is based on the big data analysis of the proxy node of samsung. take note that it is not estimated in real time. eth deprecated: createethereumpaymentsheetactivityintent() without ethereumtransactiontype parameter api has been deprecated in 1.2.00. use createethereumpaymentsheetactivityintent(context, hardwarewallet, ethereumtransactiontype, ethereumaccount, string, biginteger, string, biginteger) instead. createethereumpaymentsheetactivityintent creates an intent instance for the ethereum payment sheet activity. optionally, you can use data and nonce parameters. if you want to get the txid for results, you should call startactivityforresult(intent intent, int requestcode) instead of the startactivity(intent intent). this api can be blocked with the availabilityexception by the sdk’s availability smart contract in case of critical issue or ethereum’s own problem. note : the unit of value is wei. note : sdk supports legacy and eip-1559 types of transaction. ethereumtransactiontype ethereumtransactiontype = ethereumtransactiontype.eip1559; intent intent = etherservice .createethereumpaymentsheetactivityintent( context, connectedwallet, ethereumtransactiontype, ethaccount, toaddress, ethereumutils.convertethtowei(bigdecimal.one), // value in wei null, null ); startactivityforresult(intent, 0); erc20 deprecated: createtokenpaymentsheetactivityintent() without ethereumtransactiontype parameter api has been deprecated in 1.2.00. use createtokenpaymentsheetactivityintent(context, hardwarewallet, ethereumtransactiontype, ethereumaccount, string, string, biginteger, biginteger) instead. createtokenpaymentsheetactivityintent creates an intent instance for the erc20 token payment sheet activity. optionally, you can use the data and nonce parameters. if you want to get the txid for results, you should call the startactivityforresult(intent intent, int requestcode) instead of the startactivity(intent intent). it does require the token’s contract address for payment. this api can be blocked with the availabilityexception by the sdk’s availability smart contract in case of critical issue or ethereum’s own problem. ethereumtransactiontype ethereumtransactiontype = ethereumtransactiontype.eip1559; intent intent = etherservice .createtokenpaymentsheetactivityintent( context, connectedwallet, ethereumtransactiontype, tokenaccount, toaddress, contractaddress, new biginteger("10000000000"), null, ); startactivityforresult(intent, 0); erc721 deprecated: createnftpaymentsheetactivityintent() without ethereumtransactiontype parameter api has been deprecated in 1.2.00. use createnftpaymentsheetactivityintent(context, hardwarewallet, ethereumtransactiontype, ethereumaccount, string, string, biginteger, biginteger) instead. there are two methods for erc721 (https://github.com/ethereum/eips/blob/master/eips/eip-721.md) specifying the safe/unsafe transfer feature. createnftpaymentsheetactivityintent and createsafenftpaymentsheetactivityintent creates an intent instance for the erc721 token payment sheet activity. optionally, you can use the data and nonce parameters. if you want to get the txid for result, you should call the startactivityforresult(intent intent, int requestcode) instead of the startactivity(intent intent). it requires the token’s contract address and tokenid for payment. this api can be blocked with the availabilityexception by sdk’s availability smart contract in case of critical issue or ethereum’s own problem. ethereumtransactiontype ethereumtransactiontype = ethereumtransactiontype.eip1559; intent intent = etherservice .createnftpaymentsheetactivityintent( context, connectedwallet, ethereumtransactiontype, tokenaccount, toaddress, contractaddress, new biginteger("18"), // token id null ); startactivityforresult(intent, 0); tron it supports to send trx, trc-10 and trc-20. trx createtronpaymentsheetactivityintent creates an intent instance for the tron payment sheet activity. if you want to get the txid for results, you should call startactivityforresult(intent intent, int requestcode) instead of the startactivity(intent intent). this api can be blocked with the availabilityexception by the sdk’s availability smart contract in case of critical issue or tron’s own problem. note : the unit of value is sun. intent intent = tronservice .createtronpaymentsheetactivityintent( context, connectedwallet, trxaccount, toaddress, tronutils.converttrxtosun(bigdecimal.one) ); startactivityforresult(intent, 0); trc10 createtrc10paymentsheetactivityintent creates an intent instance for the trc10 token payment sheet activity. if you want to get the txid for results, you should call the startactivityforresult(intent intent, int requestcode) instead of the startactivity(intent intent). it does require the token id for payment. this api can be blocked with the availabilityexception by the sdk’s availability smart contract in case of critical issue or tron’s own problem. intent intent = tronservice .createtrc10paymentsheetactivityintent( context, connectedwallet, trc10account, toaddress, "1002000", // token id new biginteger("1000") ); startactivityforresult(intent, 0); trc20 createtrc20paymentsheetactivityintent creates an intent instance for the trc20 token payment sheet activity. if you want to get the txid for results, you should call the startactivityforresult(intent intent, int requestcode) instead of the startactivity(intent intent). it does require the token’s contract address for payment. this api can be blocked with the availabilityexception by the sdk’s availability smart contract in case of critical issue or tron’s own problem. intent intent = tronservice .createtrc20paymentsheetactivityintent( context, connectedwallet, trc20account, toaddress, contractaddress, new biginteger("1000") ); startactivityforresult(intent, 0); result of payment after completing a payment, you can get the txid and coin type from onactivityresult(int requestcode, int resultcode, intent data). you can get the txid in the received intent parameter with the txid key. you can get the coin type in the received intent parameter with the cointype key. @override public void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); if (requestcode == 0) { switch (resultcode) { case activity.result_ok: log.d(tag, "txid : " + data.getstringextra("txid")); log.d(tag, "cointype: " + data.getstringextra("cointype")); break; case activity.result_canceled: log.d(tag, "user canceled"); break; } } }