3. Code Integration
Invoke the payWithUPI() method for init payment.
String transactionId;
private OneUPIPayment easyUpiPayment;
@SuppressLint("NonConstantResourceId")
 private void payWithUpi() {
  transactionId = "TID" + System.currentTimeMillis();
  PaymentApp paymentApp = PaymentApp.ALL;
  // START PAYMENT INITIALIZATION
  OneUPIPayment.Builder builder = new OneUPIPayment.Builder(this)
    .with(paymentApp)
    .setPayeeVpa("oneupiexample@ybl")
    .setPayeeName("Elon Musk")
    .setTransactionId(transactionId)
    .setTransactionRefId(transactionId)
    .setPayeeMerchantCode("xxxxxxxx-5f41-xxxx-b9b0-xxxxxxxxx029")
    .setDescription("planName")
    .setAmount("1000.00");
  // END INITIALIZATION
  try {
   // Build instance
   easyUpiPayment = builder.build();
   // Register Listener for Events
   easyUpiPayment.setPaymentStatusListener(this);
   // Start payment / transaction
   easyUpiPayment.startPayment();
  } catch (Exception exception) {
   exception.printStackTrace();
   toast("Error: " + exception.getMessage());
  }
 }
 @Override
 public void onTransactionCompleted(TransactionDetails transactionDetails) {
  // Transaction Completed
  Log.d("TransactionDetails", transactionDetails.toString());
  switch (transactionDetails.getTransactionStatus()) {
   case SUCCESS:
    onTransactionSuccess();
    break;
   case FAILURE:
    onTransactionFailed();
    break;
   case SUBMITTED:
    onTransactionSubmitted();
    break;
  }
 }
 @Override
 public void onTransactionCancelled() {
  // Payment Cancelled by User
  toast("Cancelled by user");
 }
 private void onTransactionSuccess() {
  // Payment Success
  toast("Success");
  Log.d("UPI", "responseStr: " + transactionId);
//  new Transaction(SelectPlanActivity.this).purchasedItem(planId, transactionId, "UPI");
 }
 private void onTransactionSubmitted() {
  // Payment Pending
  toast("Pending | Submitted");
 }
 private void onTransactionFailed() {
  // Payment Failed
  toast("Failed");
 }
 private void toast(String message) {
  Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
 }And make the calling activity implements PaymentStatusListener
Last updated
