docs: public boolean handlePaymentData(int requestCode, int resultCode, @NonNull Intent data) {
          if (resultCode == Activity.RESULT_CANCELED) {
              fetchCustomer();
              return false;
          } else if (resultCode == Activity.RESULT_OK) {
              switch (requestCode) {
                  case PAYMENT_METHOD_REQUEST: {
                      fetchCustomer();
                      return true;
                  }
                  case PAYMENT_SHIPPING_DETAILS_REQUEST: {
                      final PaymentSessionData paymentSessionData = data.getParcelableExtra(
                              PAYMENT_SESSION_DATA_KEY);
                      paymentSessionData.updateIsPaymentReadyToCharge(mPaymentSessionConfig);
                      mPaymentSessionData = paymentSessionData;
                      if (mPaymentSessionListener != null) {
                          mPaymentSessionListener.onPaymentSessionDataChanged(paymentSessionData);
                      }
                      return true;
                  }
                  default: {
                      break;
                  }
              }
          }
          return false;
      }