import
android.os.Bundle;
import
android.text.TextUtils;
import
android.util.Log;
import
android.view.View;
import
android.widget.Button;
import
android.widget.EditText;
import
android.widget.TextView;
import
android.widget.Toast;
import
androidx.appcompat.app.AppCompatActivity;
import
com.shreyaspatil.EasyUpiPayment.EasyUpiPayment;
import
com.shreyaspatil.EasyUpiPayment.listener.PaymentStatusListener;
import
com.shreyaspatil.EasyUpiPayment.model.TransactionDetails;
import
java.text.SimpleDateFormat;
import
java.util.Calendar;
import
java.util.Date;
import
java.util.Locale;
public
class
MainActivity
extends
AppCompatActivity
implements
PaymentStatusListener {
private
EditText amountEdt, upiEdt, nameEdt, descEdt;
private
TextView transactionDetailsTV;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
amountEdt = findViewById(R.id.idEdtAmount);
upiEdt = findViewById(R.id.idEdtUpi);
nameEdt = findViewById(R.id.idEdtName);
descEdt = findViewById(R.id.idEdtDescription);
Button makePaymentBtn = findViewById(R.id.idBtnMakePayment);
transactionDetailsTV = findViewById(R.id.idTVTransactionDetails);
Date c = Calendar.getInstance().getTime();
SimpleDateFormat df =
new
SimpleDateFormat(
"ddMMyyyyHHmmss"
, Locale.getDefault());
String transcId = df.format(c);
makePaymentBtn.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
String amount = amountEdt.getText().toString();
String upi = upiEdt.getText().toString();
String name = nameEdt.getText().toString();
String desc = descEdt.getText().toString();
if
(TextUtils.isEmpty(amount) && TextUtils.isEmpty(upi) && TextUtils.isEmpty(name) && TextUtils.isEmpty(desc)) {
Toast.makeText(MainActivity.
this
,
"Please enter all the details.."
, Toast.LENGTH_SHORT).show();
}
else
{
makePayment(amount, upi, name, desc, transcId);
}
}
});
}
private
void
makePayment(String amount, String upi, String name, String desc, String transactionId) {
final
EasyUpiPayment easyUpiPayment =
new
EasyUpiPayment.Builder()
.with(
this
)
.setPayeeVpa(upi)
.setPayeeName(name)
.setTransactionId(transactionId)
.setTransactionRefId(transactionId)
.setDescription(desc)
.setAmount(amount)
.build();
easyUpiPayment.startPayment();
easyUpiPayment.setPaymentStatusListener(
this
);
}
@Override
public
void
onTransactionCompleted(TransactionDetails transactionDetails) {
String transcDetails = transactionDetails.getStatus().toString() +
"\n"
+
"Transaction ID : "
+ transactionDetails.getTransactionId();
transactionDetailsTV.setVisibility(View.VISIBLE);
transactionDetailsTV.setText(transcDetails);
}
@Override
public
void
onTransactionSuccess() {
Toast.makeText(
this
,
"Transaction successfully completed.."
, Toast.LENGTH_SHORT).show();
}
@Override
public
void
onTransactionSubmitted() {
Log.e(
"TAG"
,
"TRANSACTION SUBMIT"
);
}
@Override
public
void
onTransactionFailed() {
Toast.makeText(
this
,
"Failed to complete transaction"
, Toast.LENGTH_SHORT).show();
}
@Override
public
void
onTransactionCancelled() {
Toast.makeText(
this
,
"Transaction cancelled.."
, Toast.LENGTH_SHORT).show();
}
@Override
public
void
onAppNotFound() {
Toast.makeText(
this
,
"No app found for making transaction.."
, Toast.LENGTH_SHORT).show();
}
}